Table des matières

Le jeu Doubolo

Le jeu Doubolo ressemble beaucoup à l'Othello. Le principe est le même :

La différence essentielle avec Othello est que le damier de jeu possède des cases sur lesquelles on ne peut pas poser de pion.

Voici à quoi ressemble le plateau au début du jeu dans la version écrite par W. Soleau :

Comment démarrer ?

Pour un projet de ce type, il faut réfléchir en amont à la manière dont le programme aura une représentation du jeu. Pour un jeu de plateau, une structure de données de type tableau bidimensionnel est souvent adaptée, mais ce n'est pas toujours le meilleur choix.

La représentation du jeu (ou état) et l'ensemble des données qui permettent de reconstruire le jeu complet à un moment de la partie. Typiquement, elle contient : le contenu de chaque case du plateau, le numéro du joueur à qui c'est maintenant le tour.

Il faut disposer d'un moyen d'afficher le jeu : étant donnée une représentation, tracer ce qui convient à l'écran : le plateau du jeu, les pions sur le plateau, et un indicateur du prochain joueur à jouer.

Il faut disposer d'un moyen de connaître le coup que l'utilisateur veut jouer. Ici, il ne s'agit que de déposer un pion (dans certains jeux, comme Siam, ça peut être plus compliqué… on peut poser, pousser, tourner…). Pour Doubolo, savoir récupérer les coordonnées d'un clic souris suffira.

Enfin, il faut gérer l'alternance des coups et les règles (ne pas permettre à l'utilisateur de poser un pion à un endroit interdit, et éventuellement détecter automatiquement qu'un joueur doit passer son tour…).

Graphismes

Voici quelques documents, traitant de Python qui peuvent aider à démarrer la partie graphique :

Aller plus loin

Il est possible dans ce projet de commencer à coder une IA pour jouer contre la machine. On pourra commencer par une IA qui joue simplement un coup au hasard en suivant les règles (ce qui n'est déjà pas mal), et aller vers un algorithme de jeu de plus en plus compliqué (maximiser les gains au prochain coup uniquement, sur plusieurs coups etc….)

Javascript : Pour une version où un seul joueur joue contre la machine, ce sera l'occasion, pour vous, de simuler le choix de la machine grâce à l'ardoise javascript de firefox afin de mettre au point le programme sans avoir encore toutes les fonctionnalités “intelligence artificielle” de la machine.