Dans ce depôt se trouve mon projet de DEV4 en BA2 à L'ESI Abalone.
Le projet respectera le design pattern MVC mais implementera aussi d'autre design patern tel que le design pattern Observer/Observable. Ce depôt sera continuellement mis a jour par les deux membres du binôme en fonction de l'avancée du projet.
Abalone est un jeu de stratégie combinatoire abstrait où s’affrontent deux joueurs. Un joueur joue avec des billes blanches, l’autre avec des billes noires. Le but du jeu est d’être le premier à faire sortir 6 billes adverses du plan de jeu en les poussant avec ses propres billes.
Confer : Wikipedia
Lahyaoui Ayoub
Model : Interface représentant l'interface Model du design pattern MVC.
Game : Classe qui rassemble les éléments nécessaire du jeu pour pouvoir présenter une facade à la vue.
GameStatus : Enumération représentant les différents états du jeu.
Board : Classe représentant le tableau de jeu, un Board est composé de tableaux d'hexagones.
Hexagon : Classe représentant une case du tableau, elle a un attribut _isFree mis a vrai lors du déplacement d'une bille sur la case et un attribut de type enumération définissant le type de la l'hexagon.
HexagonType : Enumération représentant le type de l'hexagon.
Player : Classe représentant un joueur, il possède un statut (PlayerStatus), une couleur et un compteur de bille perdue.
PlayerStatus : Enumération représentant le statut du joueur.
Color : Enumération représentant la couleur du joueur et de billes.
Marble : Classe représentant une bille sur le tableau de jeu, une bille possède une position sur le tableau et une couleur.
Position : Classe représentant une position du tableau.
Direction : Enumération représentant une direction d'un mouvement, sera utile lors de l'automatisation de la vérification de la présence de billes dans la direction du mouvement donné.
vendredi 19 février 2021 à 18h00.
Execution : Ouvrir le projet avec QTcreator, compiler puis executer.
Utilisation: Le projet respecte la notation ABA-PRO.
Notation des coups ABA-PRO
Les mouvements au jeu Abalone peuvent être de deux types :
-
Déplacement en ligne : quand on déplace une bille (ou plusieurs) dans une direction. On indique un tel mouvement par la position de départ suivie de la position d'arrivée de la bille. Si on déplace un groupe de billes on décrit toujours le déplacement de la bille en "queue" du mouvement. C'est-à-dire celle sur laquelle on pousserait pour effectuer ce déplacement. Par exemple, le mouvement I8H7, dénote le déplacement de la bille de la position I8 à la position H7. Le déplacement de cette bille correspond en fait au déplacement de tout un groupe de trois billes blanches (on pousse le groupe d'une case dans une direction).
-
Déplacement latéral : quand on déplace deux ou trois billes latéralement. Un tel mouvement est indiqué par la position de la première bille du groupe, suivie de la position de la dernière bille du groupe, et enfin suivie de la position d'arrivée de la première bille mentionnée. Par exemple, le mouvement C3C5D3, dénote le déplacement du groupe de trois billes entre C3 et C5 vers la position où la première se trouve en D3.
Confer : Page 9-10 de l'énoncé du projet Abalone 2020-2021 Esi He2b
vendredi 2 avril 2021 à 18h00.
Execution :
Windows -> ouvrir le dossier "Executable" a la racine du projet et executer l'installer dans Executable/Windows/installer.exe.
Linux -> executer en ligne de commande l'executable Executable/abalone-Gui.
Si vous rencontrez des difficultés à executer le projet avec l'une des manières énoncés vous pouvez toujour ouvrir le projet avec Qtcreator, compiler puis executer.
Utilisation: Le projet respecte la notation ABA-PRO.
Cliquer sur l'image ci dessous pour voir la vidéo expliquative.
Notation des coups ABA-PRO
Les mouvements au jeu Abalone peuvent être de deux types :
-
Déplacement en ligne : On indique un tel mouvement en cliquant sur la bille à déplacer puis en suite en cliquant à nouveau mais cette fois-ci sur la case ou sur la bille (celle si se trouvant sur une ligne différente) dans la direction du mouvement.
-
Déplacement sur la même ligne non latéral : On indique un tel mouvement en cliquant sur la bille à déplacer puis ensuite en effectuant cette fois ci un clique droit sur la bille a proximité dans la direction du mouvement.
-
Déplacement latéral : On indique un tel mouvement par un clique sur la position de la première bille du groupe, suivie d'un clique sur la position de la dernière bille du groupe suivi d'un clique sur la position de l'hexagone sur lequel l'on veut se déplacer.
Remarque : Pour annuler un mouvement il vous suffit d'appuyer sur la touche ESC de votre clavier.
vendredi 7 mai 2021 à 18h00