Le jeu d'échecs

Groupe de travail : HAVARD Nathan, CROS-GRISONI Aurèle
Année scolaire : 2022-2023

(à lire de préférence avec le code source)

 

- Un peu d'histoire

Les échecs sont un jeu apparu la première fois en Asie entre le troisième et le sixième siècle. Il se développe au Moyen-Orient puis arrive en Europe avec l'expension de l'Islam. Les règles modernes apparaissent et se figent durant la Renaissance.

Aujourd'hui ce jeu est connu et pratiqué dans le monde entier. On peut y jouer librement ou en rejoignant des clubs qui permettent l'accès à des compétitions voir des championats tel que le championnat du monde des échecs. Le champion actuel est Ding Liren.

 

♟♟ - Notre jeu

Nous avons créé une version python du jeu d'échecs en partant de zéro (Le programme peut être amélioré notamment en utilisant les dictionnaires). Le jeu comporte donc 2 versions.

 

) Description rapide

Dans notre version du jeu, le premier clic gauche permet d'enregistrer les informations de la pièce (position dans la liste de liste, numéro, couleur, coordonnées) dans une liste. Si on clique sur une autre pièce de la même couleur, les informations de cette nouvelles pièces remplaceront celles de l'ancienne. Le second clic gauche effectuera soit un mouvement si la case est vide, soit mangera une pièce, ou bien ne fera rien si la pièce est de la même couleur. (Pour améliorer le programme, vous pouvez ajouter les pièces déjà mangée sur les côtés si vous le souhaitez). Les joueurs ne peuvent pas jouer plus d'une pièce à la fois.

 

) Première version

Dans cette version, les joueurs peuvent déplacer leurs pions à leur guise. Les règles telles que le concept de mise en échec, de victoire, et de mouvement spéciaux n'est pas encore acquis. Malgré tout, deux joueurs connaissant les règles peuvent y jouer. C'est la version que l'on pourrait appeler "version plateau".

Télécharger le premier programme

 

 

) Deuxième version

 

a) Le petit rock

Dans cette version les pièces sont restreintes dans leurs mouvements par les règles. Les movements spéciaux des pions (avancer de deux cases si le pion est toujours sur sa case de départ), celui des tours (le rock, cliquer sur le roi puis la tour), ainsi que la promotion des pions arrivés en bout de l'échiquier sont ici fonctionnels. Le système de mise en échec n'est toujours pas implémenté.

 

Dans cette situation, les blancs effectuent un petit rock. C'est à dire que le roi fait un rock avec la tour la plus proche.


Situation avant le petit rock


Situation après le petit rock


b) Le grand rock

De la même façon, notre grand rock (rock avec la tour la plus lointaine) est aussi fonctionnel.


Situation avant le grand rock


Situation après le grand rock

 

c) La promotion

Dans cette nouvelle situation, les noirs promuent leur pion en reine.


Les blancs viennent de jouer


Les noirs viennent de jouer leur pion en c1 (le pion est toujours en c2) : ils doivent choisir une pièce


Les noirs ont choisi la reine

(Notez que nous avons un petit problème de couleur de la zone de promotion qu'il faudrait régler pour un meilleur effet visuel)

Télécharger le second programme

 

D) Explication rapide du code

1) Les pièces

Tout d'abord, les pions sont des caractères unicode que vous pourrez trouver ici (à partir des caractères 2650 en hexadécimal).

Nous les avons créé grâce à la fonction write(charactère, police, taille) du module turtle de python comme le montre notre code ci-dessous :

 

2) L'échiquier

Nous avons créé manuellement les cases de l'échiquier grâce à la fonction dessiner_plateau (voir ligne 791 du code source). La fonction cliquer_gauche ligne 53, permet quant à elle d'indivilualiser les cases avec leurs coordonnées et de les mettre en relation avec leur existence dans la liste de listes définissant le plateau de jeu, plateau. Dans ce plateau, les cases vides sont représentées par des 0, les pièces blanches par les nombres pairs, les nombres noirs par les nombres impairs.

Les pions de même couleur ont le même numéro car ils ont la même mécanique, de même pour les fous et les cavaliers qui n'ont pas de mouvements spéciaux. Les tours portent des numéros différens pour faciliter la création du rock (distinction du grand rock et du petit rock).

 


© Mai 2023

(Remerciements à Mr. Michel, professeur de NSI, qui nous a suivi et supporté pendant deux années consécutives)