Programmation d'un petit jeu de devinette
But : Le but du jeu est d'inviter l'utilisateur à deviner un nombre que l'ordinateur aurait
"deviné" (en réalité, il s'agit d'un nombre aléatoire).
Principe : Dans un premier temps, le chiffre est choisi aléatoirement (il serait intéressant
de lire en entrée la borne maximale du nombre aléatoire). Ensuite, l'utilisateur est amené à le
deviner ; il sera aidé au cours de sa quête par des phrases du genre 'Plus petit' ou
'Plus grand' suivant que le nombre a deviné est respectivement soit plus petit, soit plus
grand que le nombre entré...
Il faut préciser que l'utilisateur dispose d'un nombre fixe de tentative. Que ce soit à l'issue de ses
nombres de tentatives ou qu'il devine le nombre caché (un message de félicitations est affiché le cas
échéant), l'utilisateur est invité à taper n ou N s'il désire arrêter le jeu, ou alors
une autre lettre pour continuer.
Préréquis : Consultez la fonction Random dans l'aide du compilateur.
Solution : Voir le fichier Devine.pas
Commentaire :
- Comme vous avez dû le lire en consultant l'aide sur la fonction Random, il est
nécessaire d'appeler la procédure Randomize d'abord. De plus, du fait que Random génère
un nombre compris entre 0 et ValMax, on initialise valeur à -1 (en fait tout
autre nombre négatif fait l'affaire), ainsi nous sommes sûrs qu'à l'entrée de la boucle while,
la condition valeur<>nombre sera vraie.
Remarque :
- La condition de fin de boucle repeat, aurait pu aussi s'écrire : UpCase(Car)='N'.
Nous n'avons eu besoin de l'unité Crt que pour utiliser la procédure ClrScr qui nettoie
l'écran.
|