Outils pour utilisateurs

Outils du site


java:tpr:demineur

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
java:tpr:demineur [2018/03/16 14:29] – créée brunojava:tpr:demineur [2023/03/05 22:17] (Version actuelle) – [Objectif] bruno
Ligne 6: Ligne 6:
  
 Il s'agit d'ajouter les fonctionnalités suivantes au code donné: Il s'agit d'ajouter les fonctionnalités suivantes au code donné:
-  - affichage d'un plateau de jeu par joueur au lieu d'un seul plateau partagé;+  - <del>corrections du code</del>: :!:déjà réalisé dans les sources données 
 +  -ajout de vie pour chaque joueur;
   - création d'une classe DemineVert qui démine la colonne   - création d'une classe DemineVert qui démine la colonne
-  - déminer UNIQUEMENT le plateau du joueur qui vient de jouer une case Demine, pas celui des autres joueurs (la case affichée pour les autres joueurs sera une case de type Info).+  - 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). Les sources du programme de base sont données (inutile de  les coder).
-==== Récupération des sources ====+=== Récupération des sources ===
   - téléchargez les sources, sujet du DS et correction du {{ :java:tpr:correction.tar.gz |programme demineur}}   - téléchargez les sources, sujet du DS et correction du {{ :java:tpr:correction.tar.gz |programme demineur}}
   - créez un projet sous Eclipse   - créez un projet sous Eclipse
   - exécutez le programme et étudiez son fonctionnement   - exécutez le programme et étudiez son fonctionnement
  
 +=== <del>Correction du code</del> ===
 +<del>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.</del>
 +
 +:!:Il y avait une inversion entre nombre de colonne et nombre de lignes dans le code. Le code donné corrige déjà le problème.
 +
 +=== 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é
 +
 +<spoiler|Algorithme pour processAction dans DemineVert>
 +  * récupérer le numéro de colonne 
 +  * itérer sur chaque ligne de la liste de cases (avec un itérateur si vous le souhaitez)
 +    * chaque élément correspond à une autre arraylist qui représente une ligne du plateau
 +    * accéder au c-ième élément de cette liste (colonne) et procéder aux mêmes type de test que pour DemineHor
 +</spoiler>
 +
 +=== 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.
 +
 +==== Autres sujets à traiter pour le rattrapage ====
 +  - [[java:horloge|l'horloge]]
 +  - [[java:moutons|les moutons]]
 +  - [[java:abstract|le mot-clef abstract]]
java/tpr/demineur.1521210581.txt.gz · Dernière modification : 2018/03/16 14:29 de bruno