project_reversi/README.md

48 lines
1.4 KiB
Markdown

IA: jeu de Reversi
------------------
Le but de ce projet est d'implémenter plusieurs mécanisme de jeu (humain et
intelligence artificielle) pour le jeu de Reversi
## Installation
Le programme utilise des outils standard de Python installé de base : `random`,
`math`, `argpase` et `logging`. Le project est fourni avec un shell *Nix* dans
le répertoire `src`
## Utilisation
le programme propose un emsemble d'options en ligne de commande afin de définir
les options du jeu comme le choix des implementations de jeu (aléatoine, MinMax
etc.) ou encore les paramètres (profondeur de recherche). Une aide est intégrée
au programme via la commande `./game.py -h`. Voici quelques exemple de
lancement:
```shell
# Lancement de base: les deux joueurs jouent avec le moteur aléatoire:
./game.py
# joueur noir humain et joueur blanc MinMax avec une profondeur de 5
./game.py -b human -w minmax --depth 5
```
## Choix d'implémentation
### Classes PlayerEngine
Définies dans le fichier `./src/classes/Engines.py`, les classes utilisées h
eritent de la classe de base `PlayerEngines` :
```python
class PlayerEngine(Object):
def __init__(self, logger, options):
def get_move(self, board):
class MinmaxPlayerEngine(PlayerEngine):
def get_move(board):
class RandomPlayerEngnine(PlayerEngine):
def get_move(board):
```
Il est ainsi plus aisé de tester les moteur dans notre programme de base.