/takenoko

Projet Master 1 Informatique

Primary LanguageJavaApache License 2.0Apache-2.0

Projet takenoko

Build Status Quality Gate Status Maintainability Rating Coverage

Master 1 Informatique - Université Nice Sophia Antipolis

L'équipe

Le projet consiste à réaliser en Java une version numérique du jeu takenoko créé par Antoine Bauza. Version textuel n'étant pas destinée à être jouée par des êtres humains mais par des robots jouants de façon autonome.

Lancer une partie

git clone https://github.com/Mahe-Thomas/takenoko.git
cd ./takenoko && mvn exec:java@release

Plan de route

  • Version 1 : un robot pioche et place les parcelles aléatoirement sur le plateau jusqu’à épuisement de la pioche.

  • Version 2 : Le placement des tuiles est encadré par les règles takenoko (adjacences). Ajout d'une stratégie aux robots leurs permettant de placer une parcelle en maximisant son nombre de parcelle adjacente. Un robot marque autant de point que d'adjacence dont dispose sa parcelle.

  • Version 3 : Ajout de composants liés à l’irrigation des parcelles, les bambous ne poussent que si la parcelle est irrigué. A chaque tour, les parcelles se dotent d'un bambous supplémentaire. Un robot ne marque des points qu'en plaçant une parcelle adjacent à une parcelle disposant de bambous, récolte les bambous et marque 1 point par bambou récolté. Une nouvelle stratégie est alors possible, chercher l'emplacement maximisant le nombre de bambous adjacents. Il est alors possible de faire jouer trois robots avec une stratégie qui lui est propre.

  • Version 4 : Ajouter la possibilité aux robots d'ajouter des canaux d'irrigations. Réaliser plusieurs stratégies liées aux canaux. Ajout des couleurs pour les parcelles, les robots marquent des points supplémentaires si la parcelle est posé en bordure d'autres parcelles de la même couleurs.

  • Version 5 : Les joueurs recoivent des cartes objectifs panda, les joueurs gagnent des points pour chaque carte objectif complétée. Les joueurs adaptent leurs stratégies pour compléter leurs objectifs.

  • Version 6 : Les joueurs recoivent des cartes objectifs parcelle, un joueur gagne des points en complétant ses cartes. Un joueur va donc adapter ses placements de parcelles pour achever ses objectifs.

  • Version 7 : Les joueurs ont maintenant la posibilité de jouer avec le jardinier, les cartes jardinier, et le Panda. De plus, le joueur respecte la règle des 2 actions maximum par tours.

  • Version 8 : Les joueurs peuvent piocher et placer des aménagements. Le dé météo affecte le déroulement du tour, les joueurs doivent effectuer deux actions par tours.~~ Les aménagements sont désormais intégrés dans le moteur du jeu. Une partie se termine dès lors qu'un joueur à complété un certain nombre d'objectifs selon les règles takenoko. Ajout du dé météo, les joueurs lancent le dé au début de leur tour SANS que cela n'affecte le déroulement du tour. Les joueurs disposent maintenant de stratégies pour les aménagements (décision au moment de la pioche selon le type).

  • Version 9 : Limiter le nombre d'action des joueurs, améliorer les robots pour que leurs coups complètent en priorité leurs objectifs.

  • Version 10 : La météo influe sur les décisions des robots.

Y'a quoi dans la boite ?

Nombre Nom Image
1 Figurine Jardinier
1 Figurine Panda
1 Carte Empereur
20 Bâtonnet irrigation
8 (4*4) Jetons action
1 Dé spécial
26 (9 + 7 + 10) Socle de bambou
64 (21 + 17 + 26) sections de bambou
9 (3 + 3 + 3) Tuiles aménagement
15 Cartes objectif panda
15 Cartes objectif parcelle
15 Cartes objectif jardinier
1 Tuile étant tuile de départ
27 Tuiles parcelle
11 Tuiles vertes
7 Tuiles roses
9 Tuiles jaunes

Notes de conception

Système de coordonnées

Représentation des arrêtes

Les stratégies

  • La stratégie Adjacente : consiste à poser des parcelles en maximisant le nombre de voisins
  • La stratégie Bambou : Le robot prend le parti de placer sa parcelle au placement maximisant le nombre de bambous adjacents
  • La stratégie Couleur : consiste à placer les parcelles en maximisant le nombre de voisins de la même couleur qui la parcelle
  • La stratégie irrigation : faite pour la pose des irrigations
  • La stratégie random : Stratégie de base. Elle effectue les actions de façon aléatoire