170 likes | 335 Views
Astéroïdes. Diana Farfan Alper Ekmekci. Librairie choisie et langage utilisé. La librairie utilisée pour le jeu est ALLEGRO 5.0 Bonne gestion du sons Bonne gestion d es images Bonne gestion d es entrées du clavier Bonne gestion du temps Le jeu a été développé en C ++.
E N D
Astéroïdes Diana Farfan AlperEkmekci
Librairiechoisie et langageutilisé • La librairie utilisée pour le jeu est ALLEGRO 5.0 • Bonnegestion du sons • Bonnegestiondes images • Bonnegestiondes entréesdu clavier • Bonnegestion du temps • Le jeu a été développé en C ++
Principe du jeu Le joueurconduira une navettespatialeverslaquelle se dirigentplusieurs asteroides Le but du jeu est de survivre le plus longtemps possible sans être touché par les astéroïdes et en en détruisant le maximum grâce aux missiles.
Diagramme de Modules Alper 1. MODULE IMAGE Diana Alper 2. MODULE NAVETTE SPATIALE 3. MODULE MISSIL Diana 4. MODULE ASTEROIDE tous 5. MODULE JEU
1.Image.h Les différentes images utilisées dans le jeu sont: Navette en accélération navette.png Missile missile.png Fond statique fondStatique.png Navette en repos navetteOn.png Astéroïde Asteroide.png Fond animé fondDynamique.png
2.Navette.h • La Navette peut évoluer sur la carte de 2 façons: • Rotation • Déplacement
2.Navette.h ROTATION DE LA NAVETTE 0.05 -0.05 -0.10 0.10 -0.15 0.15 Position Initiale Angle: 3π/2 angle position = angle position - 0.05 VIRAGE A GAUCHE angle position = angle position + 0.05 VIRAGE A DROITE
2.Navette.h (-0.7,0.5) B (-0.7,0.5) B sin θ = 0,6 DÉPLACEMENT DE LA NAVETTE DÉPLACEMENT D’UN POINT A VERS UN POINT B Position Initiale= (0,0) Position Initiale= (0,0) Soit θ = 37 cosθ = - 0,8 A Position[0] = 0; Position[1] = 0 Vitesse[0]= 0; Vitesse[1] = 0 Acceleration[0] = cosθ = 0.6 Acceleration[1] = sin θ = -0.8 Vitesse[0] = Vitesse[0] + Acceleration[0] =( 0 - 0,8 )* friction= -0.7 Vitesse[1] = Vitesse[1] + Acceleration[1]= (0 + 0.6)* friction= 0.5 Position[0] = Position[0] + Vitesse[0] = 0 + -0.7 = -0.7 Position[1] = Position[1] + Vitesse[1] = 0 + 0.5 = 0.5 Position Initiale: (0, 0) Nouvelle position : (-0.7, 0.5)
3.Missile.h • Position et déplacement: • Le missile sort de la pointe de la Navette avec une vitesse constante • Son temps de vie est de 2 secondes, pendant ce laps de temps: • Soit il y a collision avec un Astéroïde et destruction des 2 objets • Soit il n’y a pas de collision, puis le Missile disparait au bout de 2 secondes
3.Missile.h PAS DE COLLISION Pournepassaturer la mémoire, on a creé un temps de vie pour le Missile
3.Missile.h Collision entre un Missile et un Asteroïde
4.Asteroide.h • Position et déplacement: • Nombre maximal d’Asteroides sur l’écran: 10 • Les coordonnéesoùapparaissent les astéroïdessontdéterminés de façonalétoire, les astéroides se déplacent sur la carteavec une vitesse constante. • Il y a 2 cas possibles: • Collision avec un Missile • Collision avec la Navette
4.Asteroide.h Collision entre Asteroide et Missil
4.Asteroide.h Collision entre Asteroide et la Navette
5.Jeu.h • Le jeufonctionneavec une queued’événements: • Événement du clavier • Ëvénement de fenêtre • Événement de chronomètre • L’événement de chronomètre se produità une cadence de 60 coups par seconde. Àchaquecoup de chronomètre: • L´état du clavierestverifié. Selon les touchesutilisés, les positions des objetschangent • Onvérifie le champs “actif” de chaqueobjetpour savoir s’ilfautqu’ilapparaisseàl’écranounon .
Jeu.h et Main.cpp • INITIALISATION DU JEU • Le jeu s’initialise avec un score à 0 et un nombre de vies à 5 • FINALISATION DU JEU • Lorsqu’un Astéroïde est détruit le score augmente • Lorsque la Navette est détruite le nombre de vies diminue de 1 • Le jeu se termine lorsque le nombre de vies atteint 0 • Ensuite une fenêtre s’affiche à l’écran avec le score atteint par le joueur. On propose au joueur de jouer à nouveau ou de quitter le jeu. • RÉINITIALISATION DU JEU • Dans le cas où le joueur accepte de jouer à nouveau: • On rappelle la fonction lancerJeu qui réinitialise le jeu. • Les vecteurs tableau_missiles et tableau_asteroides sont vidés. • Le nombre de vies est réinitialisé à 5 et le score à 0. • La Navette revient à sa position initiale.
Conclusion • DIFFICULTÉS TROUVÉES: • Réaliser ce projet nous a amené à faire utilisation des aspects physiques. Nous avons pris du temps pour comprendre le mouvement de chaque objet. • Comprendre le fonctionnement d’une nouvelle librairie: ALLEGRO 5.0 avec des fonctions déjà prédéfinies. • CONTRIBUTION: • Grâce a ce projet nous avons fini par comprendre que les logiciels n’arrivent jamais a être conclus vraiment, car il y a toujours la possibilité d’améliorer et de simplifier un logiciel pour développer un environnement graphique plus attractif pour l’utilisateur.