:: Enseignements :: Master :: M1 :: 2009-2010 :: Interface graphique I ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | 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.
- Il est interdit d'utiliser du code externe: vous devrez tout coder vous-mêmes.
- Tout code commun à plusieurs projets vaudra zéro pour tous les projets concernés.
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.
© Université de Marne-la-Vallée