réalisé par : boui faysalencadré par : jridi bayram stéphane lopes mlik adlilaurent yeh tissafi...

15
Réalisé par : BOUI Faysal Encadré par : JRIDI Bayram Stéphane Lopes MLIK Adli Laurent Yeh TISSAFI IDRISSI Yassine Projet Java : Echiquier électronique ISTY-2012 | Projet Java 1/1 2

Upload: pascaline-chambon

Post on 04-Apr-2015

121 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

Réalisé par :

BOUI Faysal Encadré par :

JRIDI Bayram Stéphane Lopes

MLIK Adli Laurent Yeh

TISSAFI IDRISSI Yassine

Projet Java :Echiquier électronique

ISTY-2012 | Projet Java 1/12

Page 2: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*PLAN

*Introduction

*Analyse

*Conception

*Réalisation

*Conclusion

Page 3: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

Introduction

Page 4: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*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.

Page 5: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*Analyse( Cas d’utilisation)

McM : machine contre machine

JcJ : joueur contre joueur

JcM : joueur contre machine

Page 6: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*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.

Page 7: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*Conception (Classes).Interfac

e

Page 8: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*Conception (activité).Interfac

e

Page 9: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*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

Page 10: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*Réalisation (Fichiers de projet).

Page 11: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*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.

Page 12: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*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.

Page 13: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*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()

Page 14: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*Réalisation (Charger/Sauvegarder)*public final void save()

*public final void chargerPartie(String file)

*public final void deplacementToString(String s)

Page 15: Réalisé par : BOUI FaysalEncadré par : JRIDI Bayram Stéphane Lopes MLIK AdliLaurent Yeh TISSAFI IDRISSI Yassine ISTY-2012 | Projet Java 1/12

*Conclusion

Merci pour votre attention.