Remise en route objet / JAVA
31 janvier 2006

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.

Le TP est à rendre pour le 14 février.

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 NetBeans, Eclipse, 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

Explorez le code source, vérifiez que vous en comprenez le fonctionnement. Compilez et lancez le programme principal de SimpleLogo. Testez en le bon fonctionnement.

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.

Rendu du travail

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 

Un rapport de quelques pages présentant les différentes classes du projet (diagramme de classes) ainsi que les différents choix qui ont été faits.

Archive

Vous enverrez à yannick.prie (a) liris.cnrs.fr une archive (zip) contenant : 

Vous devez demander un accusé réception de votre courrier électronique. Si vous n'avez rien reçu au bout de quelques jours, renvoyez un courrier.