sujet de projet étudiant "super 68" (assembleur 68000)

3
Projet Module 6 : SUPER 68 I Description G´ en´ erale Le h´ eros du jeu se d´ eplace sur un plateau en deux dimensions, en quˆ ete de clefs. Son but est de toutes les collecter, mais de nombreux obstacles entravent sa quˆ ete : hormis les murs qui lui barrent la route et les pi` eges qui le guettent, des fantˆ omes passe-murailles le poursuivent ! Heureusement, il a trois vies, et il peut se remettre des coups qui lui sont port´ es en absorbant des fioles de vie qui sont diss´ emin´ ees sur le plateau. II Description d´ etaill´ ee Nous pr´ esentons maintenant le jeu de fa¸ con plus d´ etaill´ ee. Description du plateau de jeu Les cases du plateau sont repr´ esent´ ees en m´ emoire par un tableau d’octets. La valeur de chaque octet indique ce qui se trouve sur une case donn´ ee. La matrice initiale, de 20 lignes par 80 colonnes (rang´ ee ligne par ligne), est donn´ ee. Les informations contenues dans une case (= un octet) sont organis´ ees de la fa¸ con suivante : Mur Pi` ege Vie Clef Pour ext. Fantˆ ome eros b7 b6 b5 b4 b3 b2 b1 b0 Description des champs : Mur indique la pr´ esence d’un mur sur cette case (si le bit est positionn´ e` a 1), Piege indique la pr´ esence d’un pi` ege, Vie indique la pr´ esence d’une fiole de vie, Clef indique la pr´ esence d’une clef, Fantˆ ome champ r´ eserv´ e` a la description d’un fantˆ ome : 00 pas de fantˆ ome dans cette case. 01 un fantˆ ome est pr´ esent, sa prochaine action sera un d´ eplacement. 10 un fantˆ ome est pr´ esent, sa prochaine action sera une attente. 11 un fantˆ ome est pr´ esent, ses deux prochaines actions seront des attentes. eros indique la pr´ esence du h´ eros. Remarque On ne peut pas avoir de fiole, de pi` ege, ni de clef dans les murs. On ne peut pas non plus avoir de fiole, de pi` ege, ou de clef confondus sur une mˆ eme case. 1

Upload: benjamin-vidal

Post on 23-Jul-2015

122 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Sujet de projet étudiant "Super 68" (assembleur 68000)

Projet Module 6 :

SUPER 68

I Description Generale

Le heros du jeu se deplace sur un plateau en deux dimensions, en quete de clefs. Son but est de toutes lescollecter, mais de nombreux obstacles entravent sa quete : hormis les murs qui lui barrent la route et les pieges quile guettent, des fantomes passe-murailles le poursuivent ! Heureusement, il a trois vies, et il peut se remettre descoups qui lui sont portes en absorbant des fioles de vie qui sont disseminees sur le plateau.

II Description detaillee

Nous presentons maintenant le jeu de facon plus detaillee.

Description du plateau de jeu

Les cases du plateau sont representees en memoire par un tableau d’octets. La valeur de chaque octet indiquece qui se trouve sur une case donnee. La matrice initiale, de 20 lignes par 80 colonnes (rangee ligne par ligne), estdonnee.

Les informations contenues dans une case (= un octet) sont organisees de la facon suivante :

Mur

Pieg

eVie

Clef

Pour

ext.

Fant

ome

Her

os

b7 b6 b5 b4 b3 b2 b1 b0

Description des champs :Mur indique la presence d’un mur sur cette case (si le bit est positionne a 1),Piege indique la presence d’un piege,Vie indique la presence d’une fiole de vie,Clef indique la presence d’une clef,Fantome champ reserve a la description d’un fantome :

00 pas de fantome dans cette case.01 un fantome est present, sa prochaine action sera un deplacement.10 un fantome est present, sa prochaine action sera une attente.11 un fantome est present, ses deux prochaines actions seront des attentes.

Heros indique la presence du heros.

RemarqueOn ne peut pas avoir de fiole, de piege, ni de clef dans les murs. On ne peut pas non plus avoir de fiole, de piege,

ou de clef confondus sur une meme case.

1

Page 2: Sujet de projet étudiant "Super 68" (assembleur 68000)

Universite Paul Sabatier 2003/2004 L3 - Module 6

Deplacement du heros

Le heros se deplace sur le plateau decrit precedemment. Il ne peut pas sauter de cases, ni traverser de mur. Ilpeut se deplacer uniquement dans quatre directions (haut, droite, bas, gauche), et d’une seule case par tour. Sesdeplacements sont inities par le joueur en pressant les touches du clavier par test d’etat (le choix des touches autiliser est laisse a l’appreciation des concepteurs).

Les clefs

La quete du heros consiste a ramasser toutes les clefs disseminees sur le plateau. Pour prendre une clef, le herosdoit se trouver sur la meme case que celle-ci ; une fois cette clef prise elle disparaıt du monde. L’ordre dans lequelcette collecte est effectuee n’a pas d’importance. Si toutes les clefs sont ramassees, le jeu se termine par la victoiredu heros.

La vie

Au debut de la partie, le heros possede trois vies.Il peut perdre des vies de deux manieres :– Premierement, si par megarde il marche sur un piege, il perd un point de vie. Le piege ne disparaıt pas.– Deuxiemement, si le heros se trouve sur la meme case qu’un fantome, celui-ci l’attaque et lui fait perdre un

point de vie. Les fantomes etant deja morts, ils ne peuvent etre tues ni elimines. Par consequent, apres larencontre avec notre heros le fantome reste present sur sa case.

Heureusement, le heros peut regagner un point de vie en allant sur une case contenant une fiole. Bien entendu,une fois bue (ce qui se fait automatiquement lorsqu’on se trouve sur la case), la fiole disparaıt.

Il faut cependant remarquer que le heros ne peut avoir que trois vies au plus.Afin de rendre le nombre de vies visible pour l’utilisateur, nous utiliserons les diodes IA2 et IB2. Si le heros

possede ses trois vies alors les deux diodes sont allumees, s’il en possede encore deux alors une seule diode estallumee et s’il ne lui reste plus qu’une vie alors les deux diodes sont eteintes.

Le temps

Le temps presse ! Le heros doit recuperer toutes les clefs avant que le temps de jeu imparti ne soit ecoule. Lavisualisation du temps restant se fait grace aux huit diodes : elles sont toutes allumees au debut de la partie, ets’eteignent progressivement. Lorsqu’elles sont toutes eteintes, le temps est ecoule et le jeu se termine.

La gestion du temps dans le jeu est realisee grace aux timers, qui marquent le passage des tours de jeu. Le herosne peut pas se deplacer plus d’une fois par tour ; le plateau est mis a jour a chaque tour.

On doit avoir la possibilite de suspendre le jeu et de le reprendre a tout moment (gestion par interruption). Lapause (ou la sortie de pause) est declenchee via le bouton poussoir IB1.

De plus, on a differents niveaux de jeu. Le niveau du jeu est lu sur les 8 interrupteurs a bascule au debut de lapartie. Plus le niveau est eleve, plus les tours de jeu sont rapides. Le nombre de niveaux et la facon dont ils sontcodes sont laisses a l’initiative des concepteurs.

Les fantomes

Le heros est confronte a plusieurs fantomes qui, en plus d’etre immortels, essaient volontairement de le tuer !Les fantomes se deplacent de case en case comme le heros, mais ils sont plus lents : ils ne se deplacent ou

n’effectuent d’action que tous les deux tours de jeu. N’etant pas faits de chair et de sang, ils ont la possibilite depasser a travers les murs (ainsi qu’a travers tous les obstacles : pieges, fioles, clefs). Quand un fantome traverse unmur, il est ralenti : sa prochaine action sera une attente, et il ne pourra se deplacer qu’a l’action suivante. Il n’estpas ralenti par les autres obstacles.

Comme nous venons de le voir, les fantomes peuvent se trouver sur la meme case que notre heros ; dans ce casils l’attaquent et lui prennent une vie. Une fois cette attaque effectuee, les fantomes doivent se reposer et perdentdonc leurs deux actions suivantes, soit 4 tours de jeu.

Les fantomes se dirigent toujours, autant que possible, vers le heros. Il est important de noter que deux fantomesne peuvent pas se trouver sur la meme case.

2

Page 3: Sujet de projet étudiant "Super 68" (assembleur 68000)

Universite Paul Sabatier 2003/2004 L3 - Module 6

III Questions

Il est possible de ne traiter le sujet que partiellement ; cependant, toutes les questions devront imperativementetre traitees dans l’ordre. Un bareme susceptible de subir des modifications est fourni a titre indicatif.

Vous devrez rendre un dossier complet presentant :– les donnees utilisees dans votre programme,– les differents sous-programmes (but du sous-programme, parametres en entree et en sortie),– les algorithmes mis en oeuvre.

Un tiers des points attribues a chaque question proviendra de la qualite des explications fournies dans le rapport.De plus, la lisibilite generale du code et du rapport, ainsi que la facon dont le programme sera divise seront pris encompte (2 points).

1.Affichage et deplacement (6 points)

Realiser un ensemble de routines permettant :– d’afficher le plateau initial complet,– de lire au clavier le prochain deplacement du heros,– de mettre a jour l’affichage en consequence,– de quitter le jeu lorsque le boutton poussoir IA1 est presse.Pour cette question, l’utilisation des interruptions n’est pas requise. Les deplacements du heros doivent seulement

prendre en compte la presence des murs. Par consequent, la presence d’une fiole de vie, d’un piege, d’une clef oud’un fantome ne doit pas affecter le heros.

2.Gestion des clefs (1 point)

Integrez la gestion des clefs en ajoutant de nouvelles routines et/ou en modifiant les precedentes. Le jeu setermine lorsque le heros a recupere toutes les clefs presentes sur le plateau.

3.Gestion du temps (6 points)

Integrez la gestion du temps, des niveaux de jeu, et des pauses. Le jeu se termine si le heros a ramasse toutesles clefs, si le bouton poussoir est appuye, ou si le temps qui lui est imparti est ecoule (le cas de la mort du herosn’est traite que dans la question suivante). On rappelle que l’affichage du temps se fait sur les 8 diodes.

4.Gestion de la vie (1 point)

Integrez la gestion de la vie du heros en prenant en compte les pieges, les fioles et les fantomes. Si le heros meurt,la partie se termine. Le deplacement des fantomes n’est pas encore gere, ils sont donc tous immobiles. On rappelleque la gestion de la vie integre l’affichage sur les deux diodes.

5.Les fantomes (4 points)

Integrez la gestion de la mobilite des fantomes. N’oubliez pas qu’ils poursuivent le heros.

6.Bonus (2 points)

Il est possible d’ajouter un peu de difficulte au jeu en ne permettant pas au joueur de voir tout le plateau. Onpourrait par exemple ne voir le plateau que dans un rayon de 5 cases. Une solution intermediaire consisterait a nevoir que les murs sur tout le plateau et les autres objets ne seraient visibles que dans un rayon de quelques cases.Une autre amelioration possible serait d’ajouter un objet sablier qui permettrait de gagner du temps de jeu quandon le collecte. On pourrait aussi donner un score pour une partie, qui tienne compte du nombre de clefs recupereeset du temps passe a les recuperer.

On rappelle que vous disposez d’un bit encore libre dans chaque octet decrivant une case du plateau, ainsi quede quatre lignes libres pour l’affichage (le plateau occupe 20 lignes alors que 24 sont disponibles sur l’ecran).

Vous etes libres d’enrichir le jeu au gre de votre imagination (et de votre temps).

3