Remise en route objet / JAVA
3 février 2005

Objectif du TP

Fabriquer quelques classes pour se remettre en tête les grands principes de l'objet : messages et collaboration entre objets, attributs et méthodes, constructeurs, héritage, etc. Pour cela, on manipulera des tortues.

Environnement

L'outil de développement logiciel utilisé est Netbeans (http://www.netbeans.org/). Celui-ci permet de gérer tout son code dans un projet, de compiler, de débugger, etc.

Travail demandé

On vous fournit un package logo, qui contient trois fichiers. Ce code est repris de Jacques Ferber.

Les classes définies sont les suivantes

Récupération du code

Récupérez les sources, et décompactez-le dans un dossier sur votre compte.

Compréhension du code

Créez un nouveau projet dans Netbeans, lié aux sources que vous venez de récupérer. Allez explorer le code, vérifiez que vous en comprenez le fonctionnement. Compiler et lancer le programme principal de SimpleLogo. Testez

Amélioration des tortues

Ajoutez quelques méthodes aux tortues, permettant de réaliser d'autres figures géométriques de base, qui pourront être appelées par les boutons proc_i :

De nouvelles tortues

Créez une sous-classe de Tortue, appellée TortueAmelioree, qui a pour caractéristiques

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).

Des tortues qui se passent une balle

Créez une sous-classe de Tortue appelée TortueBalle. Celle-ci a pour caractéristique de se dessiner comme un disque.

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. Donnez un comportement à chaque type de tortue (que faire avec la balle, quand la passer à une autre tortue de la même équipe, comment la prendre à une tortue adverse, etc.). Créez une classe JeuEquipe, qui crée les équipes et gère le jeu, testez.