site de Fabien Torre, université de Lille


Sujet du projet Delphi : Le Prince et le Trésor (année 2002-2003)

Sujet du projet à réaliser en Delphi (Deug MISASHS, deuxième année, premier semestre), proposé par Daniela Dudau-Sofronie pour l'année 2002-2003.

Description générale

Le projet consiste cette année à programmer un jeu dans lequel un personnage humain, qu'on appelle Le prince, part à la recherche d'un trésor caché dans un labyrinthe. Ce labyrinthe est constitué de murs infranchissables et de portes de différentes couleurs qui ne peuvent s'ouvrir qu'avec des clefs de couleurs correspondantes. Le programme que vous devez réaliser devra posséder, au minimum, les deux fonctionnalités suivantes :
  • construction et enregistrement du labyrinthe ;
  • gestion de la partie.

Construction de labyrinthes

Un labyrinthe est une configuration initiale du jeu qui comprend les définitions des positions :
  • des murs ;
  • des portes avec la couleur de chacune ;
  • des clefs et de leurs couleurs ;
  • du trésor ;
  • du prince.
D'un point de vue pratique, vous devez :
  • réfléchir à la structure de données qui va permettre de mémoriser ces informations ; ayez bien à l'esprit que l'ensemble du programme devra ensuite travailler sur cette structure ;
  • construire en Delphi l'interface graphique permettant à l'utilisateur de créer son labyrinthe, c'est-à-dire de disposer, à la souris, les différents éléments du jeu.
Après avoir établi une carte, elle sera sauvegardée dans un fichier. On peut ensuite l'effacer et construire une nouvelle carte, et ainsi de suite. Il y aura donc autant de fichiers que de cartes disponibles. Une partie importante du projet est d'imaginer des labyrinthes d'une difficulté permettant des parties intéressantes : le labyrinthe ne doit être ni trivial (le trésor est par exemple dans un emplacement ouvert), ni impossible à résoudre (le trésor est dans un emplacement totalement clos, sans aucune porte). Pour un exemple, voir l'exécutable qui est à votre disposition.

Déroulement du jeu

Pour pouvoir jouer, il faut tout d'abord charger l'un des labyrinthes construits précédemment. Ensuite, la seule action possible du joueur consiste à choisir une direction dans laquelle il veut voir se déplacer le Prince. Le programme doit alors :
  • vérifier que le déplacement est possible, c'est-à-dire soit la case est vide, soit elle contient une clef, une porte dont on a la clef ou encore idéalement, le trésor ; si ce n'est pas le cas, le Prince ne peut pas bouger dans la direction indiquée ;
  • effectuer le déplacement si par contre il est bien licite, il faut alors changer la position du Prince, enregistrer l'éventuelle prise d'une clé ou du trésor, vider la case destination (s'il y avait une porte fermée ou une clef, elles disparaissent) ;
  • mettre à jour l'aspect graphique du jeu.
Quand le trésor est trouvé, le joueur est félicité et le jeu s'arrête, les actions de l'utilisateur deviennent alors sans effet.

Extensions possibles

Cette simulation peut être améliorée. Voila quelques suggestions :
  • il existe plusieurs trésors et on va compter le nombre de trésors trouvés, éventuellement pendant un temps limité ; ce nombre de trésors découverts constituant le score du joueur ;
  • les clés ne peuvent ouvrir qu'une seule porte, c'est-à-dire que lorsque le prince a utilisé une clef pour ouvrir une porte, cette clef disparaît ; dans cette version, le joueur doit donc accumuler autant de clés qu'il y de portes à ouvrir ;
  • le labyrinthe contient aussi des barrières d'eau ou de feux qui ne peuvent pas être surmontées si le prince ne possède pas des chaussures adéquates ou des palmes qui seront aussi cachées derrière certaines portes ou obtenues après le passage du Prince dans certaines parties du labyrinthe ;
  • le Prince est doté d'un certain nombre de points de vie et ces points diminuent à chaque action du Prince ; en plus des clefs, celui-ci donc se nourrir pour arriver en vie au trésor (on peut alors imaginer que des sources de nourriture apparaissent de manière aléatoire pour disparaître après un temps donné) ;
  • tout autre enrichissement du sujet initial est le bienvenu.
La réalisation de ces options seront prises en compte dans la note finale.

Évaluation

Le projet est à réaliser par binôme, aucun groupe de trois étudiants ou plus ne sera accepté. Réaliser seul le projet est également fortement déconseillé.

Travail à rendre

Vous avez deux éléments à fournir :
  • d'une part, une disquette contenant l'ensemble des fichiers constituant le projet, en particulier une version exécutable du programme et les labyrinthes créés ; de plus, le code Pascal lui-même devra être bien structuré et commenté ;
  • d'autre part, un dossier écrit expliquant les structures de données utilisées et les principaux algorithmes employés; la structure globale du programme sera décrite et justifiée.
Rapport et disquette sont à rendre au secrétariat de l'U.F.R. IDIST au plus tard le mardi 14 janvier 2003.

Présentation orale

Cette soutenance devra être effectuée par les deux membres du binôme et aura lieu la semaine du 20 janvier 2003. Vous aurez environ 10 minutes pour :
  • convaincre que le programme fonctionne ;
  • exhiber l'ensemble des fonctionnalités programmées ;
  • présenter et justifier les principaux choix efféctués en matière de structures de données et algorithmique ;
  • enfin, répondre aux questions du jury.
Fabien Torre Valid HTML5! Valid CSS!
Accueil > Enseignement > Formations > Anciennes formations > Deug MISASHS > Sujets Delphi > Le Prince
(contenu mis à jour )
site de Fabien Torre, université de Lille

Description

Survoler un lien de navigation pour lire sa description ici...