M2202 - TP Séance 6

Durée : 2h00

Objectifs




Au menu

  1. Consignes
  2. Création de la classe principale
  3. Ajout de méthodes dans la classe Joueur




A. Consignes (5 min) 0%

L'objectif de ce TP est de programmer le jeu de Monopoly commencé en TD. Nous allons d'abord commencer par créer la classe principale, puis ajouter des méthodes dans la classe Joueur pour gérer l'achat des terrains.


B. Création de la classe principale (90 min) 4%

B1Téléchargez et enregistrez dans un dossier approprié les classes CaseMonopoly.java et Joueur.java.

B2Créez une classe Monopoly avec une fonction main qui demande à l’utilisateur le nombre de joueurs et joueuses, puis leur nom, crée l’objet correspondant à chaque joueur, et stocke tous ces objets dans un tableau joueurs.

B3Créez dans la fonction main une variable joueurActuel, initialisée à 0, qui stockera le numéro de case du tableau correspondant à la personne en train de jouer, une variable nbTours, initialisée à 0, qui stockera le nombre total de tours du jeu et une variable aFaitUnDouble, initialisée à false, qui indiquera si la dernière personne qui a lancé les dés a fait un double (et doit donc rejouer).

B4 Créez dans la fonction main une boucle telle que chaque passage dans la boucle correspond à un tour de jeu (c'est-à-dire un lancer de dé). La boucle s’arrêtera donc quand le tableau joueurs n’a plus qu’une seule case.

Au début de cette boucle, B5 ajoutez le code nécessaire pour que la personne qui doit jouer lance les dés, et pour déplacer son pion sur le tableau du jeu.

À la fin de la boucle de la fonction main, B6 ajoutez le code nécessaire pour mettre à jour (éventuellement) la variable joueurActuel.

Dans la boucle de la fonction main, B7ajoutez le code permettant de demander à la dernière personne qui a lancé les dés si elle souhaite acheter des maisons sur ses terrains.

Avant la boucle de la fonction main, B8créez un tableau d'entiers proprietaires, de 40 cases, qui stockera pour chaque case le numéro de son ou sa propriétaire, qui contiendra initialement -1 dans toutes ses cases.




C. Ajout de méthodes dans la classe Joueur (15 min) 79%

Dans la classe Joueur, C1ajoutez une méthode acheteTerrain qui prend en entrée le tableau proprietaires évoqué à la question B8, un tableau plateau qui contient toutes les cases du Monopoly, demande au joueur ou à la joueuse si elle souhaite acheter le terrain, et effectue la transaction (en mettant à jour notamment le tableau proprietaires) si elle a suffisamment d'argent pour cela.