Reversi project for AI course of Bordeaux University
Find a file
2023-12-15 00:46:42 +01:00
src Rework options, now can be defined per player 2023-12-15 00:46:42 +01:00
README.md First commit: minmax and alphabeta implemented 2023-12-14 21:58:35 +01:00

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:

# 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 :

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.