1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
program PFC;
uses wincrt,crt;
Var X,N,Compteur1,Compteur2,Choix:integer;
Verif,MotJ,ChoixIA:string;
Procedure EcranAceuil ;
BEGIN
WRITELN(' Pierre Feuille ciseaux!');
WRITELN;
WRITELN;
WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;WRITELN;
WRITE('Voulez vous connaitre les (R)egles ou (J)ouer ? ');
END;
Procedure EcranAide ;
BEGIN
Clrscr;
WRITELN('Le jeux est tres connu');
WRITELN('Le joueur choisit entre:');
WRITELN(' -(1) la feuille');
WRITELN(' -(2) la pierre');
WRITELN(' -(3) les ciseaux');
WRITELN('Le joueur indiquera donc le numero de l''element qu''il veut jouer.');
WRITELN('La feuille enveloppe la pierre, la pierre casse les ciseaux, et les ciseaux coupent la feuille.');
WRITELN('Le puit n''existant pas dans la version originale du jeu, il n''existe pas non plus ici.');
WRITELN;
WRITE('Voulez vous (J)ouer ? ');
END;
Fonction DonneLibel(Aval : Integer) : String;
BEGIN
CASE Aval OF
1 : RESULT:='la feuille';
2 : RESULT:='la pierre';
3 : RESULT:='les ciseaux';
END;
END;
Procedure EcranFin(Cpt1,Cpt2,Nb : Integer);
BEGIN
WRITELN('Avant de quitter le jeu, un petit recapitulatif s''impose.');
WRITELN('Le joueur a enchaine ',Cpt1,' avant de quitter la parite.');
WRITELN('Mais il a aussi fait ',Cpt2,' avant de quitter la partie.');
WRITELN('Le joueur a joue un total de ',Nb,' manches.');
END;
////////////////////////////////////////////////////////////////////////////////
begin
Randomize;
Verif:='';
N:=0;
Compteur1:=0;
Compteur2:=0;
EcranAceuil;
READLN(Verif);
if (Uppercase(Verif)='R') then // connaitre les regle
BEGIN
EcranAide;
READLN(Verif);
end;
if (Uppercase(Verif)='J') then
BEGIN
Verif:='O';
end;
Clrscr;
While (Verif='O') DO
BEGIN
X:=random(3)+1;// Choix Robot
WRITE('Faite votre choix: ');
READLN(Choix);
if ((X=1) and (Choix=3)) then
BEGIN
X:=3;
Choix:=1;
END;
if ((X=3) and (Choix=1)) then
BEGIN
X:=1;
Choix:=3;
end;
ChoixIa := DonneLibel(X) ;
MotJ := DonneLibel(Choix) ;
if (X>Choix) then
BEGIN
WRITELN('L''IA a choisit ',ChoixIA,' donc, ',MotJ,' gagne');
WRITE('Le joueur remporte donc la manche, voulez vous continuer ? (O)/(N) ');READLN(Verif);
Compteur1:=Compteur1+1;
Compteur2:=Compteur2+1;
N:=N+1;
Clrscr;
END
Else
BEGIN
If (X<Choix) then
BEGIN
WRITELN('L''IA a choisit ',ChoixIA,' donc, ',MotJ,' perd');
WRITE('Le joueur ne remporte donc pas la manche, voulez vous continuer ? (O)/(N)');READLN(Verif);
Compteur1:=0;
N:=N+1;
Clrscr;
END
ELSE // (X=Choix)
BEGIN
WRITELN('L''IA a choisit ',ChoixIA,' et le joueur ',MotJ);
WRITE('Il y a donc match nul, voulez vous continuer ? (O)/(N) ');READLN(Verif);
Compteur1:=0;
N:=N+1;
Clrscr;
END;
END;
END;
EcranFin(Compteur1,Compteur2,N);
READLN;
end. |
Partager