M2202 - TP Séance 6
Durée : 2h00
Objectifs
- Utiliser des objets Java
- Pratiquer de nouveau l'écriture de boucles et l'utilisation de tableaux
- Programmer un jeu de Monopoly
Au menu
- Consignes
- Création de la classe principale
- Ajout de méthodes dans la classe Joueur
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.
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.
Joueur",15);?>
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.