You are on page 1of 3

ISET Djerba Année universitaire 2022-2023

TP 7
« L’Abeille et le Jardin » est un jeu constitué par un jardin, une abeille, des fleurs et des
cactus. Le principe du jeu est le suivant :
Le joueur déplace l’abeille dans le jardin, si elle touche une fleur, il marque des points qui
sont ajoutés à la santé de l’abeille. Si elle touche un cactus, on retranche des points de la santé
de l’abeille. Le jeu se termine si l’abeille est morte ou si toutes les fleurs du jardin sont
visitées.
Le plateau de jeu (le jardin) est représenté par une grille rectangulaire sur laquelle on peut
poser des fleurs, ou des cactus. Une plante (fleur ou cactus) peut être posée horizontalement
ou verticalement sur le plateau.
Le plateau est masqué au joueur qui déplace l’abeille pour essayer de toucher les fleurs du
plateau et éviter les cactus. Pour cela il propose une position du plateau. Si cette position n’est
pas occupée par une plante rien ne se passe, si elle est occupée par une fleur on marque un
bonus et si elle est occupée par un cactus on retranche des points.
I. La classe Abeille
Une abeille est un objet qui possède une vie et capable de se déplacer sur une grille.

- x et y sont les coordonnées de l’abeille.

L2 TI / Atelier de programmation objet 1


ISET Djerba Année universitaire 2022-2023

- vie est un entier qui représente l’état de santé de l’abeille. Le constructeur sans
paramètres initialise l’abeille au point (0,0) et une vie = 3.
- est_touchee() permet de modifier (ajouter ou diminuer) la santé de l’abeille si elle
touche une plante :
o en retranchant une valeur i de vie s’il s’agit d’un cactus,
o en ajoutant une valeur i de vie s’il s’agit d’une fleur.
- est_morte() permet de tester si l’abeille est encore en vie. L’abeille est morte si sa vie
est égale à 0.
- affiche() permet d’afficher la position et la vie de l’abeille.
II. Les classes Plante, Cactus et Fleur
Les plantes sont de deux types : des fleurs ou des cactus
Soit le diagramme de classe suivant :

- La méthode getValeur() des classes cactus et fleur permet de retourner une valeur à
ajouter ou bien à retrancher à la santé d’une abeille :

L2 TI / Atelier de programmation objet 2


ISET Djerba Année universitaire 2022-2023

o Si l’abeille touche une fleur, (taille + bonus) est ajouté à la santé (vie) de
l’abeille.
o Si l’abeille touche un cactus, (taille * penalite) est retranché de la santé (vie) de
l’abeille.
III. La classe Cellule
Une cellule peut être vide ou occupée par une plante.

- visitee a la propriété true si cette cellule a été visitée par l’abeille.


- La méthode Affiche affiche l’état de la cellule comme suit :
o le caractère affiché est ‘?’ si la cellule n’a jamais été visitée,
o ‘.’ pour une case vide,
o ‘c’ pour une case occupée par un cactus
o ‘f’ pour une cellule occupée par une fleur.
IV. La classe Plateau (Jardin)
On décide de représenter le plateau du jeu par un tableau de deux dimensions de cellules. On
considère que la cellule de coordonnée (0,0) est la cellule en haut à gauche du plateau.

- est_fini() est une méthode qui permet de tester si le jeu est fini( toutes les cellules sont
visitées)

L2 TI / Atelier de programmation objet 3

You might also like