Lemmings avec catapulte




 * Encadrants: Pierre-Louis Aublin (Tuteur), Michael Périn
 * Elèves RICM3: David Levayer (Chef de projet), Jérôme Barbier, Radhoane Ben Younes, Flavien Peyre, Laurent Zominy


 * [[File:NomProjetLemming-Flyer.pdf]]
 * [[File:NomProjetLemming-Poster.pdf]]
 * [[File:NomProjetLemming-Presentation.pdf]]
 * [[File:NomProjetLemming-ScreenCast.wav]]
 * Dépôt des sources

Description (Contrat)


Présentation du jeu Lemmings Lemmings est  un  jeu  vidéo  de  réflexion  développé  en  1991  par  la  société  DMA  Design. Au cours d’une partie,  le  joueur  doit  guider  un  ensemble  de  petite  créature  appelée  Lemmings  dans  des labyrinthes piégés. Le lemming  de  base  se  contente  d’avancer,  mais  le  joueur  peut  décider  de modifier  le  comportement  d’un  lemming  pour  le  faire  interagir  avec  l’environnement,  et  ainsi déjouer les pièges mortels de la carte de jeu. Plusieurs aptitudes de base sont disponibles en quantités limitées et variées selon les niveaux. On retrouve ainsi le lemming creuseur, le lemming bâtisseur, le lemming parachute… Spécificités : notre contrat Bien qu’il reprenne le principe et les rouages de base du jeu original Lemmings, cette version propose plusieurs spécificités :

- Présence d’une mini-carte qui permet de garder à l’œil l’intégralité de la carte

- Intégration d’un moteur physique permettant de simuler de trajectoires diverses

- Possibilité de catapulter des lemmings en début de partie

- Chargement de cartes à partir d’images

Architecture


L'architecture choisie s'articule autour du concept d'automate. Un automate est définit comme une liste de transition. Chaque transition contient un état initial, un état final, une condition et une liste d'actions à effectuer.

D'un autre côté, la classe Observable décrit le squelette de n'importe quel élément animé. Ainsi, la classe Lemming hérite d'Observable, et on pourrait imaginer quantité d'autres observables à ajouter pour enrichir le jeu. Le comportement d'un observable est définit par l'automate qui lui est associé.

La classe Carte gère le chargement d'une carte et la définition des variables inhérentes, telles que le point d'entrée des Lemmings, le nombre de Lemmings, etc. Une carte peut être créée à partir de deux images : la première représente les éléments solides (décors) alors que la seconde représente l'arrière-plan. Une carte est modélisée par une matrice d'Elements. Ainsi, pour enrichir une carte avec de nouvelles possibilités, il suffit de créer une classe qui hérite de Element.

La classe Moteur a pour principal objectif la mise à jour des observables. Pour chaque observable, il convient d'analyser l'environnement afin de dégager la condition adéquate, et ainsi choisir la transition à réaliser. Les étapes sont les suivantes sont réalisées pour chaque observable :

- Analyse du décors

- Récupération de l'automate associé à l'observable

- Récupération de la transition adaptée à la situation

- Application des actions liées à la transition et changement de l'état de l'observable

Pour finir :

- Les classes Fenêtre, Panneau et Bouton gèrent l'affichage du jeu dans une fenêtre (grâce à la bibliothèque Swing)

- La classe trajectoirePhysique calcule les trajectoires des différents sauts/rebonds

- La classe Constantes contient les constantes principales du jeu