Professional Documents
Culture Documents
Objectif du TP
Il vous est demandé de mettre en place quelques classes pour vous remettre en tête les
grands principes de la programmation orientée objet : messages et collaboration entre
objets, attributs et méthodes, constructeurs, héritage, etc. Pour cela, vous manipulerez des
tortues, que vous ferez jouer au ballon.
Environnement
Vous pouvez choisir n'importe quel environnement de développement logiciel Java. Les
plus simples sont des éditeurs de code avec coloriage, les plus complexes permettent de
gérer tout un projet, de compiler, de débugger, etc. (par exemple Eclipse ou Netbeans).
Travail demandé
On vous fournit un package logo, qui contient trois classes. Ce code est repris de Jacques
Ferber.
Récupération du code
Compréhension du code
De nouvelles tortues
• de connaître son nom et de pouvoir l'écrire dans la console (on devra pouvoir
créer une tortue en lui donnant son nom, si on ne le fait pas, elle aura un nom par
défaut, par exemple "Toto1", "Toto2", "Toto3", etc. : utiliser un attribut de classe)
;
• de pouvoir connaître d'autres tortues (elle contiendra une liste d'autres tortues).
Les méthodes associées devront permettre d'ajouter et d'enlever une tortue à la
liste des tortues connues par la tortue appelée ;
• de pouvoir donner la distance à laquelle elle se trouve d'une autre tortue (l'appel
se fera en donnant une référence de tortue). Rappel : la distance entre T1 située en
(x1,y1) et T2 située en (x2,y2) est d = racinecarree( (x2-x1)^2 + (y2-y1)^2),
d'après le théorème de Pythagore que vous connaissez depuis le collège ;
• de tester après chaque déplacement si elle se trouve près d'une tortue qu'elle
connaît (par exemple moins de 15 pixels), et de la saluer par son nom, puis de lui
demander de se déplacer (par exemple avancer un peu).
Modifiez le programme principal pour tester cette nouvelle classe. Mettez en place une
méthode qui permet ce test (qui crée plusieurs tortues, les attache à la feuille de dessin,
les fait se connaître les unes les autres, en gère les déplacements, etc.). Utiliser un bouton
proc_i pour lancer le test (la tortue courante sera toujours là, mais ne sera pas utilisée).
Créer une classe JeuDeBalle, qui gère une partie de balle : plusieurs Tortues sont créées,
dont une balle. Une tortue joueuse commence avec la balle. Puis toutes les tortues se
déplacent au hasard. Celle qui a la balle la déplace en même temps qu'elle. Si elle se
trouve proche d'une autre tortue, elle lui passe la balle.
Testez.
Deux équipes
Créez deux sous-classes de TortueAmelioree, qui correspondent aux joueurs de deux
équipes. Le jeu peut être une simple "passe à dix" (faire 10 passes au sein d'une équipe
sans se faire prendre la balle). Donnez un comportement à chaque type de tortue
(déplacement sans la balle, déplacement avec la balle, passe à une autre tortue de la
même équipe assez proche, prise de la balle à une tortue adverse assez proche). Créez une
classe JeuEquipe, qui crée les équipes et gère le jeu, testez.
Remarques
Profitez de ce travail pour conforter ou améliorer votre niveau en JAVA : c'est l'occasion
d'apprendre à réaliser des interfaces graphiques, d'utiliser des threads, etc.
Rendu du travail
Il est obligatoire d'aller voir et de suivre les instructions générales pour le rendu de TP.
Application
Une application java qui permet de lancer le test des tortues améliorées (bouton Proc_1),
le test des tortues qui se passent la balle (bouton Proc_2), le jeu à deux équipes (bouton
Proc_3).
Rapport
Archive
Vous enverrez à yannick.prie (a) liris.cnrs.fr une archive (zip uniquement) contenant.
• l'exécutable
• les sources du projet (fichiers Java)
• la documentation javadoc de vos classes
• le rapport en PDF
Barême