Get jChecs at SourceForge.net. Fast, secure and Free Open Source software downloads
Conception
Module de règles

Ce module, au coeur de l'implémentation, doit assurer la gestion des états du jeu, c'est-à-dire :

  • proposer une représentation d'un état,
  • fournir (rapidement si possible Smiley) la liste des mouvements valides à partir d'un état,
  • permettre la transition d'un état à un autre en y appliquant un mouvement.

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.

Package UML

Rappel sur les règles de base

Les pièces

  Blancs Noirs
Roi Roi blanc Roi noir
Dame Dame blanche Dame noire
Fou Fou blanc Fou noir
Cavalier Cavalier blanc Cavalier noir
Tour Tour blanche Tour noire
Pion Pion blanc Pion noir

Disposition initiale

  a b c d e f g h  
8 Tour noire Cavalier noir Fou noir Dame noire Roi noir Fou noir Cavalier noir Tour noire 8
7 Pion noir Pion noir Pion noir Pion noir Pion noir Pion noir Pion noir Pion noir 7
6                 6
5                 5
4                 4
3                 3
2 Pion blanc Pion blanc Pion blanc Pion blanc Pion blanc Pion blanc Pion blanc Pion blanc 2
1 Tour blanche Cavalier blanc Fou blanc Dame blanche Roi blanc Fou blanc Cavalier blanc Tour blanche 1
  a b c d e f g h  

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

               
               
               
    Cible Cible Cible      
    Cible Roi blanc Cible      
    Cible Cible Cible      
               
               

Le roi se déplace d'une seule case à la fois, dans n'importe quelle direction.

Déplacements du fou

              Cible
Cible           Cible  
  Cible       Cible    
    Cible   Cible      
      Fou noir        
    Cible   Cible      
  Cible       Cible    
Cible           Cible  

Le fou se déplace sur toute case d'une diagonale sur laquelle il se trouve.

Déplacements de la tour

      Cible        
      Cible        
      Cible        
      Cible        
Cible Cible Cible Tour blanche Cible Cible Cible Cible
      Cible        
      Cible        
      Cible        

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

      Cible       Cible
Cible     Cible     Cible  
  Cible   Cible   Cible    
    Cible Cible Cible      
Cible Cible Cible Dame noire Cible Cible Cible Cible
    Cible Cible Cible      
  Cible   Cible   Cible    
Cible     Cible     Cible  

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

          Fou noir Cavalier noir Tour noire
        Cible Pion noir Pion noir Pion noir
          Cible   Cible
  Cible   Cible        
Cible       Cible      
    Cavalier blanc          
Cible       Cible      
  Cible   Cible        

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

               
               
          Pion noir    
        Cible2 Cible Cible2  
    Cible          
  Cible2 Cible Cible2        
    Pion blanc          
               

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

                                 
                                 
          Cible2                 Pion blanc    
        Pion blanc Pion noir     Avant...                  
                  ...après                
                                 
    Pion noir                            
    Cible                 Dame noire          

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

Tour noire   Cible   Roi noir             Roi noir Tour noire        
Pion noir   Pion noir Pion noir     Pion noir     Pion noir   Pion noir Pion noir     Pion noir  
                                 
                Avant...                  
                  ...après                
                                 
    Pion blanc     Pion blanc Pion blanc Pion blanc       Pion blanc     Pion blanc Pion blanc Pion blanc
        Roi blanc   Cible Tour blanche             Tour blanche Roi blanc  

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.

Page précédente Structure Notations standards Page suivante