# 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 : ```bash 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) ```bash 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) ```bash 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 jeu - `HexPly` : représentation d’un coup - `Simulation` : bot basé sur une recherche Minimax à profondeur limitée - `HexMain` : point d’entrée du programme Les classes principales sont documentées à l’aide de **Javadoc**.