Programmer une maquette de logiciel de jeu, sur un jeu très simple. Les objectifs de cette phase sont les suivants :
- Prendre conscience, à une échelle réduite, de l'essentiel des problèmes que vous rencontrerez dans la suite du projet.
- Identifier ceux d'entre eux qui sont indépendants du jeu (et qui se poseront à nouveau plus tard).
- Aider à définir le planning de la suite du projet et la répartition des "forces" entre les différentes parties.
- Expérimenter le travail dans votre groupe et vérifier que vous vous comprenez bien.
- Disposer d'une maquette sur laquelle vous pourrez, pendant toute la durée du projet, tester vos idées et expérimenter de nouvelles pistes : quelle charge de travail demanderait leur réalisation, quel intérêt elles pourront présenter dans le logiciel final.
C'est un jeu à 2 joueurs. Le but du jeu est d'obliger l'autre joueur à jouer le coup perdant.
Déroulement de la partie :
- L'un des deux joueurs commence.
- Ensuite, chacun joue à tour de rôle et est obligé de jouer (passer son tour est interdit) jusqu'à ce qu'un des joueurs joue le coup perdant.
- La partie est alors terminée, ce dernier joueur est déclaré perdant et l'autre gagnant.
Description des coups autorisés et du coup perdant :
- Description arithmétique. La gaufre est représentée par un entier g de la forme 2a3b où a et b sont des entiers positifs. Un coup est un diviseur 2i3j de g qui ne soit pas multiple d'un coup déjà joué. Le coup perdant est 1.
- Description géométrique. La gaufre est représentée par une matrice (0..a, 0..b). Un coup (qui consiste à mordre dans la gaufre) est un couple (i, j) avec 1≤i≤a et 1≤j≤b. Après qu'un coup (i; j) ait été joué, la partie de la gaufre telle que (i'≥i et j'≥j) disparaît. Le coup perdant (la case empoisonnée) est (0, 0). La taille standard de la gaufre est 6×8 (a=5, b=7).
Votre maquette doit comporter au moins les éléments suivants :
- jouer à deux joueurs humains, jouer contre l'ordinateur
- IHM :
affichage lisible du déroulement du jeuregroupement de toutes les informations importantes pour l'utilisateur :état de la gaufrejoueur ayant la main
interface ergonomique de saisie du coup à jouer et d'accès aux fonctionnalités
- IA :
3 niveaux pour l'IA :jeu aléatoirechoix d'un coup non perdant (s'il existe) ou gagnant (s'il existe)Stratégie gagnante, laisse jouer.
- fonctionnalités :
- démarrer une nouvelle partie (en abandonnant l'état courant) (Fait côté moteur) TODO: lien vers IHM
- fonctions annuler et rejouer (conservation de l'historique de tous les coups) (Fait côté moteur) TODO: lien vers IHM
- sauvegarder et restaurer une partie et son historique complet (Fait côté moteur) TODO: lien vers IHM
Vous devrez faire une mini-démo de votre maquette avant le choix du sujet pour le reste du projet.
Quelques idées de ce que vous pouvez ajouter au cahier des charges minimal.
- possibilité pour le joueur d'abandonner en cours de partie
- fonction démonstration
- aide(s) au joueur : tutoriel, suggestion d'un coup
possibilité de choisir la taille de la gaufre- possibilité d'enchaîner les parties (de faire un match)
- stockage des meilleurs scores, classement
- navigation directe dans l'historique
- min-max seuillé, élagage alpha-béta
- ...