A propos de jChecs
Conception
Divers |
Conception
Module de règles
Ce module, au coeur de l'implémentation, doit assurer la gestion des états du jeu, c'est-à-dire :
La génération des mouvements et la transition d'un état à un autre est un point chaud pour les performances, rendant ces fonctions très fortement dépendantes de l'encodage réel de l'état. Il est donc préférable que les classes concrètes d'encodage d'un état intègrent directement les fonctions de génération et transition. Plus anecdotique, mais faisant aussi partie des bases, ce module doit également assurer la conversion de et vers les différentes notations usuelles des échecs. Rappel sur les règles de base
Les pièces
Disposition initiale
Généralités sur les déplacements : aucune pièce ne peut se déplacer sur une case occupée par une pièce de même couleur. Si une pièce se déplace sur une case occupée par une pièce adverse, cette dernière est prise et retirée de l'échiquier. Tout mouvement d'une pièce qui laisserait son propre roi sous une attaque (en échec) est interdit. Déplacements du roi Le roi se déplace d'une seule case à la fois, dans n'importe quelle direction. Déplacements du fou Le fou se déplace sur toute case d'une diagonale sur laquelle il se trouve. Déplacements de la tour La tour se déplace sur toute case de la colonne ou de la rangée sur laquelle elle se trouve. Déplacements de la dame La dame se déplace sur toute case de la colonne, de la rangée ou d'une diagonale sur laquelle elle se trouve. Dame = Tour + Fou Déplacements du cavalier Le cavalier se déplace sur l'une des cases les plus proches de celle sur laquelle il se trouve, mais pas sur la même colonne, rangée ou digonale. Le cavalier est la seule pièce pouvant se déplacer au dessus d'autres pièces lors de son mouvement. Déplacements du pion Le pion se déplace droit devant lui d'une seule case à la fois, sauf lors de son premier coup où il peut avancer de deux cases. Il capture les pièces adverses uniquement sur ses diagonales directes, en avant. C'est la seule pièce à ne pas pouvoir reculer. Promotion du pion et prise en passant
Promotion : un pion parvenant à sa dernière rangée peut être transformé, au choix du joueur, en une autre pièce de sa couleur (sauf un roi). Prise en passant : un pion ayant avancé de deux rangées peut être pris, immédiatement après, par un pion adverse située dans une colonne adjacente sur la rangée atteinte. Grand et petit roque
Grand roque : le roi se déplace de deux cases, jusqu'à la colonne « c », alors que la tour de la colonne « a » vient en colonne « d ». Petit roque : le roi se déplace de deux cases, jusqu'à la colonne « g », alors que la tour de la colonne « h » vient en colonne « f ». Dans le deux cas, ni le roi ni la tour concernée ne doivent avoir bougé durant la partie, aucune pièce ne doit se trouver entre eux et le roi ne doit pas être en échec. Ce résumé des règles montre une des difficultés du générateur de mouvements : chaque type de pièce dispose de mouvements différents, parfois avec des cas particuliers liés à la situation de jeu.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
English homepage | Dernière mise à jour le 27/11/2006 |