Le jeu de Shadi

Un jeu idéal pour s'initier aux algorithmes d'intelligence artificielle

pour les étudiants NSI

Origine

Le jeu de Shadi est un jeu de plateau stratégique. Multiculturelle et d'influences diverses : persane, française, vietnamienne...

Jeu dont la règle simple est proche du jeu de Dames et parfaitement adaptée à l'intelligence artificielle.

C'est le jeu idéal pour se faire la main et découvrir les algorithmes IA les plus connus (Monte-Carlo, UCT, ALpha_Béta, Deep Learning...).

Créé par Frédéric Boissac en septembre 2019.



Règle du jeu de Shadi

- Les joueurs jouent chacun à leur tour. Les blancs commencent.

- Chaque pion peut se déplacer d'une case vers l'avant en diagonale.

- Un pion peut en prendre un autre en sautant par dessus un pion adverse.

- La prise peut également s'effectuer en arrière.

- La prise est obligatoire mais non multiple (une seule prise à la fois).

- Si un des joueurs est dans l'impossibilité de jouer il perd la partie.

- Le joueur qui parvient le premier à atteindre la dernière rangée avec un pion est vainqueur.




Prise en avant

Prise en arrière


Créer votre moteur IA

- Dans le répertoire "moteurs" copier le module "Moteur-Candidat" et renommez le à votre convenance.

- La fonction Trouve_Un_Coup() est obligatoire et doit renvoyer un tupple correspondant au coup

- En dehors de cette fonction vous êtes libre de faire tout ce que vous voulez.

- Une fois crééé vous pouvez importer votre moteur dans Dariush-Shadi à l'aide du menu

- A partir du menu vous pouvez faire jouer Noir ou Blanc avec les moteurs de votre choix

- Les coordonnées vont de (0,0) case en haut à gauche jusqu'à (9,9) en bas à droite.


Module "Moteur-Candidat"

- Le tupple coup=(a,b,i,j) donne les coordonnées (a,b) du pion joué et celle de sa case d'arrivée

- Le paramètre LePlateau est un objet aux propriétés publiques suivantes (voir module plateau)

. LePlateau.CouleurQuiJoue : c est la couleur qui doit jouer, 1 pour blanc ; 2 pour noir

. LePlateau.CouleurQuiNeJouePas : c est l'autre couleur

. LePlateau.List_Coups : c'est la liste de coups possibles sous forme de tupples : [(a,b,i,j),.....]

. LePlateau.jeu[x][y] : c est la couleur du pion placé en (x,y) , 1 pour blanc ; 2 pour noir, 0 pour vide

. LePlateau.FinDePartie = 1 ,2 (couleur du vainqueur) ou =-1 lorsque la partie est finie.

Télécharger le logiciel Dariush-Shadi