Home
Rapport Final
Contents
1. direct ionDemandee AUCUNE ST LL veut continuer tout drort on teste si il est au bord du plateau LE getDirection NORD 66 getPosition getY 14 getDirection SUD getPosition getY 0 getDirection EST getPosition getX 14 getDirection 0UEST getPosition getX 0 si oui on l emp che d avancer setDirection AUCUNE return Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 32 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 33 Rapport Final elsel si il demand tourner 1f _directionDemandee getDirection 66 _directionDemandee AUCUNE on teste si il n y a pas de mur dans la direction o il veut aller LE lgetPlateau getCase getPosition getX getPosition getY getM ur directionDemandee fon Le fait Tourner SetDir ctron dir ctionbemandes direct ionDemandee AUCUNE PST Mi GENE contains TOU droits on teste si il y a un mur devant lui LE getPlateau getCase getPosition getX getPosition getY getMu r getDirection 1 si oui on l emp che d avancer setDirection AUCUNE return Si le PacMan est en bord de case on le fait passer sur la case suivante 1f getSousCoordonnee 9 amp amp getDirection NORD getDirection
2. EST setSousCoordonnee 0 if getDirection NORD getPosition setY getPosition getY 1 if getDirection EST getPosition setX getPosition getX 1 else 1f getSousCoordonnee 0 amp amp getDirection SUD getDirection QUEST setSousCoordonnee 9 if getDirection SUD getPosition setY getPosition getY 1 if getDirection 0UEST getPosition setX getPosition getX 1 sinon on le fait avancer else 1f getDirection AUCUNE if getDirection NORD getDirection EST setSousCoordonnee getSousCoordonnee 1 else setSousCoordonnee getSousCoordonnee 1 Direction PacMan getDirectionDemandee return _directionDemandee void PacMan setDirectionDemandee Direction Oil _directionDemandee d Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007
3. Le drap lui permet de ne pas tre mange par les fant mes Le speed lui permet d acc l rer Le lance roquettes lui permet de tuer les fant mes a distance La grenade lui permet de poser une bombe capable de d truire les murs La surprise bonus al atoire avec l effet d un bonus pr c dent ou sans effet Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 9 Rapport Final Les fant mes peuvent eux aussi collecter certains l ments afin d augmenter leurs comp tences individuels Les bonus mal fiques sont les suivants Le bad speed permet au fant me qui le ramasse d acc l rer pendant une dur e limit e Le missile permet au fant me de tuer le PacMan distance Le cloneur permet un fant me de se d doubler Son clone reste sur le plateau jusqu ce que le PacMan meurt Les bonus sont affich s al atoirement et pendant un temps donn Pour augmenter son score le PacMan doit collecter les PacGums Pour chaque PacGum le score augmente de 10 points Lorsque l ensemble des PacGums du plateau a t ramass le jeu passe au niveau sup rieur Chaque niveau offre une configuration diff rente du labyrinthe De plus la difficult augmente a chaque niveau intelligence des fant mes vitesse structure du labyrinthe 3 2 Etats d
4. diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 22 Rapport Final 4 1 1 5 Ecran de Jeu Il se divise en plusieurs parties Prototype de l interface Partie 1 Elle affiche le plateau de jeu en 3D Partie 2 Elle affiche des informations compl mentaires sur le Jeu positions d placements quantit s Partie 3 Affiche une miniature du labyrinthe en 2D avec la position courante du PacMan des fant mes des t l porteurs et des bonus Partie 4 Affiche le niveau courant le score le nombre de vie restant au PacMan 4 1 2 Interface Sonore Le programme produit une musique pendant que l utilisateur joue De plus il produit des sons destin s informer l utilisateur sur l tat de la partie en cours Mort du PacMan Apparition et disparition d un bonus sur le plateau Ramassage d un bonus par les personnages Fant me mange par le PacMan Passage au niveau suivant Fin de la partie L utilisateur a la possibilit d activer ou de d sactiver les effets sonores Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 23 Rapport Final 4 1 3 Interface Clavier et Souris Le clavier permettra Vutilisateur de contr ler le jeu Pendant une parti
5. num ration Direction et par sa _sousCoordonnee identifiant sa position l int rieur d une case du plateau de jeu Les personnages sont le PacMan et les Fantomes Les Fantomes se caract risent par leur tat d finit dans EtatFantome Le PacMan se caract rise par la direction demand e par le joueur Le BonusActif poss de a la fois les caract ristiques d un Bonus et d un Personnage Il s agit d un bonus collect par un personnage et ensuite activ sur le plateau tel une bombe C est donc un bonus qui d pend du temps et qui peut se d placer Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 13 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 Rapport Final 1400 31 1 HOEA NUA gt pros f uea Dog JS uea oog DpS uea oog Jee usa 000 H400 S ANSE A l pos TUES oog UU Upa 40 WISS pog ugpa gsn MIS tues jppog sanu zapao enug 34815 QEU UE Abu PIDA TIME 41432 4851181 1 proa 0 nea e diapla Juni sana yodaja 1 Ne poa Shayo dal Huna uodaja LIRE 2338544 US jose ja pion lap a eq Et gapan Japi st 2n409 gt 2 EN Nsnuogasgrpeb esnagoda a ura a lnea podaja LSA 2314048 J a p 1893140 UeJ2E17396 Ue MIE JUE ppe df pros TUNE visu RE JUEGOS US WAA 1815 7 Hapu ype G JULUOISUS Hp mayo neay pl sinayodajaj pros engate EE AIS nee 4 n
6. Bonus du jeu AfficheurPersonnages se charge de l affichage du PacMan et des Fantomes present sur un Plateau Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 16 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 Rapport Final 3 4 3 Contr leur nead po uea ooq uea ood afeuuos ad 20 abeuuos Ja q papug psl pioa gsuo SAN 2104940 3 0 uosa Ja s pioa suo SAN AJOAUO 9 SIS UOSANA OAUO SJas value Ia d i pioa urjsnuo gailen aus pioa Lag dec anue dass poa NUNA a aun jas pioa 1 aye gaspuasdas pioa snese d UE 98 qsnuoguoigsab poa ape quase lBaJua pI0A 9 lt nuog gt Ee quenuo ga uo sab pioa 1 nea e J dinea 2 4J9s pioa ua bue u pros Coneaje a denuogapnofe pioa sa oque suossa pros Quongggioda a pioa neaje y id snuo guongsab pioa sua Wade dap pioA Osnuogajajo9 our pioa 0sa6euucs1a quongsab pios spa wa guo pp Eau snuo ginsjoguos SIBPULOSIS qunsjoguos pioa 1 s3400 S a Bueya pro 210054348 aua aiye JINSJONUO 3 03 519 0107 poa papu PIGA gIpUS pa pros QIPUS pjsanol uBa oog paul suo sinsjoguos JULSAQUIO NPUS FU NOS INIHINISIS IANI OU NN ad jue 1923 lt lt uona NUS gt gt ueppe guos ju asse we ysnuogpus Q unuaWpus ipus lt lt uona WNUS gt gt ad ueo g pemo 346 0 31 96 L ul jauuByo MNN 31 WS ANNOS JadueS D
7. ici qu un Personnage conna t le Plateau sur lequel il se trouve Il doit en effet conna tre la pr sence de murs sur son parcours pour pouvoir se d placer 3 4 1 6 Partie Une Partie regroupe les informations n cessaires l ex cution du jeu Elle se caract rise par un niveau un nombre de vie un Plateau un Score et un tat suspendue ou non La classe Score regroupe un score et un nom associ Partie modifiant en permanence le score qui lui est associ elle est d clar e comme friend de Score Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 15 Rapport Final 3 4 2 Vue Af ficheurApropos AficheurJeu gameoven mg lmadgePP hl pauselmolmadePP hl scorelmaglmager Ph vieslmalmadePP M _Chiteslimg Image PF M 10 textureskyBox T eturelrm age 20 Afiicheuridenul textureskyBoxcourante rt embarque bool a AS cameraPlateau Look Sistruct aficher void cameraEmbarquee Look AtS tract afficherintormations p P lateau amp void afficherscore p P artie amp void afficherP lanip Plateau amp y void ahcherJeu Et Plateaus Twoid nextTedureskyB oxi void getCameraP lateau r Look 2Structa wrichCameradivoid isEmbarquebt void aficherNombre nombre int lt RasterPos int yRasterPos intivoid a ficnersatrinaftext sting Ra sterP os in
8. 40 35 Sy HD S MOQUE 416133018 SaaUUOb J00 a leen 39 100100 ez jul apo gun so d s pros LUI apo quolyso dRSA usa woe JG pp PIDA JUDAS a Waje ONS A 3140Ue JU ja woe japo qua O quo us OL Pil za LOUE JU UNO Waje ES aU 18904 JaJInpad TUNA UOULESS Ea ae d St pros pur i a enau E para ea R quo es ea yaibua EIER De plo UO IC Dap UEUSCIUOIDGICIES yop gi iana opa CH 10110341 39pUte Wa guoa UJE TOT Fp jota dA snuogylsnuogepes od 2 3 nuog EliZapapoiSsnuogarmab proa Juas aUUOD O0 ENOSISE UNO yau DO erno pioa 11104994109 UO SU IR E H tte Muongo na Aa IESSE AA ghead Ia da MO AA E ME LOIS une Cell LS NO Cat OT DUT TON 00939110 UDEA NUS gt saya 05 nuog juraauuopoosenos gt Ys nuo IEnUuOoO amos prend III es ln a dinpa d H al SAN a 4npad pros Du DIS ga aun TS E WILL Dat Ses 418 pros BAA Wa als a an SE qual aa nrjab pros fa d sAuog ada a adi nuog Dads USA auna gaang LULA A Sa PIDA LULA YUI A NIE IDA UA JA E Juni Je PIDA UI Jas ORK yo puso D AIT2NO ES DUT ZE l is Oil 3345 rat us dans ES UE EE 5431130004 Job 34 033d5 Cell d Ach EST 355 d LU Wed 519 Dr WEI TE d adA SIDA lt lt MOIEJA NUA gt YANA YAN EU JE AUOT ANSE KIDA TULQUISS AT NI Lu Saiten LISPOM 00E HERDE gd Di Marseille II 1X A e t de la M diterran iny Universi de Lu
9. 7 19 Rapport Final 3 5 3 Pendant le jeu Pendant le jeu Vutilisateur peut Diriger le PacMan l aide des touches directionnelles Utiliser les bonus collect s lance roquette grenade en pressant la touche Espace Mettre la partie en pause en pressant la touche P et revenir au jeu en appuyant une seconde fois sur cette touche Activer ou d sactiver le son en pressant la touche M gt Changer la skybox en pressant la touche B Activer ou d sactiver la camera embarqu en pressant E Revenir au menu principal en pressant Echappe gt A tout moment l utilisateur peut quitter le jeu en fermant la fen tre La partie en cours est alors enregistr e automatiquement afin que le joueur puisse la reprendre ult rieurement 3 5 4 Fin du jeu A la fin d une partie une fen tre permettant d enregistrer le score du joueur s affiche Si celui ci souhaite enregistrer son score il doit saisir son nom puis cliquer sur lt lt OK gt gt Ecole Superieure d Ingenieurs de Luminy Universit de la M diterran e Air Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 20 Rapport Final 3 6 Choix Techniques Les choix techniques nonc s dans le cahier des charges ont t respect s utilisation du langage objet C avec les librairies OpenGL et GLUT pour Vinterface La conception s est faite suivant les r gle
10. Controller Nous avons d cid de suivre ce model pour d velopper PacMan 2007 Ainsi on peut diviser les classes d velopp es en trois groupes Pour la vue les classes dont les noms sont de la forme Afficheur cpp charg es d afficher les diff rents crans et les composants du jeu Ces classes ex cutent principalement du code GLUT et OpenGL Pour le contr leur les classes dont les noms sont de la forme Controleur cpp charg es de g rer l ex cution du jeu Elles sont charg es de contr ler l volution des donn es du jeu au cours du temps Pour le model les autres classes dont le nom correspond a l l ment du jeu ou a une g n ralisation de ceux ci La structure des classes est pr sent e dans la partie suivante suivant les trois parties Model Vue et Contr leur 3 4 Structures de Donn es Les diagrammes pr sent s ci apr s sont disponibles dans le dossier UML des documents livr s avec le projet pour une consultation plus d taill e 3 4 1 Model Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 11 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 Rapport Final CUL Ilda Ao 400134 LA J LIN d AUDE 31813 UOS NUA gt PIDA 0111314 5 he gioa MUSSA PIDA Leif SON 40 pas UNS yo UMa ESA lt a gt 40 Pas UU JS a pioa CS MOQUE 41813 311219 83 314074 43013 0033
11. N PacMan PacMan Direction d voto avancer Ek Direction getDirectionDemandee void setDirectionDemandee Direction d PacMan tendi f Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 Rapport Final pacManc00 Copyright e 2009 Ho Samuel Roller amp Jennifer Salle Bull CObVETORE notice in main e d file PacMan cpp author Samuel Rollet author Jennifer Salle since 2007 version 1 0 Ak A A AR gt include PacMan h tinclude lt iostream gt PacMan PacMan directionDemandee AUCUNE PacMan PacMan Direction d directionDemandee d void PacMan avancer if getDirection AUCUNE _directionDemandee AUCUNE quand le PacMan est au centre de la case if getSousCoordonnee 5 if possedeBonus PASSE_MURAILLE si il a demand tourner 1f _directionDemandee getDirection 66 _directionDemandee AUCUNE on teste si il ne va pas sortir du plateau 1f directionDemandee NORD 66 getPosition getY lt 14 directionDemandee SUD 66 getPosition getY gt 0 directionDemandee EST amp amp getPosition getX lt 14 directionDemandee OUEST 646 getPosition getX gt 0 on le fait tourner setDirection _directionDemandee
12. N Z ss ada ub 3 ueno queda suen yray Anaj0uoS sassejo ap aw weeg P3 Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 17 Rapport Final Ce diagramme pr sente les diff rentes classes charg es de contr ler l ex cution du programme de mettre jour les donn es et de traiter les interactions avec l utilisateur 3 4 3 1 Sons Le son du programme est g r par la classe ControleurSons Celle ci possede une s rie de sons qu elle charge sa cr ation dans des SndStruct Ce lien est identifi par la composition entre ControleurSons et SndStruct SndStruct regroupe les donn es d un fichier son dans sample et le num ro de canal sur lequel le son est jou La liste des sons de PacMan 2007 est d finie dans l num ration SndID 3 4 3 2 Jeu Le d roulement du jeu est contr l par plusieurs classes ControleurPartie se charge de o l interaction entre les elements du plateau mort des personnages t l portation collecte des bonus o La sauvegarde des parties ControleurPersonnages se charge du d placement des personnages et de la gestion des fant mes production retour a la crypte ControleurBonus contr le la presence des bonus sur le plateau ajout de nouveaux bonus gestion du temps d apparition des bonus et des bonus collect s pa
13. O ED RL ET PIDE O DO LA MN LA DA SED A Ech On peut voir ici un aper u de l cran de menu Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 28 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 29 Rapport Final 5 2 2 Plateau de Jeu 5 PacMan 2007 Comme indiqu dans le chapitre r alisation l cran de jeu affiche le plateau de jeu une miniature du plateau de jeu des informations sur l tat du jeu score nombre de vies des informations compl mentaires sur les diff rents elements du plateau On peut observer ici le PacMan en jaune les fant mes en bleu diff rents bonus PacGum en rose BigPacGum en rouge Speed en bleu la crypte les t l porteurs Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 30 Rapport Final 6 CONCLUSION Le produit fournit au client respecte les principales exigences de fonctionnement d finie dans le cahier des charges en effet il est possible d ex cuter notre programme pour jouer a PacMan 2007 L importante phase de conception s est av r e b n fique pour la r alisation de ce projet En effet elle a permis un d veloppement plus rapide et une structuration importante des diff rents compos
14. Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 Rapport Final Jennifer Salle amp Samuel Rollet Projet de Programmation Orient e Objet Seconde Ann e Rapport Final Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Janvier 2007 Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 2 Rapport Final Bordereau de Livraison NR REDACTEUR COMPILED BY Jennifer Salle amp Samuel Rollet DATE 18 01 2007 REFERENCE __ RapFin PacMan 2007 o o e a o o o a 00 o e 0 e a e e o a o o e a 00 e e e a e e e a e e e a e e e a A e 0 CR e M cm o mo o ms o cm o me 6 6 ms o mm cm 6 ms o a e cm me 6 e um o s o me cm o mo o e 6 6 cum e o ms o cm ms a o 6 2 VISA VALIDATION DIFFUSION DISTRIBUTION LIST Samuel Rollet Jennifer Salle Marc Daniel S bastien Mavromatis immense sem cm em cm cm dm 6 E 6 6 0 O O en II EDS ED END 0 0 O END ED END ED END EE De ED END SUD END ED END D EE EDS ED ED ND SD END ED ED nm Ecole Sup rieure d Ing nieurs de Luminy Universit de la M dit
15. aillant la structure de chaque niveau au format pm leur structure est d crite plus loin src outils AStar Contient la classe charg e du calcul des plus courts chemins utilis e pour intelligence des fant mes src outilsImage Contient les modules charg s de l ouverture des images utilis es dans le projet aux formats ppm et tga src snd Contient les fichiers sons utilis s par le programme Les fichiers sources cpp d butent par une ent te nom de la classe auteurs et description respectant les normes d criture de commentaire du Doxygen indiquant les inclusions les d clarations des m thodes Les fichiers h quant a eux contiennent les prototypes des classes et de leurs m thodes Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 25 4 3 2 Fichiers Rapport Final Chaque classe se compose de deux fichiers un cpp et un h Les fichiers des classes sont Afficheur APropos cpp Afficheur A Propos h AfficheurBonus cpp AfficheurBonus h AfficheurJeu cpp Afficheur eu h AfficheurMenu cpp AfficheurMenu h AfficheurPersonnages cpp Afficheur Personnages h Afficheur Plateau cpp AfficheurPlateau h Bonus cpp Bonus h Case cpp Case h ControleurBonus cpp ControleurBonus h ControleurClavier cpp ControleurClavier h ControleurEcran
16. ants Cependant certaines options pr vues pendant la conception n ont pas pu tre impl ment es Toutefois cela n emp che pas un bon fonctionnement du produit De plus le planning initial a bien t respect et nous avons pu livrer le produit la date pr vue Le logiciel d velopp pendant le projet est accessible par l interm diaire du site web Equipe de d veloppement Samuel Rollet Jennifer Salle Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 31 Rapport Final ANNEXE 1 Code Sources Les codes sources sont disponibles sous leur format original dans le dossier sources des documents fournis avec le projet Vous pouvez consulter ci apres un exemple du code r alis pour ce projet pour la classe PacMan e PacManz00 7 Copyright 2007 Lo Samuel Roller amp Jennifer Salle Pull copyright notice in maing ez x file PacMan h author Samuel Rollet author Jennifer Salle A A FR x Ent te de la classe PacMan classe contenant les informations specifiques au PacMan Ro ti fndef PACMAN H define _PACMAN_H include lt assert h gt Finclude Direction hn tinclude Personnage h finclude Plateau h using namespace std class PacMan public Personnage private D1Fection dirrectionDemandes SO
17. cpp ControleurEcran h ControleurPartie cpp ControleurPartie h ControleurPersonnages cpp ControleurPersonnages h ControleurSons cpp ControleurSons h Coordonnees cpp Coordonnees h Crypte cpp Crypte h Element cpp Element h Fantome cpp Fantome h PacMan cpp PacMan h Partie cpp Partie h Personnage cpp Personnage h Plateau cpp Plateau h Score cpp Score h Teleporteur cpp Teleporteur h Temporel cpp Temporel h Des fichiers h sont utilis s pour d finir des constantes sous formes d num rations BonusType h Direction h EcranType h EtatFantome h Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 26 Rapport Final Le point d entr e du programme et les fonctions d initialisation de GL et GLUT se trouvent dans PacMan2007 cpp Des fonctions utilitaires suppl mentaires pour faciliter l utilisation d OpenGL ont t d velopp es et plac es dans utilitairesGL cpp utilitairesGL h 4 3 3 Fichiers de Niveaux La structure de chaque niveau est d finie dans un fichier du dossier src niveaux Chacun de ces fichiers d finit les l ments pr sents sur le plateau et leur position Les fichiers comportent Un magic number permettant de confirmer la validit du fichier La position du PacMan sur le Plateau Les informatio
18. e il pourra diriger le PacMan utiliser les bonus stopper le son mettre en pause quitter La souris permet l utilisateur de naviguer dans le menu de l cran de d marrage ainsi que de passer de cet cran aux crans de jeu de scores d aide et d a propos 4 2 Algorithmes 4 2 1 Intelligence des Fant mes Afin de rendre le jeu plus difficile et que les fant mes aient un d placement plus r aliste ils devaient respecter les regles suivantes Quand ils chassent le PacMan chercher se rapprocher le plus possible de celui ci Quand le PacMan chasse les fant mes chercher a se cacher dans la partie du plateau la plus loign e du PacMan Apr s avoir t mang s par le PacMan retourner l entr e de la crypte pour tre r g n r s Pour mettre en place ces comportements il tait n cessaire d utiliser un algorithme de recherche du plus court chemin Nous avons tudi les possibilit s d utiliser deux algorithmes diff rents Dijkstra et A Dijkstra garantit de d couvrir le plus court chemin mais est plus co teux que A en m moire et en temps de calcul A quand lui est moins co teux mais ne garantit pas la d couverte du plus court chemin Cependant la solution trouv e avec A est l une des meilleures Le recours au calcul d un chemin est assez fr quent dans PacMan 2007 Quand un nouveau fant me est produit Quand un fant me est arriv la fin du chemin qu il suivait celui ci ta
19. e3 81 das pros fuea ooq anpuasdsn a uea ooq1anpuadsnos1 pion sabed OS da 943 E AU pioa Qnes HSE AU ILISHA NE uraisi aa WANO SAA SALI A jul ala Ja LUbne JUL QUI 5 3400 SPpe jJurfneaA aqua DEA JILI NBA NB as e Uea 00q anpuedens zl Sala AGU UEAESA IL pios UU S i SA pua gt gt ur so qa fi EE pIOA TAUN UO E E JU wa Nn QUE D AUISIODS SUIS WOU E SPON ZOU ENE po Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 14 Rapport Final Ce second diagramme pr sente le regroupement des elements sur le plateau de jeu 3 4 1 5 Plateau de Jeu Le Plateau est un carr dont la taille est d finie dans la classe compos de _dimension dimension Cases Une Case permet de conna tre la presence de murs sur ses quatre faces une coordonn e donn e du plateau Les Cases ne pouvant pas exister sans Plateau et tant cr es par celui ci le lien entre Plateau et Case est une composition Un Plateau supporte l ensemble des l ments du jeu plusieurs Teleporteurs plusieurs Fantomes plusieurs Bonus un PacMan et une Crypte Un Plateau se caract rise aussi par un l ment A Star dont les donn es d pendent de la structure du labyrinthe et qui effectue le calcul du chemin d un point l autre On voit
20. erran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 3 Rapport Final Table des Matieres INTRODUCTION usd a do en 4 e E A AAA AAA WAA PAA AAA AAA O O AA 4 LZ WO EE 4 2 PLANNING rd 5 Zas DU EE 5 2 2 Encha nement des Etapes du Projet 5 2 5 Plannino Effect E 6 3 CONCEPTO N WE 8 LC ES A e o Ca Ca 8 2 Ela duela en o o SE 9 3 3 Model de e e Te E 9 3 4 Structures de RE 10 AENA ii 10 JA22 EE 15 3493 CONTO Uli 16 3 5 Manuel WAN ssp o ia 18 3 5 1 MENU PU EE 18 3 5 2 Menu Score Aide et A propos tai 18 3 5 3 Pendantle E 19 3 54 ute dU e EE 19 3 0 Chore Techniques lili 20 R ALISATION a A 21 De Wa O WA AAA AWA AA AAA AA AA AAA 21 411 EE EE 21 t12 IME SONO eun oidos 22 4 1 3 Interface Clavier et Souris 25 Ed 23 4 2 1 Intelligence des Fant mes ini 23 4 3 Description des fichiers uti pi nn ini 24 AS Organisation TEE 24 ON 25 REENEN 27 3 1 Probl mes Rencontres escasa 27 5 1 1 Inteligence des Fantome s Aaaa 21 5 2 TE E CONS nr a a Da oi ale 27 5 1 3 Diff rence avec les Pr visions 27 92 AA WA ka AA WAA WA WA AWA 28 SA En EE 28 52 2 CA de E tal asi nie a 29 DEENEN 20 ANNEXE EE 31 Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Ob
21. est de d ploiment Rendus Cahier des Charges Rapport d avancement Soutenance Site Web e E November 2006 Week 45 December 2006 January 2007 Week 45 Week 47 Week JE Week 49 Week 50 Week 51 Week 52 Week 53 Week 1 R alisation 22 Dayz Model 17 Dave Controleur 22 Days Tests 20 Davis 12 Davis Tests unitaires Tests d int gration au Test de d ploiment E Days 95 Davis 2 2 Encha nement des Etapes du Projet La r alisation de ce projet s est divis e en trois principales phases Une premi re phase d analyse du probl me qui s est sold e par la remise du Cahier de Charges le 17 Novembre 2006 Une seconde phase de conception pendant laquelle nous avons d compos le programme en modules d finit les relations entre les modules et d finit leur constitution interne Cette phase sera r alis e en utilisant les diff rents diagrammes UML Une troisieme phase de r alisation des objectifs fix s dans le cahier des charges en s appuyant sur les r sultats de phase de conception Cette troisi me phase s est divis e en trois parties Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 6 Rapport Final Model constitu des classes qui repr sentent les donn es de l ap
22. jet Seconde Ann e PacMan 2007 4 Rapport Final 1 INTRODUCTION 1 1 Objectif Les jeux de labyrinthes sont des jeux vid o tres classiques qui consistent se d placer dans un labyrinthe peupl de cr atures plus ou moins hostiles et plus ou moins sophistiqu s L objectif de ce projet tait la r alisation d un tel jeu inspir du classique PacMan avec de nombreuses options absentes du jeu d origine Ce projet est d sign sous le nom de PacMan 2007 1 2 Contexte Dans le cadre du projet de programmation orient objet de seconde ann e du d partement informatique de l Ecole Sup rieure d Ing nieur de Luminy nous avons r alis s ce projet qui nous a permis de mettre en uvre les connaissances que nous avons acquises lors des cours et des TP de Programmation Orient e Objet de Conception Orient e Objet et d Infographie Pour cela nous avons travaill s en bin me celui ci tait constitu de Jennifer Salle et Samuel Rollet Les enseignants charg s d encadrer ce projet taient M Marc Daniel et M S bastien Mavromatis Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 5 Rapport Final 2 PLANNING 2 1 Planning Initial GANTT project D but Analyse Conception R alisation Model Vue Controleur Tesis Tests unitaires Tests d int gration T
23. m Jennifer Salle amp Samuel Rollet Janvier 2007 enieufs A Ecole Sup rieure d Ing Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 12 Rapport Final Ce premier diagramme pr sente les diff rents composants du plateau 3 4 1 1 El ments Tous ces composants ont des propri t s communes regroup es dans la classe abstraite Element Les Elements se caract risent par leur Coordonnees sur le plateau de jeu 3 4 1 2 El ments Statiques et Intemporels Les Elements qui sont statiques et ne d pendent pas du temps pendant le jeu Teleporteur et Bonus h ritent directement de Element Les Bonus sont caract ris s par leur type d finit dans l num ration BonusType 3 4 1 3 El ments D pendant du Temps Tous les autres Elements ont des propri t s communes relatives l coulement du temps qui sont g n ralis es dans la classe abstraite Temporel La classe Crypte h rite de Temporel directement car il s agit d un element fixe sur le plateau 3 4 1 4 El ments Mobiles Les personnages sont des l ments mobiles leurs propri t s relatives aux d placements sont regroup es dans la classe Personnage Les personnages peuvent poss der une liste de Bonus qui peut tre vide Ces Bonus tant ramass s sur le plateau et pas cr s par le Personnage le lien repr sentant la possession d un Bonus par un Personnage est une agr gation Un personnage se caract rise par sa direction d finie dans l
24. nnifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 7 Rapport Final On peut observer un allongement de la phase de r alisation du projet Cela s explique par importance des diff rents modules pr vus pendant la phase de conception et par la mobilisation de notre quipe sur d autres projets simultan ment Cependant nous sommes en mesure de livrer le projet la date pr vue Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 8 Rapport Final 3 CONCEPTION Cette partie du rapport pr sente le r sultat de la phase de conception effectu e pendant ce projet Il rappelle tout d abord les regles du jeu qui ont t s utilis s pour concevoir les structures de donn es Il pr sente ensuite les diff rents tats du jeu qui ont t d terminant dans l organisation de ces m mes structures Il expose enfin le model de conception utilis et les diff rentes structures de donn es qui en ont r sult 3 1 Regles du jeu Le PacMan 2007 permet a l utilisateur de se divertir avec ce jeu de labyrinthe volu Le but du jeu est de gagner un maximum de points l aide du personnage contr l par le joueur nomm PacMan Pour cela il volue dans un labyrinthe ou il doit ramasser des l ments diss min s tou
25. ns sur la crypte nombre de fant mes l intervalle de production des fant mes sa position sur le plateau et la position de la porte sur la crypte Les informations sur les t l porteurs nombre positions sur le plateau Les informations sur les murs du labyrinthe pour chaque case une s rie de quatre O ou 1 pour indiquer la pr sence ou l absence de mur Les informations sur les bonus pr sents au lancement du jeu PacGum BigPacGum pas de bonus Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 27 Rapport Final 5 R SULTATS 5 1 Problemes Rencontr s Le d veloppement de PacMan 2007 nous a confront a diff rents problemes aussi bien logiciels que mat riels 5 1 1 Intelligence des Fant mes La mise en place de l intelligence des fant mes a caus des problemes mineurs au d part Les fant mes trouvaient trop facilement le PacMan et leurs chemins se superposaient Ce probleme s est r solu avec la mise en place des autres composants du jeu t l porteurs BigPacGum et autres bonus La presence de ceux ci modifie r gulierement la position du PacMan et la position et l tat des fant mes vitant le probleme de superposition des fant mes 5 1 2 Inclusions Crois es Comme pr sent dans la partie sur la conception relative aux l ments les pe
26. nt plus court quant le fant me est proche du PacMan les calculs deviennent plus fr quents Quand un fant me est t l port sa nouvelle position tant inconsistante par rapport au chemin qu il suivait il doit recalculer son chemin Quand un fant me est mang par le PacMan il doit calculer le chemin pour retourner la crypte Etant donn la n cessit de calculer r guli rement des chemins l algorithme A a t retenus pour ce projet Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 24 Rapport Final 4 3 Description des fichiers 4 3 1 Organisation du Projet Le code source du projet disponible dans le dossier src des documents livr s avec ce rapport s organise de la facon suivante src Contient l ensemble des classes du model de la vue et du contr leur Le fichier PacMan2007 cpp contient le point d entr e du programme ainsi que les fonctions de base pour le fonctionnement de GLUT initialisation timers affichage Le fichier PacMan2007 dev est le fichier du projet DevC src icon Contient l ic ne du projet pour l ex cutable windows src img Contient les images n cessaires au projet images pour le menu et l affichage d informations au format ppm images pour les textures au format tga src niveaux Contient les fichiers d t
27. plication Vue constitu des l ments qui se chargent de la repr sentation visuelle des donn es interface Contr leur qui gere les donn es le d roulement du programme et commande la vue Une phase de test s est d roul e en parall le de la phase de d veloppement Elle s est d coup e en trois parties d pendantes de l avancement de la phase de r alisation Tests unitaires qui permettent de tester l int grit de chaque modules Tests d int gration pour valider l interaction entre les modules d pendants Tests de d ploiement pour valider le bon fonctionnement du programme L objectif tant d acqu rir des connaissances sur les diff rentes technologies utilis es durant le d veloppement l ensemble des t ches a t r alis en bin me pour favoriser une meilleure compr hension du produit fini Les ventuelles parties d velopp es individuellement ont fait l objet d une explication de la personne en charge l autre membre de l quipe 2 3 Planning Effectif GA project Ec November 2006 December 2006 January 2007 Inte ek 45 Week 45 Week 47 Week 4 Week 49 Week 50 Week 51 Week 52 Week 53 Week 1 Week 2 D but Analyse Conception R alisation R alisation Controleur E EN Tests unitaires E EN Tests d int gration E EM E E WW Test de d ploiment Rendus Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Je
28. r le PacMan 3 4 3 3 Ecrans Le ControleurEcrans se charge d identifier l cran affich par le jeu Les diff rents crans sont d finis dans l num ration EcranType Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 18 Rapport Final 3 5 Manuel d utilisation 3 5 1 Menu principal Dans le menu principal l utilisateur peut D buter une partie l utilisateur peut d buter une nouvelle partie en cliquant sur Jouer Reprendre une partie l utilisateur peut continuer une partie d j commencer en cliquant sur Reprendre Consulter les meilleurs scores l utilisateur peut consulter les meilleurs scores enregistr s en cliquant sur Scores Afficher l aide l utilisateur peut consulter l aide en cliquant sur Aide Consulter la rubrique A Propos l utilisateur peut consulter la rubrique A Propos en cliquant sur A propos 3 5 2 Menu Score Aide et A propos Lorsque l utilisateur consulte l une des trois rubriques Scores gt Aide gt ou propos celui ci peut revenir au menu principal en cliquant sur Retour Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 200
29. rsonnages doivent connaitre le plateau sur lequel ils se trouvent notamment pour permettre leur d placement et le plateau doit conna tre les personnages qu il contient Les sp cificit s techniques du C rendent difficile les inclusions crois es de fichiers pour les classes fortement li es Si deux classes sont fortement li es il est impossible de d clarer des instances de chacune dans sa classe li e Cela provoque des erreurs de compilation difficiles comprendre et nous a oblig modifier l impl mentation de ces classes notamment en utilisant des pointeurs la place des r f rences 5 1 3 Diff rence avec les Pr visions Certaines options du jeu n ont pas pu tre d velopp es par manque de temps notamment certains bonus la gestion de l enregistrement des scores et de la partie en cours Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 Rapport Final 5 2 Ecrans PacMan 2007 se divise en deux crans principaux l cran de menu qui permet de naviguer vers les autres crans et Vecran de jeu qui affiche le plateau et permet l utilisateur d interagir avec les personnages 5 2 1 Menu E Y J Fantomes 4 Prochain Fantome 200 RAR AMEN O WI Bonus 214 e d AMIA YA OS CCD DO fr LI LESS DOLO ROO MES L A LIDI
30. s de mod lisation UML et en utilisant le logiciel Poseidon for UML Le d veloppement a t effectu sous Windows en utilisant DevC La librairie utilis e pour int grer des sons dans le programme est FMOD Nous avons effectu des tests sur les librairies OpenAL et FMOD afin de d terminer la plus performante et cette derni re s est av r e la plus simple utiliser Les commentaires du code source ont t fait suivant la norme Doxygen pour faciliter la g n ration de la documentation Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 21 Rapport Final 4 R ALISATION 4 1 Interfaces L interface entre le programme et l utilisateur se fait de fa on visuelle sonore et par l interm diaire du clavier et de la souris 4 1 1 Interface Visuelle L interface visuelle se divise en plusieurs crans 4 1 1 1 Ecran de d marrage Il affiche un menu proposant l utilisateur Jouer Reprendre Scores Aide A propos 4 1 1 2 Ecran de Scores Il affiche la liste des meilleurs scores sauvegard s avec le nom du joueur 4 1 1 3 Ecran d Aide Il affiche la liste des commandes permettant l utilisateur de jouer 4 1 1 4 Ecran d a Propos Il affiche les informations relatives au logiciel Ecole Sup rieure d Ing nieurs de Luminy Universit de la M
31. t en vitant de rencontrer ses ennemis les fant mes qui se d placent de facon intelligente sur le plateau de jeu Au d but d une nouvelle partie le PacMan dispose de trois vies Les fant mes sont produits dans la crypte Il ne sortent que individuellement de celle ci Par d faut les fant mes bleu peuvent manger le PacMan ce qui lui fait perdre une vie Le joueur doit alors tout faire pour les viter Pour chaque vie perdue l ensemble des personnages retrouve leurs positions initiales du niveau courant Quand le PacMan perd toutes ses vies la partie est termin e Si le PacMan mange un big PacGum il peut manger les fant mes devenus bleus pendant une p riode donn e ce qui augmente son score de 1000 points par fant me Pendant cette p riode les fant mes cherchent a fuir le PacMan Lorsqu ils sont mang s par le PacMan ils deviennent gris et doivent revenir a la crypte pour se r g n rer De plus lorsque le PacMan mange un Big PacGum le score augmente de 100 points A chaque fois que le PacMan accumule 10 000 points il gagne une vie suppl mentaire Les diff rents personnages peuvent utiliser les t l porteurs pour passer d un t l porteur a l autre Les destinations des t l porteurs sont al atoires et ne sont pas garantis Le PacMan peut galement collecter des bonus qui modifient son comportement pendant une dur e limit e Les bonus sont les suivants Le passe muraille lui permet de traverser les murs
32. t yRasterP os int void qgelStingDirection d Direction void AficheurP lateau A icheurB onus icheurP ersonnages aficherPlateau p Plateau 1 void aficherBonusih Liste lt Bonus e1 void ache Muro Cazes int int void ache act um br Bor use void lt a ficherCryptelc Crypte void a ficherBigPac6umib Bonuss void a icherT elep ote urt Teleporteur amp void aticherP asselbduraile do Bonus void aficherDraprb Bonuss J void aficherspeed b Bon usa void aficherLanceR oquettes br Bonus void aficherGrenade b Bonus void afichersurpriselo Bon us amp void aficherBadspeed bh Bonus void aficherissiledbeBonus amp rvoid aficherCloneumb Bonus void aficherPersonnages p Plateau amp Y void aficherFantomettFantomes Told afhicherPaciian p Pachian amp void Ce diagramme pr sente les diff rentes classes charg es de l affichage du jeu Chaque cran est affich par une classe diff rente celles ci se caract risant notamment par les images qu elles affichent L cran de jeu tant plus complexe l affichage des diff rents composants a t d l gu diff rentes classes AfficheurJeu se caract rise par ses images mais aussi par les informations sur la skybox courante et sur la camera embarqu e ou non Le plateau est affich par la classe AfficheurPlateau qui se charge de construire les murs ainsi que les l ments statiques Crypte et Teleporteurs AfficheurBonus se charge d afficher les diff rents
33. u jeu sm Etats du Jeu Execution Partie en cours Consultation du menu Nouvelle partie o AAA O Lancer le Jeu Continuer Quitter Fin Partie Enregistrer Score Consultation des Scores Consultation de l aide Consultation de l a propos Created with Poseidon for UML Community Edition Not for Commercial Use 3 3 Model de Conception Le modele de conception MVC d crit par Xerox pour le langage Smalltalk vise s parer les elements d une application en trois unit s le Model la Vue et le Contr leur ce qui a pour objectif de s parer le traitement le stockage et la pr sentation des donn es Ce mod le de conception permet la mise en place d applications bien structur es et faciles a maintenir en effet les modifications sont Ecole Sup rieure d Ing nieurs de Luminy Universit de la M diterran e Aix Marseille II Jennifer Salle amp Samuel Rollet Janvier 2007 Projet Programmation Orient e Objet Seconde Ann e PacMan 2007 10 Rapport Final ind pendantes et plus ais es aussi bien au niveau du traitement que de la pr sentation Cette architecture s pare les applications graphiques en trois parties le Model qui repr sente les donn es de l application la Vue qui est la repr sentation visuelle des donn es du Model et transmet les actions de l utilisateur aux Contr leurs le Contr leur qui effectue le traitement des donn es et des actions de l utilisateur
Download Pdf Manuals
Related Search
Related Contents
Progress Lighting P3948-09 Installation Guide 取扱説明書 - 日立工機 Bedienungsanleitung (Deutsch) Samsung 32" Full HD TV J6302 seeria 6 Kasutusjuhend CONFÉRENCE RÉUSSIE POUR MME HÉLÈNE RENAUD C`est Brand Analyzers Portable Whole Blood Test Sport Gamcorder Fig.L - Power Commander Copyright © All rights reserved.
Failed to retrieve file