Vous êtes sur la page 1sur 4

Universit Paris Diderot Informatique Anne 2017/2018

Projet de POOIG

Le jeu de l'oie et la famille des jeux qu'on peut lui associer est la source d'inspiration de ce projet.
 Il est particulirement recommand que vous le fassiez en . Si vous souhaitez
le faire seul, informez-en votre charg de TD/TP, vous pouvez galement chercher un
binmes

partenaire sur le forum ddi de moodle.


 Les soutenances sont prvues en janvier. Les notations pourront tre individualises, il
faut donc que chacun matrise l'ensemble du travail prsent.
 Ne soyez surtout pas tents de faire une modlisation " plat" o il n'y aurait qu'une
Quelques conseils :

seule classe n'utilisant aucune des spcicits du langage objet. Au contraire nous vous
invitons, ds la lecture, bien analyser les objets qui interviennent, compartimenter
votre code, et proter le plus possible de la rutilisabilit que permet java pour pouvoir
crire les jeux demands et leur variantes.
 Sauvegardez rgulirement votre travail, chaque modication importante conservez la
version antrieure.
Dans la suite de ce document vous trouverez :
 la prsentation du jeu de l'oie et de quelques-unes de ses variantes, puis un second jeu,
numeri, qui est bien moins connu que le premier, mais qui a susamment de points
communs pour pouvoir faire un travail de modlisation intressant. Relevez bien les points
communs et les dirences de ces deux jeux.
 Concernant les achages, vous devrez d'abord le faire en mode texte, puis plus tard vous
pourrez l'adapter au fur et mesure de l'avancement du cours sur les interfaces graphiques.
Il est important de se concentrer tout d'abord sur la modlisation du jeu.
 Enn nous reprendrons plus prcisment les dtails du travail attendu.
Le jeu de l'oie

On dit qu'il y en a 10000 versions direntes, vous pouvez prendre pour thme de base celle
que vous prfrez, ds lors qu'elle comporte les lments suivants :
 le plateau est constitu d'un seul trac linaire;
 les joueurs en nombre illimit lancent chacun leur tour deux ds;
 les eets des cases sont quivalents ceux dcrits dans wikipdia (saut, passer son tour,
attendre une libration, rejouer ...).
Partant de ce premier travail, il vous faudra crire des variantes. Idalement en rcrivant une
mthode dans une sous-classe, mais cela dpend de votre modlisation. (Evitez de copier-coller
du code!) Voici les variantes demandes :
1. le jeu termine quand un pion dpasse la ligne d'arrive.
2. le jeu termine quand un pion se pose exactement sur la case d'arrive. Dans le cas o les
ds donnent un nombre trop grand alors le pion reculera.
3. deux pions ne peuvent cohabiter dans une case, si le cas se prsente, le dernier arriv ira
sur la case prcdente (si elle est libre...)
4. lorsque vous arrivez sur une case, vous devez rpondre une question. Les joueurs accu-
mulent alors un score en fonction du nombre de bonnes rponses. Inspirations possibles :
jeu de l'oie de l'Unicef , jeu de l'oie d'apprentissage du franais ou plus simplement vous
1 2

pouvez poser une question de calcul mental.


1. https ://www.unicef.fr/sites/default/les/userles/Jeudeloie_unicef.html
2. https ://fr.islcollective.com/resources/printables/worksheets_doc_docx/jeu_de_loie_verbes_en_er/actions/87206
Universit Paris Diderot Informatique Anne 2017/2018

Le jeu Numeri
La gure suivante illustre le plateau du jeu du commerce. Vous pourrez vous rendre compte
des similarits avec le jeu de l'oie. En voici les rgles.
Chaque joueur dispose de 6 pions, aects d'un coecient de 1 6. Au dpart ils sont placs
juste avant la premire case du plateau, celle qui porte le numro 3 rouge, la plus droite.
Lorsque c'est son tour le joueur lance un d et obtient une valeur x. Il slectionne un certain
nombre de ses pions dont la somme des coecients est gale x. Ainsi par exemple s'il lance son
d et obtient 4, il a la possibilit de slectionner le pion 4 seul, ou alors les pions 1 et 3 ensembles,
mais il ne peut rien faire avec les pions 2, 5 ou 6. Il avance ensuite son/ses pions, en les prenant
dans l'ordre qui lui convient, jusqu' la prochaine case libre. Il prote ainsi de la conguration
pour sauter par dessus d'autres pions, et avancer plus ou moins rapidement; d'une case dans le
pire des cas, de plusieurs s'il peut sauter par dessus d'autres pions.
Et ainsi de suite, chaque joueur son tour. Le jeu s'arrte lorsque les 3 dernires cases,
marques ici 20, 25 et 30 sont occupes.
Pour dterminer quel joueur a gagn, on value la position qu'occupent les pions sur le plateau
au moment o le jeu s'arrte. Chaque case, ou presque, porte dj une valeur, les autres sont
considres comme tant nulles.
Le score d'un joueur est obtenu en multipliant la valeur des cases par le coecient du pion
qui s'y trouve. Si le joueur a plusieurs pions en jeu il cumule ces scores. Le total permet de
dterminer le vainqueur.

