Files
BUT3ProjetJeuGroupe/README.md

56 lines
1.8 KiB
Markdown
Raw Normal View History

2026-02-06 01:32:24 +01:00
# BUT3 Projet Jeu : Hex
2026-02-06 01:32:24 +01:00
Il sagit dune implémentation du jeu **Hex** en Java, développée à partir de lAPI 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.
2026-02-06 01:32:24 +01:00
## Compilation
2026-02-06 01:32:24 +01:00
Depuis la racine du projet, compiler lensemble des fichiers Java avec la commande suivante :
2026-02-06 01:32:24 +01:00
```bash
javac -d build $(find javaAPI -name "*.java")
```
2026-02-06 01:32:24 +01:00
Les fichiers compilés (`.class`) sont générés dans le dossier `bin`.
2026-02-06 01:32:24 +01:00
## Lancer une démonstration
2026-02-06 01:32:24 +01:00
### Partie automatique (bot)
2026-02-06 01:32:24 +01:00
```bash
java -cp build fr.iut_fbleau.HexGame.HexMain 3 autoplay
```
2026-02-06 01:32:24 +01:00
Ce mode permet de lancer une partie entièrement automatique en utilisant le bot implémenté dans la classe `Simulation`.
2026-02-06 01:32:24 +01:00
### Partie interactive (joueur humain)
2026-02-06 01:32:24 +01:00
```bash
java -cp build fr.iut_fbleau.HexGame.HexMain
```
2026-02-06 01:32:24 +01:00
Le plateau saffiche dans le terminal et les coups sont entrés sous forme de coordonnées.
2026-02-06 01:32:24 +01:00
## Tests et validation
2026-02-06 01:32:24 +01:00
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.
2026-02-06 01:32:24 +01:00
Laffichage console du plateau, fourni par la méthode `HexBoard.toString()`, est utilisé comme outil de debug pour visualiser létat du jeu à chaque tour.
2026-02-06 01:32:24 +01:00
## Organisation du projet
2026-02-06 01:32:24 +01:00
- `HexBoard` : représentation du plateau et gestion des règles du jeu
- `HexPly` : représentation dun coup
- `Simulation` : bot basé sur une recherche Minimax à profondeur limitée
- `HexMain` : point dentrée du programme
2026-02-06 01:32:24 +01:00
Les classes principales sont documentées à laide de **Javadoc**.