... à faire avant le TP1.
... à faire avant le TP2.
... à faire avant le TP3.
-------------------------------------------------------------------
Page Web :
Titre provisoire
(PR3S02 2009/2010 gL)
I.A) Auteurs
I.B) Theme (voir liste des etudiants)
I.C) Resume du scenario (complet)
I.D) Plan (complet)
II, III, etc... : tout ce que vous voulez en plus
-------------------------------------------------------------------
Pour un premier contact, parcourir la
documentation
puis les
sources
du projet zuul-bad.
Pour pouvoir l'utiliser puis en modifier la programmation, il faut enregistrer ce fichier
zuul-bad.jar,
puis utiliser (juste pour la première fois) "Ouvrir non-BlueJ ..." dans BlueJ ;
ensuite, il suffira d'utiliser "Ouvrir un projet ..." .
(This project is called ‘bad’ because its
implementation contains some bad design decisions, and we want to leave no doubt
that this should not be used as an example of good programming practice!)
Execute and explore the application. The project comment gives you some information about
how to run it.
While exploring the application, answer the following questions:
Draw a map of the existing rooms.
After you know what the whole application does, try to find out what
each individual class does.
Write down for each class the purpose of the class.
You need to look at the source code to do this. Note that you might not (and need not)
understand all of the source code. Often, reading through comments and looking at
method headers is enough.
Design your own game scenario. Do this away from the computer.
Do not think about implementation, classes, or even programming in general.
Just think about inventing an interesting game. This could be done with a group of people.
The game can be anything that has as its base structure a player moving through different
locations. Here are some examples:
Make sure that your game has a goal (so that it has an end and the player can ‘win’).
Try to think of many things to make the game interesting (trap doors, magic items,
characters that help you only if you feed them, time limits, whatever you like). Let your
imagination run wild.
At this stage, do not worry about how to implement these things.
1) Ne pas se limiter et imaginer le jeu idéalement
souhaité à la fin du projet.
2) Ne pas se focaliser sur la future interface avec l'utilisateur
(graphique, souris, clavier) mais s'en tenir au scénario.
-------------------------------------------------------------------
Rapport :
Titre provisoire + lien page web
(PR3S02 2009/2010 4L)
I.A) Auteurs
I.B) Theme (voir liste des etudiants)
I.C) Resume du scenario (complet)
I.D) Plan (complet, avec indication de la partie "reduit")
I.E) Scenario detaille (complet, avec indication de la partie "reduit"))
I.F) Detail des lieux, items, personnages
I.G) Situations gagnantes et perdantes
I.H) Eventuellement enigmes, mini-jeux, combats, etc.
II. Reponses aux exercices (autres que I.)
III, IV, etc... : tout ce que vous voulez en plus
-------------------------------------------------------------------
Rendre disponible ce "sous-scénario" sur la page web du projet,
accompagné de son plan (ou du plan du 7.3.1 faisant apparaître
clairement les éléments retenus pour le 7.3.3).
Open the zuul-bad project, and save it under a different name (e.g. zuul-v4).
This is the project you will use to make improvements and modifications throughout this chapter.
You can leave off the -bad suffix, since it will soon (hopefully) not be that bad anymore.
As a first step, change the createRooms method in the Game class to create the
rooms and exits you invented for your game. Test!
A partir de cet exercice, noter dans le Rapport qui fait quoi
(ou quelle paire est plus particulièrement chargée de quoi).
Implement and use a separate printLocationInfo method in your
project, as discussed in this section. Test your changes.
Make the changes we have described to the Room and Game classes.
Make a similar change to the printLocationInfo method of Game
so that the details of the exits are now prepared by the Room
rather than the Game. Define a method in Room with the
following signature public String getExitString().
Attention ! Une sortie est une destination, pas un nom de lieu (Room) !
Mettre à jour le Rapport.
Il est également possible de prévoir une
longDescription pour chaque Item ; voir quand il serait
intéressant de l'utiliser.
Attention ! Le niveau de difficulté des exercices 7.42 à 7.49 est plus élevé que celui des autres exercices.
... à faire avant le TP4.
- alea string mémorise la string pour le prochain tirage aléatoire
- alea vide la string pour permettre au prochain tirage d'être
réellement aléatoire
Cette commande ne devrait pouvoir être utilisée qu'en mode test
(sauf peut-être pendant les phases de mise au point du programme).
Cet exercice doit être bien compris par TOUS les membres de l'équipe.
Ensuite, peu de modifications structurelles devraient avoir lieu ;
il est donc possible de commencer à introduire dans son jeu tous les
éléments du scénario complet (lieux, items, images, suppléments, ...).
Cet exercice peut également vous inspirer pour la gestion de différents
types de pièces, d'items, de personnages, ...
Contraintes : minimum 2 paquetages, et minimum 2 classes par paquetage.
Plus d'autres exercices, mais encore du travail ...