Remise en route objet / JAVA
6 septembre 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 21 septembre .

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

Rendu du travail

Il est obligatoire d'aller voir 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 

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 uniquement) contenant : 

N'oubliez pas de demander un accusé réception.

Barême