Difference between revisions of "User:Gsd06/Mon Premier Robot"

From Robowiki
Jump to navigation Jump to search
 
Line 20: Line 20:
 
La première étape consiste à ouvrir 'Robot Editor'. A partir de la fenêtre principale cliquez sur le menu '''Robot''', puis sélectionnez '''Editor'''.
 
La première étape consiste à ouvrir 'Robot Editor'. A partir de la fenêtre principale cliquez sur le menu '''Robot''', puis sélectionnez '''Editor'''.
  
When the editor window comes up, click on the '''File''' menu, then select '''New Robot'''.
+
Une fois que la fenêtre d'édition apparait, cliquez sur le menu '''File''', puis sélectionnez '''New Robot'''.
  
In the dialogs that follow, type in a name for your robot, and enter your initials.
+
Dans la boite de dialogue qui suit, tapez un nom pour votre robot, puis entrez vos initiales.
  
Voila! You now see the code for your own robot.
+
Voila! Vous voyez maintenant le code de votre propre robot.
  
== A New Robot ==
+
== Un Nouveau Robot ==
This is what you should be looking at (names have been changed to protect the innocent):
+
Ceci devrait être ce que vous voyez (les noms ont été modifiés afin de protéger des innocents ):
  
 
   package man;
 
   package man;
Line 47: Line 47:
 
   }
 
   }
  
We're only concerned with the bits in '''<span style="color:green">bold</span>''' here... you won't need to change anything else. Not that much, right?
+
Nous sommes uniquement concernés par les parties en '''<span style="color:green">bold</span>''' ... vous n'aurez pas à changer quoi que ce soit d'autres. Pas grand chose, non ?
  
By the way, if you're REALLY concerned about the rest of it, right now, I describe it here:
+
En fait, vous êtes VRAIMENT concerné par le reste, dès maintenant, que je vous décris ici :
  
 
   package man;
 
   package man;
Line 61: Line 61:
 
{| border="1" style="text-align:left"
 
{| border="1" style="text-align:left"
 
! import robocode.*;
 
! import robocode.*;
| Tells Java that you're going to use Robocode objects in your robot.
+
| Indique à Java that you're going to use Robocode objects in your robot.
 
|-
 
|-
 
! public class MyFirstRobot extends Robot
 
! public class MyFirstRobot extends Robot
| Tells Java: "The object I'm describing here is a type of [[Robot]], named MyFirstRobot".
+
| Indique à  Java: "The object I'm describing here is a type of [[Robot]], named MyFirstRobot".
 
|-
 
|-
 
! public void run() { }
 
! public void run() { }

Latest revision as of 21:20, 23 December 2010

Ceci est le classique Tutoriel Mon 1er Robot qui décrit comment créer votre 1er robot.

Créer un Robot

Là est la source d'amusement : voici en quoi Robocode consiste !

Créer un robot est simple. Le rendre vainqueur l'est moins. Vous pouvez dépenser quelques minutes pour le créer, ou des mois et des mois. Je dois vous prévenir qu'élaborer un robot peut devenir une addiction ! Une fois que vous y êtes, vous voudrez suivre l'évolution de votre création à travers des douleurs grandissantes (as it goes through growing pains), faire des erreurs et louper des tirs essentiels. Mais au fur et à mesure que vous apprendrez, vous deviendrez capable d'apprendre à votre robot comment agir, quoi faire, où aller, quoi éviter, où tirer. Doit il se cacher ou sauter dans la bataille ? Picture of the robot named MatBot, which is one Mathew Nelson's robots

Mon Premier Robot

Prêt à créer votre 1er robot ? J'espère que vous allez trouver comme c'est facile, (straightforward), amusant et addictif !

Robocode contient quelques robots types que vous pouvez observer afin d'en tirer des idées, et comprendre comment çà fonctionne. Vous pouvez utiliser 'Robot Editor' pour tous les analyser.

Dans cette section, nous allons utiliser 'Robot Editor' afin de créer votre tout nouveau robot.

The Robot Editor

La première étape consiste à ouvrir 'Robot Editor'. A partir de la fenêtre principale cliquez sur le menu Robot, puis sélectionnez Editor.

Une fois que la fenêtre d'édition apparait, cliquez sur le menu File, puis sélectionnez New Robot.

Dans la boite de dialogue qui suit, tapez un nom pour votre robot, puis entrez vos initiales.

Voila! Vous voyez maintenant le code de votre propre robot.

Un Nouveau Robot

Ceci devrait être ce que vous voyez (les noms ont été modifiés afin de protéger des innocents ):

 package man;
 import robocode.*;
  
 public class MyFirstRobot extends Robot {
     public void run() {
         while (true) {
             ahead(100);
             turnGunRight(360);
             back(100);
             turnGunRight(360);
         }
     }
  
     public void onScannedRobot(ScannedRobotEvent e) {
         fire(1);
     }
 }

Nous sommes uniquement concernés par les parties en bold ... vous n'aurez pas à changer quoi que ce soit d'autres. Pas grand chose, non ?

En fait, vous êtes VRAIMENT concerné par le reste, dès maintenant, que je vous décris ici :

 package man;
 import robocode.*;
  
 public class MyFirstRobot extends Robot {
     public void run() {
     }
 }
import robocode.*; Indique à Java that you're going to use Robocode objects in your robot.
public class MyFirstRobot extends Robot Indique à Java: "The object I'm describing here is a type of Robot, named MyFirstRobot".
public void run() { } The game calls your run() method when the battle begins.
{ } "Curly brackets" ( { } ) group things together. In this case, they're grouping together all the code for the robot.


Let's move somewhere

Let's add a couple lines so that it will do something.

First, we'll examine the run() method:

 while (true) {
     ahead(100);
     turnGunRight(360);
     back(100);
     turnGunRight(360);
 }

while(true) { } means: "While the condition true is true, do everything between the curly brackets { }".

Since true is always true (no kidding? ;-), it means: "Do the stuff inside my curly brackets, forever".

So this robot will:

  1. move ahead 100 pixels
  2. turn the gun right by 360 degrees
  3. move back 100 pixels
  4. turn the gun left/back by 360 degrees

The robot will continue doing this over and over and over, until it dies, due to the while(true) statement.

Not so bad, right?

Fire at Will!

When our radar scans a robot, we want to fire:

 public void onScannedRobot(ScannedRobotEvent e) {
     fire(1);
 }

The game calls your onScannedRobot method whenever you can see another robot. It sends along an event that can tell us lots of information about the robot -- its name, how much life it has, where it is, where it's heading, how fast it's going, etc.

However, since this is a simple robot, we're not going to look at any of that stuff. Let's just fire!

Compile your robot

First, save your robot by selecting the Save in the File menu. Follow the prompts to save your robot.

Now, compile it by selecting Compile in the Compiler menu.

If your robot compiles without any errors, you can start a new battle with your robot. Start a new battle by selecting New in the Battle menu. If you cannot see your robot, you might have to refresh the list of robots by pressing F5. Add your robot to the battle together with at least one other robot as e.g. sample.Target, and press the Start Battle button to let the games begin!

What's next?

You should have a look at all the sample robots to see how certain things are done.

You'll eventually want to look at the Robocode API to see all the other things your robot can do.

Above all, good luck, have fun, and enjoy!