Projet Java : Echiquier électronique Réalisé par : BOUI Faysal Encadré par : JRIDI Bayram Stéphane Lopes MLIK Adli Laurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12
PLAN Introduction Analyse Conception Réalisation Conclusion
Introduction
Analyse (Objectifs). Permettre à deux joueurs de jouer aux échecs via une seule instance du logiciel sur la même machine. Gestion du jeu au tour par tour. Permettre à un joueur de jouer seul contre une intelligence artificielle utilisant un moteur avec protocole UCI (Universal Chess Interface). Gestion de la communication entre l’interface de jeu et les moteurs de jeu d’échecs. Permettre de faire un mode démonstration entre deux moteurs. Permettre de faire une Sauvegarde des parties Sauvegarder le jeu en cours en respectant le format PGN (Portable Game Notation). Permettre de rejouer une partie Charger un fichier au format PGN, défiler la partie, revenir en arrière, accéder directement à un coup particulier, lire/ajouter/modifier des annotations et reprendre le jeu à n'importe quel coup. Gestion des règles du jeu d’échecs : Contrôle de la validité des déplacements des pièces. Gestion des règles ”spéciales” type Roque. Alertes lors des mises en échec, mises en échec-et-mat.
Analyse( Cas d’utilisation) McM : machine contre machine JcJ : joueur contre joueur JcM : joueur contre machine
Analyse (Schématisation de l’interface) 1 : chargement et contrôle 2 : type de partie, couleur, nom de chaque joueur. 3 : interaction avec l’échiquier. 4 : thème, numérotation du plateau. 5 : aide sur les règles du jeu d’échecs. 6 : informations sur le programme.
Conception (Classes). Interface
Conception (activité). Interface
Réalisation (Objectifs réussies). Permettre à deux joueurs de jouer aux échecs via une seule instance du logiciel sur la même machine. Gestion du jeu au tour par tour. Permettre à un joueur de jouer seul contre une intelligence artificielle utilisant un moteur avec protocole UCI (Universal Chess Interface). Gestion de la communication entre l’interface de jeu et les moteurs de jeu d’échecs. Permettre de faire un mode démonstration entre deux moteurs.(Avec un beugg) Permettre de faire une Sauvegarde des parties Sauvegarder le jeu en cours en respectant le format PGN (Portable Game Notation). Permettre de rejouer une partie Charger un fichier au format PGN, défiler la partie, revenir en arrière, accéder directement à un coup particulier, lire/ajouter/modifier des annotations et reprendre le jeu à n'importe quel coup. Gestion des règles du jeu d’échecs : Contrôle de la validité des déplacements des pièces. Gestion des règles ”spéciales” type Roque. Alertes lors des mises en échec, mises en échec-et-mat. X
Réalisation (Fichiers de projet).
Réalisation (Interface) Classes des Interfaces : Menu pour : Sauvegarder/charger Mode de jeu (Moteur/2/demo) Choix du moteur. Thème Aide Affichage des coups joués. Bouton de défilement. Panel de l’echiquier.
Réalisation (Règles) Algorithme de déplacement : System 2clicks pour déplacer. Pattern stratégie pour tester la validités des déplacement. Classe Echec pour tester l’echec âpres chaque déplacement.
Réalisation (UCI) public CommunicationUCI(final String lien) public final void setUCI() public final boolean isReady() public final String getBestMove() public final void setMove(final String mv) public final void fin()
Réalisation (Charger/Sauvegarder) public final void save() public final void chargerPartie(String file) public final void deplacementToString(String s)
Merci pour votre attention. Conclusion Merci pour votre attention.