Ceci est une ancienne révision du document !
Table des matières
TP de rattrapage 2017-2018, 4ETI
Le démineur
Objectif
L'objectif du TP est d'améliorer le code d'un jeu multijoueurs ressemblant au démineur.
Il s'agit d'ajouter les fonctionnalités suivantes au code donné:
- corrections du code
- ajout de vie pour chaque joueur;
- création d'une classe DemineVert qui démine la colonne
- création d'une case de type “AjoutVie” qui se comporte comme Info, mais est dessinée en orange et ajoute une vie au joueur qui l'a jouée.
Les sources du programme de base sont données (inutile de les coder).
Récupération des sources
- téléchargez les sources, sujet du DS et correction du programme demineur
- créez un projet sous Eclipse
- exécutez le programme et étudiez son fonctionnement
Correction du code
Il y a des erreurs dans le code concernant la représentation en ligne et colonne: que se passe-t-il si vous demandez la création d'un jeu avec un plateau de 3 lignes et deux colonnes?
Pourquoi y a-t-il ce problème?
Corrigez-le.
Ajout de DemineVert
- Passez la classe Demine en classe abstraite
- Créez une classe DemineVert et une classe Demine Hor
- Modifiez les méthodes processAction uniquement dans DemineVert et DemineHor
- Affichage: modifiez les méthodes d'affichage via toString: afficher un “V” pour DemineVert et un “H” pour DemineHor
- pensez à mettre à jour la Map de probabilité
Case AjoutVie
Prenez en compte cette fonctionnalité.
Cela signifie qu'un joueur qui joue une case AjoutVie ne perdra pas si il joue une mine par la suite.
Il va donc falloir d'une part ajouter le type de Case, d'autre part modifier le comportement de Mine.
Le plus simple est de disposer d'un tableau de joueur qui contient le nombre de vie d'un joueur. Si ce nombre arrive à 0, le joueur a perdu.