2025-05-09 19:34:18 +02:00
2025-05-09 17:15:10 +02:00
2025-05-09 12:35:57 +02:00

Gomoku

La documentation

docs/index.html

Comment compiler et lancer le jeu ?

javac -d build src/*java
java -cp build GomokuGame

Options de Commande pour le Jeu Gomoku

Voici les différentes options de commande disponibles pour configurer et lancer le jeu Gomoku :

  • --save <chemin> : Charge une partie sauvegardée à partir du chemin spécifié.

    • Exemple : --save chemin/vers/la/partie
  • --pvp : Active le mode joueur contre joueur (PvP).

    • Exemple : --pvp
  • --size <largeur> <hauteur> : Définit la taille du plateau de jeu.

    • Exemple : --size 15 15
  • --nbToken <nombre> : Définit le nombre de jetons disponibles pour chaque joueur.

    • Exemple : --nbToken 50
  • --difficulty <niveau> : Définit le niveau de difficulté de l'IA (1, 2, ou 3).

    • Exemple : --difficulty 2
  • --nbTokenToWin <nombre> : Définit le nombre de jetons à aligner pour gagner.

    • Exemple : --nbTokenToWin 5

Exemple d'utilisation :

java -cp build GomokuGame --pvp --size 15 15 --nbToken 50 --difficulty 2 --nbTokenToWin 5

Remarques :

  • Si une option est mal utilisée ou si les paramètres sont invalides, les valeurs par défaut seront appliquées.
  • La taille minimale du plateau est de 3x3. Si une taille inférieure est spécifiée, le jeu ne démarrera pas.

Structure

UML

Pour commencer, nous avons créé deux énumérations : une pour les couleurs, nommée Color, et une autre pour les directions cardinales, nommée Cardinal. Les couleurs sont utilisées pour les jetons placés sur le plateau. Les directions nous permettent de naviguer dans la grille de cellules, qui est liée dans les huit directions cardinales.

Nous avons une classe abstraite représentant le joueur, nommée Player, qui se décline en deux classes :

  • Human, qui sollicite l'utilisateur pour jouer son tour,
  • GomokuAI, qui représente un joueur contrôlé par l'ordinateur.

Pour la zone de jeu, nous avons une classe GomokuCell qui représente une case possédant tous ses voisins dans les huit directions ainsi que la couleur du jeton placé sur cette case. Une autre classe, GomokuBoard, contient la cellule située en haut à gauche du plateau. C'est à partir de cette cellule que nous parcourons l'ensemble du jeu. Cette classe génère le plateau, les extensions du plateau, etc.

Pour lancer le jeu, nous avons la classe GomokuGame qui possède une méthode main et accepte des paramètres si l'utilisateur le souhaite. Elle crée la partie et la boucle de jeu, et contient :

  • Les deux joueurs,
  • Le plateau,
  • Le nombre de cellules alignées nécessaires pour gagner,
  • Le joueur actuel,
  • Le renderer

Pour le rendu, nous avons une classe abstraite GomokuRenderer qui se décline en ConsoleRenderer, permettant l'affichage du plateau dans le terminal. La classe abstraite existe pour faciliter le remplacement du renderer si nécessaire à l'avenir.

Description
Gomoku game made in Java in the terminal.
Readme 4.3 MiB
Languages
Java 100%