Programmation Java

Master M2 TTT --- Projet

Quarto

Règle du jeu

Quarto (édité par Gigamic) est un jeu de stratégie à deux joueurs. On trouve sur le site de l'éditeur la règle du jeu.

Le but de ce projet est d'écrire un programme qui permet de jouer à Quarto sur ordinateur. La règle sera la règle officielle, sauf qu'il n'est pas prévu qu'un joueur ne remarque pas qu'il a fait un "Quarto", puisque le programme devra le détecter et l'annoncer.

Matériel fourni

Dans l'archive quarto.zip, on trouvera un répertoire quarto qui contient des classes et des interfaces dont la documentation se trouve . Vous ne devez pas modifier ces fichiers. L'archive possède aussi la définition d'une classe Main qui indique comment les différentes classes doivent être utilisées. Cette classe est incomplète et peut être modifiée.

Travail demandé

Le projet consiste à écrire quatre classes qui implémentent respectivement les interfaces Piece, Case, Game et Player.

Les deux premières interfaces peuvent être implémentées indépendamment du reste du programme. Vous pouvez choisir quel constructeur vous définissez et éventuellement ajouter des méthodes dans les classes qui n'apparaissent pas dans l'interface.

La classe qui implémente Game est le cœur du programme, lorsqu'on crée un objet Game, on doit créer les 16 objets Case (vides) avec leurs coordonnées et les 16 objets Piece avec leurs caractéristiques. La méthode start, celle-ci doit demander aux joueurs de choisir une pièce ou une case au bon moment et elle doit avertir l'affichage (Display) du déroulement du jeu afin que l'affichage se passe correctement. De plus, après chaque pièce posée, on doit tester si un alignement est réalisé et, le cas échéant, avertir l'affichage que la partie est finie. La méthode se termine alors.

La partie la plus compliquée du projet consiste à écrire une classe qui implémente Player et qui permet de simuler automatiquement un joueur. Vous pouvez tester le début de votre projet avant d'écrire cette classe, puisqu'une implémentation de Player est déjà fournie, qui utilise l'interface graphique pour demander à un utilisateur d'effectuer les actions. Dans votre implémentation de Player, vous êtes libre d'implémenter toute stratégie qui permettrait à votre programme d'être un bon joueur.

Rendu de projet

Le projet doit être rendu par courrier électronique au plus tard le 18 février 2012 à lombardymonge.univ-mlv.fr