Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

Jeu de devinette

Aller en bas

Jeu de devinette Empty Jeu de devinette

Message par pirate Ven 30 Mar - 18:08

flower Programmation d'un petit jeu de devinette flower

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.

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.

pirate
Entier Naturel
Entier Naturel

Nombre de messages : 28
Réputation : 0
Points : 6243
Date d'inscription : 30/03/2007

Revenir en haut Aller en bas

Jeu de devinette Empty Re: Jeu de devinette

Message par pirate Dim 1 Avr - 16:31

salu pour les .............[color:0fe8=red]code:


program devine;
uses wincrt;

const
NbrTentativeMax: integer = 10;

var
nombre,
valeur,
ValMax,
tentative: integer;
car: char;
begin
clrscr;

randomize;
tentative := 0;
valeur := -1;
car := 'o';

repeat
writeln('Entrez la borne maximale du nombre aléatoire');
readln(ValMax);
until ValMax > 2;

writeln;

repeat
nombre := random(ValMax);
while ((valeur <> nombre) and (tentative <= NbrTentativeMax)) do
begin
write('Entrez une valeur : ');
readln(valeur);
if (valeur > nombre) then
writeln('Plus petit')
else if (valeur < nombre) then
writeln('Plus grand!');
tentative := tentative + 1;
end;
if (valeur = nombre) then
writeln('Vous avez gagné Smile')
else
writeln('Vous avez perdu Sad');
writeln('Jouer encore ? n pour non, une autre touche pour oui');
readln(car);
until upcase(car) = 'N';
(*(car = 'n') or (car='N');*)

end.



remarque
ce code executer avec tp7 turbo pascal 7

pirate
Entier Naturel
Entier Naturel

Nombre de messages : 28
Réputation : 0
Points : 6243
Date d'inscription : 30/03/2007

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum