:: Enseignements :: Master :: M1 :: 2009-2010 :: Interface graphique I ::
[LOGO]

JohnLeeHooker


But du projet

Dernière mise à jour: 29 octobre 2009

Vous devrez réaliser un programme permettant de jouer au démineur.

Les règles du jeu

On rappelle que le démineur se joue sur une grille dont chaque case peut ou non cacher une bombe. Le nombre de bombes est connu au départ. Le but du jeu est de marquer les cases contenant une bombe et de découvrir toutes les autres. La partie est perdue si le joueur découvre une case contenant une bombe. Toute case non encore découverte peut être marquée, et toute case marquée peut être démarquée.

Travail demandé

Vous devez fournir une application Swing permettant de jouer au démineur. Il devra être possible de paramétrer la taille de la grille ainsi que le nombre de bombes. Pour représenter l'aire de jeu, vous pouvez au choix utiliser des composants existants en les assemblant judicieusement ou créer votre propre composant. Dans tous les cas, vous devrez utiliser un MVC bien propre. De plus, la vue doit pouvoir se redimensionner en fonction de l'espace disponible. Ainsi, si je mets l'application en plein écran avec une grille de 10x10, je dois voir de grosses cases. Si vous utilisez des images, faites en sorte qu'elles restent jolies en cas de redimensionnement. Les contrôles sont les suivants: clic gauche pour découvrir une case, clic droit pour marquer ou démarquer une case. Le nombre de cases marquées doit apparaître. Si ce nombre devient supérieur au nombre total de bombes, l'application doit le signaler, par exemple avec un changement de couleur. Au premier clic lors d'une nouvelle partie, un timer doit se mettre en route. En cas de victoire, l'application doit proposer au joueur de saisir son nom pour le mettre dans un tableau contenant tous les résultats avec pour chaque partie, le nom du joueur, son temps, la taille de la grille et le nombre de bombes. Vous avez carte blanche pour la gestion des fins de partie (victoire ou défaite).

Conditions de rendu

Vous travaillerez en binômes. En premier lieu, vous lirez avec profit la charte des projets pour éviter des bavures malheureuses. Vous rendrez ensuite une archive nommée login1-login2.zip contenant les choses suivantes:
  • un répertoire src contenant les sources du projet ainsi qu'un build.xml. Lorsqu'on lance ant, on doit obtenir un exécutable nommé hooker.jar. La cible clean doit fonctionner correctement. Les sources doivent être propres, en anglais et commentées.
  • un fichier doc.pdf contenant votre rapport qui devra décrire votre travail. En particulier, vous décrirez avec soin et en les justifiant tous vos choix d'architecture, en particulier sur le MVC. Si votre projet ne fonctionne pas complètement, vous devrez en décrire les bugs.

Le projet est à rendre par mail à tous les enseignants (i.e. Sébastien Paumier et Sylvain Cherrier), au plus tard le lundi 8 février 2010 à 23h.