Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2605 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Java : problème de radar sur robocode

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Java : problème de radar sur robocode

n°1981246
Treketen
Posté le 06-04-2010 à 14:57:58  profilanswer
 

Bonjour,  
 
J'ai fait une recherche concernant robocode et le dernier sujet datant de 2003, je me permets d'en créer un nouveau. Je ne sais pas si beaucoup de membres de ce forum utilisent ce logiciel, j'espère que quelqu'un pourra m'apporter son aide.
En fait, je participe à un concours d'initiation java et le principe est de réaliser un robot sur robocode et de le faire combattre.
 
L'idée principale serait de faire longer  les murs du terrain à mon robot en attendant de scanner un adversaire, et à partir de ce moment là lui foncer dessus et tirer des projectiles puissants.  
Mon problème, c'est que mon robot a beau passer à 1 cm du robot adverse il ne le scanne jamais, ou en tout cas ne l'attaque jamais.    
Donc voilà, si quelqu'un pouvait jeter un coup d'oeil à mon code : (il n'est pas terminé évidemment)  
 
package irobot;  
import robocode.*;  
//import java.awt.Color;  
 
 
public class I_Robot_3 extends Robot  
{  
   
 public void run() {  
      ahead(1000); // Le robot avance de 1000, la distance 1000 a été choisie de façon à être sur qu'il avance jusqu'à un mur  
     
 }  
    public void onHitWall (HitWallEvent e) {  
        turnRadarLeft (90);   // Le radar pointe toujours vers l'intérieur du terrain  
        while(true) {   // Lorsque le robot touche un mur, on déclenche une boucle  
        double moveAmount = Math.max(getBattleFieldWidth(), getBattleFieldHeight());  
        ahead(moveAmount);   // Le robot se déplace sur la longueur et la largeur du terrain  
        turnLeft(getHeading() % 90);   // Le robot se déplace en longeant les murs  
        turnLeft(90);   // Le robot tourne dans les coins et ne reste pas coincé  
        // En lançant une bataille, on observe que le robot rejoint un mur et puis se déplace en longeant les côtés, ce qui est l'objet de ce code  
             
           
           
}  
    }  
     
 
  public void onScannedRobot(ScannedRobotEvent e) {  
       double directionAttaquant=e.getBearing();  
       double distanceAttaquant=e.getDistance();  
   
 
 if(distanceAttaquant<100){  
 turnLeft(directionAttaquant);  
 turnGunLeft(directionAttaquant);  
 ahead(1000);  
}  
 else{  
 doNothing();  
}  
   
}    
 
 public void onHitByBullet(HitByBulletEvent e) {  
  turnLeft(90 - e.getBearing());  
 }  
   
}  
   
 
L'effet attendu serait, comme expliqué plus haut, que lorsque mon robot scan un adversaire, il se tourne vers lui et lui fonce dessus. Dans la réalité, il continue à tourner autour du terrain même en passant tout près d'un robot.
Je pense que le problème vient de la boucle, mais je ne sais pas comment résoudre ça sans modifier le comportement de mon robot.
Voilà, en espérant que quelqu'un puisse m'aider, merci d'avance.

mood
Publicité
Posté le 06-04-2010 à 14:57:58  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Java : problème de radar sur robocode

 

Sujets relatifs
Postgresl, probleme de jointureProblème lors du passage de PHP4 à PHP5
[RESOLU][SQL/ACCESS] Problème jointureMéga problème de la mort avec XSLT
java et rs232Probleme avec getDefinitionByName
parser une ligne de commande : problème avec noms génériques de ficsproblème SGBD avec win'design
Quel conteneur pour mon problème ?probleme d'assignation de valeur avec un tableau dans une classe
Plus de sujets relatifs à : Java : problème de radar sur robocode


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR