T´el´echargez ensuite le fichier PlateauRobot2.class et ex´ecutez-le pour tester vos robots. A
chaque fois qu’on appuie sur le bouton cr´eation, un robot est cr´ee avec les arguments sp´ecifi´es.
Vous remarquerez ainsi qu’on peut avoir diff´erents robots de type Robot2, chacun ayant ses propres
attributs et m´ethodes.
Question 1.3: Num´erotation des robots
Java permet de d´efinir au sein d’une classe des variables ou des m´ethodes dites de classe. Ce
sont des ´el´ements qui caract´erisent non pas un objet particulier de la classe, mais l’int´egralit´e de la
classe. Par exemple, si on d´esire compter le nombre de robot de la classe Robot2, on peut utiliser
une variable nb robot. Cette variable ne caract´erise aucun robot en particulier, mais la classe toute
enti`ere, on la d´eclarera donc variable de classe. Pour cela, ajoutez le mot cl´e static devant sa
d´eclaration. On pourrait de mˆeme d´efinir des m´ethodes de classes qui permettent de manipuler la
classe Robot2 (et non pas un robot particulier).
Par ailleurs, on peut initialiser une variable de classe d`es sa d´eclaration. Ainsi, le morceau de
code suivant cr´ee la variable de classe nb robot et l’initialise `a 0. Cette variable est ici inaccessible
de l’ext´erieure (d´eclar´ee private).
private static nb_robot = 2;
On voudrait maintenant utiliser comme ´etiquette non pas la premi`ere lettre du nom du robot
mais son num´ero (le premier robot cr´ee aura le num´ero 1, le deuxi`eme, le num´ero 2, etc...). Cr´eez
la variable de classe nb robot et utilisez-la pour r´esoudre ce probl`eme. Testez.
(note : pour transformer un entier en string, on peut l’ajouter `a la chaˆıne vide, ainsi (”” + 5)
fournit la chaˆıne "5")
Exercice 2: Jeu de balle
On d´esire r´ealiser un petit programme qui utilisera des objets de type Balle. Les balles que nous
utiliserons se d´eplacerons sur une fenˆetre en rebondissant sur les bords. T´el´echargez les fichiers
PlateauBalle.class et Balle.class puis ex´ecutez PlateauBalle.class pour voir ce qu’il en
est.
Une balle est caract´eris´ee par sa position, sa vitesse et sa couleur. Ses attributs sont donc :
•x et y : sa position dans l’axe des x et des y (de 0 `a 300 ), de type int
•vitesse x et vitesse y : sa vitesse dans l’axe des x et des y (`a chaque mouvement, les coor-
donn´ees sont incr´ement´ees par la vitesse)
•couleur : sa couleur (de type Color, vous aurez besoin d’ajouter import java.awt.*; au
d´ebut de votre fichier).
Deux m´ethodes permettent de manipuler la balle : son constructeur et une m´ethode bouger()
qui est appel´ee lorsqu’on d´esire faire bouger la balle. La constructeur doit ici ˆetre un constructeur
`a trois param`etres : la position (x et y) et sa couleur. Par exemple, le code suivant cr´ee une balle
bleue aux coordonn´ees (20,10) :
Balle baballe = new Balle(20, 10, Color.Blue);
Le plateau de jeu (classe PlateauBalle) cr´ee une balle aux coordonn´ees correspondante au
dernier clic de souris et avec une couleur al´eatoire, et pour chaque balle cr´ee, ex´ecute sa m´ethode
bouger() r´eguli`erement.
Question 2.1: Balle simple
Concevez l’objet Balle et testez le.
Question 2.2: Balle magique
T´el´echargez le fichier BalleMagique.class, renommez le en Balle.class et executez PlateauBalle.
Modifier votre fichier Balle.java pour qu’il ait ce comportement.
2