LABORATOIRE #2 - Le lièvre et les tortues

Transcription

LABORATOIRE #2 - Le lièvre et les tortues
LABORATOIRE #2 - Le lièvre et les tortues
Données du laboratoire
Vous devez recréer la course classique entre le lièvre et deux tortues.
Les concurrents commencent la course à la "case #1" sur une distance qui peut être
précisée par l’utilisateur (70 cases par défaut). Chaque case représente une position
possible tout au long de la course. La ligne d'arrivée se situe à la dernière case. Le
premier concurrent qui atteint ou dépasse la dernière case remporte un seau rempli de
laitue et de carottes fraîches. La course se déroule sur la pente ascendante d'une
montagne glissante; les concurrents peuvent donc occasionnellement perdre du terrain.
Spécifications
Ce projet sera réalisé selon une approche objet. Il y aura donc une classe « Application »
responsable de générer la course et des classes pour chaque type de participants.
Au début de la course on demande à l’utilisateur s’il veut préciser la distance du trajet (2
à 75) et le nom des participants. Par défaut, la distance est de 70 et les noms T, t, L.
On utilise la production de nombres aléatoires pour développer une simulation de cet
événement.
À chaque cycle d’un temps donné (pause d’environ une seconde), le programme ajuste la
position des animaux en fonction des règles suivantes:
Animal
Type de mouvement
Tortue
Marche pénible rapide
Glissade
Marche pénible lente
Sommeil
Grand saut
Grande glissade
Petit saut
Petite glissade
Lièvre
Pourcentage du
temps
50 %
20 %
30 %
20 %
20 %
10 %
30 %
20 %
Mouvement réel
3 cases vers la droite
6 cases vers la gauche
1 case vers la droite
Aucun mouvement
9 cases vers la droite
12 cases vers la gauche
1 case vers la droite
2 cases vers la gauche
On génère les pourcentages inscrits au tableau précédent en produisant un entier
aléatoire à l'intérieur de l'échelle 1 à 10. Une tortue effectue une «marche pénible
rapide» lorsque l’entier est entre 1 et 5, une glissade lorsqu’il vaut 6 ou 7, ou une
«marche pénible lente» s’il est entre 8 et 10. On utilise une technique similaire pour les
mouvements du lièvre.
Le programme utilise des variables pour suivre la position respective des animaux (c'està-dire les numéros de position variant entre 1 et la dernière case). Les trois animaux
doivent débuter à la position #1 (c'est-à-dire à la "grille de départ"). Si un animal glisse
vers la gauche avant la case #1, l'animal est replacé sur la case #1.
On commence la course en affichant:
LES PARTICIPANTS SONT : ……
nom et dossard :
Rosa, dossard T
Anatole, dossard t
Roméo, dossard L
LA COURSE A UNE DISTANCE DE : …….
Laboratoire#2-LievreTortues.doc
Programmation par objets
Page 1
Attention!
BANG !!!!!
ILS SONT PARTIS !!!!!
Pour chaque cycle, (c'est-à-dire à chaque répétition de la boucle), on affiche une ligne de
X positions pour chaque participant, puis la lettre « T » indiquant la position de la
première tortue, lettre « t » indiquant la position de la seconde tortue et la lettre « L »
indiquant la position du lièvre. À l'occasion, une tortue et un lièvre sont sur la même
case. À ce moment, la tortue mord le lièvre et le programme doit afficher sur la ligne du
lièvre AÏE! en commençant à cette position. Toutes les positions affichées autres que le
T, t le L ou le AÏE! (pour les cas d'égalité) doivent consister en des espaces vides.
Entre chaque cycle, on doit tester si l'un ou l'autre des animaux a atteint ou dépassé la
case finale. Si tel est le cas, le nom du ou des gagnants est affiché et la simulation est
terminée.
- Selon le gagnant, on affiche
• La Tortue (le nom de la tortue) gagne!
• Le lièvre (le nom du lièvre) gagne!
- Si deux ou trois animaux gagnent au même cycle de l'horloge, affichez Course
nulle.
Lorsque la simulation est terminée, l’utilisateur a le choix d’en reprendre une nouvelle.
Date de remise : lundi 20 février
1. Remettre les diagrammes de classes.
2. Remettre le pseudo-code des méthodes de la classe « Lievre » et la ou les méthodes de
la classe « Course » qui effectuent la simulation (postionnement et évaluation)
3. Remettre le fichier de l’application (projet) sur le réseau dans le répertoire créé au
numéro du laboratoire.
4. Remettre une impression de chaque fichier (chaque impression est brochée séparément)
5. Les documents sont remis dans une chemise
6. Les documents sont placés dans l’ordre suivant :
1. Diagrammes des classes
2. Pseudo-codes
3. Le code de l’application
4. Le code des classes
7. Ne pas oublier :
- le nom des variables doit être significatif
le code doit être commenté adéquatement et possédé une entête complète :
Exemple : dans menuFact.java – voir Semaine#3
Note : Le premier test aura lieu le jeudi 23 février. Précisions sur le format et le contenu, à venir.
Laboratoire#2-LievreTortues.doc
Programmation par objets
Page 2

Documents pareils