Reviewed-on: #18 Reviewed-by: Clement JANNAIRE <clement.jannaire@etu.u-pec.fr> Reviewed-by: Alistair VAISSE <alistair.vaisse@etu.u-pec.fr>
BUT3 – Projet Jeu : Hex
Il s’agit d’une implémentation du jeu Hex en Java, développée à partir de l’API fournie par le Monsieur Madelaine.
Le projet comprend un moteur de jeu fonctionnel, un affichage console pour le debug, ainsi que des bots permettant de jouer automatiquement.
Compilation
Depuis la racine du projet, compiler l’ensemble des fichiers Java avec la commande suivante :
javac -d build $(find javaAPI -name "*.java")
Les fichiers compilés (.class) sont générés dans le dossier bin.
Lancer une démonstration
Partie automatique (bot)
java -cp build fr.iut_fbleau.HexGame.HexMain 3 autoplay
Ce mode permet de lancer une partie entièrement automatique en utilisant le bot implémenté dans la classe Simulation.
Partie interactive (joueur humain)
java -cp build fr.iut_fbleau.HexGame.HexMain
Le plateau s’affiche dans le terminal et les coups sont entrés sous forme de coordonnées.
Tests et validation
Les tests sont réalisés sous forme de tests fonctionnels via des méthodes main et des modes de démonstration :
- vérification de la validité des coups,
- alternance correcte des joueurs,
- détection des conditions de fin de partie,
- exécution de parties complètes en mode automatique.
L’affichage console du plateau, fourni par la méthode HexBoard.toString(), est utilisé comme outil de debug pour visualiser l’état du jeu à chaque tour.
Organisation du projet
HexBoard: représentation du plateau et gestion des règles du jeuHexPly: représentation d’un coupSimulation: bot basé sur une recherche Minimax à profondeur limitéeHexMain: point d’entrée du programme
Les classes principales sont documentées à l’aide de Javadoc.