56 lines
1.6 KiB
Markdown
56 lines
1.6 KiB
Markdown
# 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.
|
||
|
||
|
||
### Partie arène (bot)
|
||
|
||
```bash
|
||
java -cp build fr.iut_fbleau.HexGame.ArenaMain
|
||
```
|
||
|
||
Créer un fichier arena_result.csv à la fin avec les résultats des combats
|
||
|
||
|
||
## 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.
|