Bonjour,

voilà j'ai envie de faire un pierre feuille ciseaux, or j'ai un problème que je n'arrive pas trop à capter : en gros chaque signe est lié a une valeur (1,2 ou 3) et si vous lisez mon code vous pouvez comprendre comme le jeu marche (c'est assez simple à comprendre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
program PFC;
uses wincrt,crt;
Var X,N,Compteur1,Compteur2,Choix:integer;
  Verif,MotJ,ChoixIA:string;
 
begin
 
  Randomize;
  Verif:='';N:=0;Compteur1:=0;Compteur2:=0;
 
  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 ''regles'' ou ''jouer'' ? ');READLN(Verif);
 
  if (Verif='regles') then
     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 jouer ? ');READLN(Verif);
     end;
  if (Verif='jouer') then
     BEGIN
       Verif:='oui';
     end;
  Clrscr;
 
  While (Verif='oui') DO
        BEGIN
          X:=random(3)+1;
          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;
 
          if (X=1) then
             BEGIN
               ChoixIa:='la feuille'
             end;
          if (X=2) then
             BEGIN
               ChoixIa:='la pierre'
             end;
          if (X=3) then
             BEGIN
               ChoixIa:='les ciseaux'
             end;
 
          if (Choix=1) then
             BEGIN
               MotJ:='la feuille'
             end;
          if (Choix=2) then
             BEGIN
               MotJ:='la pierre'
             end;
          if (Choix=3) then
             BEGIN
               MotJ:='les ciseaux'
             end;
 
          if (X>Choix) then
             BEGIN
               WRITELN('L''IA a choisit ',ChoixIA,' donc, ',MotJ,' gagne');
               WRITE('Le joueur remporte donc la manche, voulez vous continuer ? ');READLN(Verif);
               Compteur1:=Compteur1+1;
               Compteur2:=Compteur2+1;
               N:=N+1;
               Clrscr;
             end;
          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 ? ');READLN(Verif);
               Compteur1:=0;
               N:=N+1;
               Clrscr;
             end;
          if (X=Choix) then
             BEGIN
               WRITELN('L''IA a choisit ',ChoixIA,' et le joueur ',MotJ);
               WRITE('Il y a donc match nul, voulez vous continuer ? ');READLN(Verif);
               Compteur1:=0;
               N:=N+1;
               Clrscr;
             end;
 
        end;
  WRITELN('Avant de quitter le jeu, un petit recapitulatif s''impose.');
  WRITELN('Le joueur a enchaine ',Compteur1,' avant de quitter la parite.');
  WRITELN('Mais il a aussi fait ',Compteur2,' avant de quitter la partie.');
  WRITELN('Le joueur a joue un total de ',N,' manches.');
 
 
 
READLN;
end.
Voici mon code ci-dessus, le problème c'est que des fois il m'affiche que le joueur a perdu, alors qu'il est censé avoir gagné.