200 likes | 385 Views
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. Introduction Analyse Conception Réalisation Conclusion. PLAN. Introduction.
E N D
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
Introduction • Analyse • Conception • Réalisation • Conclusion PLAN
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 (UniversalChess 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 (Objectifs).
McM: machine contre machine JcJ: joueur contre joueur JcM : joueur contre machine Analyse( Cas d’utilisation)
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. Analyse (Schématisation de l’interface)
Interface Conception (Classes).
Interface Conception (activité).
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 (UniversalChess 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
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 (Interface)
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 (Règles)
public CommunicationUCI(final String lien) • public final voidsetUCI() • public final booleanisReady() • public final String getBestMove() • public final void setMove(final String mv) • public final void fin() Réalisation (UCI)
public final voidsave() • public final void chargerPartie(String file) • public final void deplacementToString(String s) Réalisation (Charger/Sauvegarder)
Conclusion Merci pour votre attention.