Jeu d'échecs
L'échiquier
L’échiquier est le tablier ou plateau du jeu d'échecs. C'est une grille carrée de 8 cases de côté, soit
64 cases en tout, en alternance sombres (appelées « noires ») et claires (appelées « blanches »).
Les 8 lignes « verticales » sont appelées colonnes.
Les 8 lignes « horizontales » sont appelées rangées ou traverses.
Les 26 lignes obliques à 45° (13 noires et 13 blanches) sont appelées diagonales.
Dans la représentation conventionnelle en diagramme, les Blancs sont en bas, les Noirs en haut.
Coordonnées
Des coordonnées sont utilisées pour désigner chacune des 64 cases de l'échiquier. La notation est
simple : les 8 colonnes sont « numérotées » de gauche à droite par les lettres minuscules allant de
a à h et les 8 rangées numérotées de bas en haut de 1 à 8.
Chaque case est alors désignée par l'intersection d'une lettre (pointant une colonne) et d'un chiffre
(pointant une rangée). Par exemple, la toute première case, en bas à gauche, se nomme a1. La
seconde, en allant de la gauche vers la droite, se nomme b1, ainsi de suite. Et la dernière se nomme
h8 (tout en haut à droite).
Par ce système, on peut ainsi désigner des colonnes (vertical) et des rangées (horizontal). La
colonne a comporte alors toutes les cases se trouvant visées par la coordonnée a, à savoir a1, a2,
a3, a4, a5, a6, a7 et a8. Et la 4e rangée comporte toutes les cases se trouvant visées par la
coordonnées 4, à savoir a4, b4, c4, d4, e4, f4, g4 et h4.
Chaque joueur doit avoir à sa droite une case blanche (a8 et h1). C'est un repère utile pour véri er,
avant d'entamer une partie, que l'échiquier est bien orienté.
Topographie
L'aile dame (cases avec des points noirs) et l'aile roi (cases vides). Sur l'échiquier, plusieurs
éléments jouent un rôle stratégique important :
les rangées : les lignes horizontales (rangées 1 à 8) ;
les colonnes : les lignes verticales (colonnes « a » à « h ») ;
les diagonales (les deux plus grandes étant les deux diagonales « a1-h8 » et « a8-h1 ») ;
le centre : les 4 cases centrales (d4, e4, d5, e5) ;
les coins : les 4 cases aux extrémités (a1, a8, h1, h8) ;
Représentation
Notation des pièces en français
Chaque camp est composé de seize pièces, notées ainsi dans la notation française :
un roi, noté R
une dame, notée D
deux tours, notées T
deux fous, notés F
deux cavaliers, notés C
huit pions, notés P
Codes
On peut a cher les pièces en utilsant la fonction python chr et les codes suivant
Blanches Pièce Noires
♔ 9812 le roi ♚ 9818
♕ 9813 la dame ♛ 9819
♖ 9814 la tour ♜ 9820
♗ 9815 le fou ♝ 9821
♘ 9816 le cavalier ♞ 9822
♙ 9817 le pion ♟ 9823
Déplacements des pièces
Chaque pièce peut se déplacer au choix du joueur sur l'une des cases marquées d'une croix.
Hormis le pion, elles capturent une pièce adverse qui se trouve sur leur trajectoire, sans
pouvoir aller au-delà. À l'exception de la prise en passant, la pièce qui capture prend la place
de la pièce capturée, cette dernière étant dé nitivement retirée de l'échiquier.
Le fou, la tour et la dame sont des pièces à longue portée (ou pièces de lignes) : elles peuvent
se déplacer le long de lignes. Chaque camp possède deux fous : ils se déplacent toujours sur
les cases d'une même couleur, en diagonale ; chaque camp possède donc un fou de cases
blanches, et un fou de cases noires.
Le roi se déplace d'une seule case à la fois, il dispose d'une règle de déplacement spéciale : le
roque.
Le cavalier ne peut être intercepté par aucune des pièces autour de lui, il saute jusqu'à sa case
d'arrivée.
TAF
L'objectif ici n'est pas de réaliser tout le jeu mais de réviser la manipulation des matrices
(indexation, parcours, création..) en dé nissant des opérations du jeu d'échec.
Dans un premier temps on suppose que l'échiquier ne contient qu'une seule pièce pour simpli er le
problème.
Dé nissez une fonction deplacer(piece: str) qui prend en argument une pièce représentée par son
caractère, sa couleur et sa position et retourne la liste des positions vers lesquelles on peut la
déplacer
Dé nissez une procédure a cher(piece:str) qui prend en argument une pièce représentée par son
caractères, sa couleur et sa position et a che la pièce à position initiale avec toutes les positions
vers lesquelles on peut la déplacer
Exemples
>>> deplacer('RNe8')
['d8', 'd7', 'e7', 'f7', 'f8']
>>> afficher('RNe8')
[['_' ,'_' ,'_' ,'x' ,'♚' ,'x' ,'_' ,'_'],
['_' ,'_' ,'_' ,'x' ,'x' ,'x' ,'_' ,'_'],
['_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_'],
['_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_'],
['_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_'],
['_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_'],
['_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_'],
['_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_' ,'_']]
Références
https://fr.wikipedia.org/wiki/%C3%89checs
https://fr.wikipedia.org/wiki/Notation_alg%C3%A9brique