Vous devrez galement imaginer des variantes, par exemple :


 si la n de son tour un joueur cre un alignement de trois de ses pions alors il pourra
rejouer.
 si le d comporte une face supplmentaire avec un zro, alors pour ce tirage le joueur fera
reculer un pion d'un adversaire avant de rejouer.
Sparer la vue du modle

Le dveloppement des rgles du jeu est largement indpendant des aspects graphiques. Si on
souhaite faire voluer notre programme pour l'adapter avec une autre prsentation, par exemple
sur un tlphone ou une console, l'essentiel du jeu sera tout de mme prserv, les changements
2
Universit Paris Diderot Informatique Anne 2017/2018

faire relvent tous de ce qu'on appelle la vue. Que le programmeur puisse localiser l'ensemble
du code concern simpliera donc grandement le dveloppement ultrieur. C'est pourquoi on
choisit, trs classiquement, de sparer ds la conception les aspects relatifs la vue, des aspects
propres au modle de donnes.
Dans notre cas, vous allez dans un premier temps tout faire en mode texte. Puis, lorsque
vous serez plus avanc dans votre rexion, que vous aurez quelques connaissances d'interface
graphique, et que vous aurez mieux cern ce que vous souhaitez apporter au projet selon votre
sensibilit, vous serez naturellement libre de la modier, de rednir les vues, via une interface,
ou une classe plus abstraite. L'essentiel est que vous spariez modles en gnral, et vues en
gnral.
L'association entre les modles et les vues se fera en introduisant un champs VueGenerale
dans les modles de votre jeu, et rciproquement si besoin. Et pour rendre compte d'une modi-
cation, graphique ou textuelle, le jeu s'adressera sa vue.
Travail d'interfaces graphique

Nous vous demandons d'implmenter graphiquement quelques vues simples, ayant une r-
gularit gomtrique. Vous pourrez si vous le dsirez placer vos cases dans une grille, utiliser
GridLayout et considrer les cases comme des boutons. Il serait trs souhaitable que la grille
puisse se redimensionner lorsqu'on agrandit la fentre.
 une vue en colonne :

 une vue en rectangle :

 une vue en zigzag :

 une vue en spirale :

 En bonus, vous pourrez essayer de proposer une solution base sur une image classique
du jeu.

3
Universit Paris Diderot Informatique Anne 2017/2018

Rapport et soutenance

Les travaux seront rendre sur Moodle sous la forme d'une archive nomme nom1 -nom2
selon la constitution de votre binme, et qui s'extraira dans un rpertoire nom1 -nom2 . Elle devra
contenir :
 les sources et ressources (images ...) de votre programme. Attention bien utiliser des
noms relatifs pour que nous puissions tester votre code sans avoir modier quoi que ce
soit.
 un chier nomm README qui indique comment on se sert de votre programme, et ce qu'il
nous faut regarder en premier.
 un rapport au format PDF de quatre ou cinq pages expliquant les parties traites, les
problmes connus, et les pistes d'extensions que vous n'auriez pas encore implmentes. Il
devra contenir imprativement une reprsentation graphique du modle. (Le plus simple
est qu'elle soit manuscrite, puis scanne)
 pensez prparer toutes choses utiles pour rendre la soutenance uide.
 la soutenance devra pouvoir se faire sur une machine du script partir des sources que
vous avez dposes. Elle se droulera devant un ou deux enseignants dans un mlange de
questions et de tests. Il pourra vous tre demand de modier votre code pour rpondre
une question spcique.
 Enn, organisez-vous pour avancer petit petit, sans par exemple vous perdre complte-
ment sur les aspects graphiques.

Source des images :


http ://www.brettspielwelt.de/Hilfe/Anleitungen/Numeri/ ?nation=fr

Vous aimerez peut-être aussi