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 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
|
program PL1vsCPU;
uses wincrt,crt;
Var Tirage: Array[1..10,1..2] of integer;
MiseJoueur,MiseC: Array [1..10] of integer;
X,I,Y,TotC,TotP,Mise1,MiseCPU,Ligne: integer;
Verif,Verif2: string;
begin
Randomize;
Verif:='';TotP:=0;
WRITELN(' Vie ou Mort');
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 principe de base est simple:');
WRITELN('Le joueur declare sa propre mise, et celle de l''IA au debut du jeu.');
WRITELN('Vous miserez sur 10 emplacements.');
WRITELN('Il est possible de miser 0 sur tous les emplacements.');
WRITELN('Mais il est deconseille de jouer plusieurs fois 0 !');
WRITELN('L''ordinateur ne jouera pas (en general) 0');
READLN;
Clrscr;
WRITELN('Ensuite un tirage est fait');
WRITELN('Si l''emplacement est pris, il y a deux cas:');
WRITELN(' -L''emplacement est pris en vie, dans ce cas, le joueur remporte 5x sa mise sur l''emplacement');
WRITELN(' -L''emplacement est pris en mort, dans ce cas, le joueur perd 5x sa mise sur l''emplacement');
WRITELN('''V'' signifie vide, signifie que l''emplacement est vide.');
WRITELN('''X'' signifie mort, signifie que l''emplacement est pris en mort.');
WRITELN('''O'' signifie vie, signifie que l''emplacement est pris en vie.');
WRITELN('Il y a 40% de chance (ou de malchance) qu''un emplacement soit pris');
WRITELN('Enfin le joueur gagnant est celui qui a encore de l''argent pour miser');
WRITELN;
WRITELN('Voulez vous ''jouer'' ? ');READLN(Verif);
end;
if (Verif='jouer') then
BEGIN
Clrscr;
Verif:='oui';
end;
While (Verif='oui') DO
BEGIN
WRITE('Indiquez la mise du joueur : ');READLN(Mise1);
WRITE('Indiquez la mise de l''ordinateur: ');READLN(MiseCPU);
Clrscr;
While ((Mise1<0) or (MiseCPU<0)) DO
BEGIN
WRITELN('Erreur Veuillez ressaisir les mises');
WRITE('Indiquez la mise du joueur : ');READLN(Mise1);
WRITE('Indiquez la mise de l''ordinateur: ');READLN(MiseCPU);
Clrscr
end;
if (Mise1<>MiseCPU) then
BEGIN
WRITE('Vous avez entre des valeur differentes.');
WRITE('Voulez vous ressaisir les mises ? ');READLN(Verif2);
if (Verif2='oui') then
BEGIN
WRITE('Indiquez la mise du joueur : ');READLN(Mise1);
WRITE('Indiquez la mise de l''ordinateur: ');READLN(MiseCPU);
if (Mise1<>MiseCPU) then
BEGIN
WRITE('Vous avez entre des mises differentes.');READLN;
WRITELN('Le jeu continue');
end;
end;
READLN;Clrscr;
end;
WHILE ((Mise1>0) or (MiseCPU>0)) DO
BEGIN
TotC:=0;
For I:=1 to 10 DO
BEGIN
X:=Random(10)+1;
if (X<=4) then
BEGIN
Tirage[I,1]:=1;
end
ELSE
BEGIN
Tirage[I,1]:=0;
end;
end;
For I:=1 To 10 DO
BEGIN
if (Tirage[I,1]=1) then
BEGIN
X:=random(100)+1;
if (X mod 2 = 0) then
BEGIN
X:=0;
end
ELSE
BEGIN
X:=1;
end;
Tirage[I,2]:=X
end
ELSE
BEGIN
Tirage[I,2]:=3;
end;
end;
for I:=1 to 10 DO
BEGIN
WRITE('Veuillez indiquer votre mise en ',I,' : ');READLN(MiseJoueur[I]);
TotP:=MiseJoueur[I]+TotP;
WRITE('Etes vous sur de votre mise? ');READLN(Verif2);
WRITELN;
if (Verif2='non') then
BEGIN
TotP:=TotP-MiseJoueur[I];
WRITE('Veuillez re-indiquer votre mise en ',I,' : ');READLN(MiseJoueur[I]);
TotP:=MiseJoueur[I]+TotP;
end;
end;
While (TotP>Mise1) DO
BEGIN
WRITELN('Erreur, indiquez de nouveau vos mises');
READLN;
for I:=1 to 10 DO
BEGIN
TotP:=TotP-MiseJoueur[I];
end;
for I:=1 to 10 DO
BEGIN
WRITE('Veuillez indiquer votre mise en ',I,' : ');READLN(MiseJoueur[I]);
TotP:=MiseJoueur[I]+TotP;
end;
end;
TotP:=0;
For I:=1 to 10 DO
BEGIN
X:=Random(10)+1;
if (X<=5) then
BEGIN
Y:=Random(MiseCPU)+1;
TotC:=TotC+Y;
MiseC[I]:=Y;
end
ELSE
BEGIN
MiseC[I]:=0;
end;
end;
WRITELN('Appuyez sur entre pour afficher le tirage');
READLN;
Clrscr;
Ligne:=0;
For I:=1 to 10 do
BEGIN
if ((Ligne+1 >= 1) and (Ligne+1 < 5)) then
BEGIN
WRITE(' ',Ligne+1,' | ');
end;
if (Ligne+1 = 5) then
BEGIN
WRITELN(' ',LIGNE+1,' | ');
end;
if ((Tirage[I,1] = 1) and (Ligne>=5)) then
BEGIN
if (Tirage[I,2] = 1) then
BEGIN
WRITE(' O | ');
end
ELSE
BEGIN
WRITE(' X | ');
end;
end;
if ((Tirage[I,2] = 3) and (Ligne>=5)) then
BEGIN
WRITE(' V | ');
end;
if (Ligne>= 9) then
BEGIN
WRITELN;
end;
Ligne:=Ligne+1;
end;
WRITE(' ');
For I:=1 to 46 do
BEGIN
WRITE('-');
end;
WRITELN;
Ligne:=0;
For I:=1 to 10 do
BEGIN
if ((Ligne+1 >= 1) and (Ligne+1 < 5)) then
BEGIN
WRITE(' ',Ligne+6,' | ');
end;
if (Ligne+1 = 5) then
BEGIN
WRITELN(' ',LIGNE+6,' | ');
end;
if ((Tirage[I,1] = 1) and (Ligne>=5)) then
BEGIN
if (Tirage[I,2] = 1) then
BEGIN
WRITE(' O | ');
end
ELSE
BEGIN
WRITE(' X | ');
end;
end;
if ((Tirage[I,2] = 3) and (Ligne>=5)) then
BEGIN
WRITE(' V | ');
end;
Ligne:=Ligne+1;
end;
READLN;
Clrscr;
For I:=1 to 10 DO
BEGIN
if (Tirage[I,1]=1) then
BEGIN
if (Tirage[I,2]=1) then
BEGIN
Mise1:=Mise1+(MiseJoueur[I]*5);
MiseCPU:=MiseCPU+(MiseC[I]*5);
end
ELSE
BEGIN
Mise1:=Mise1-(MiseJoueur[I]*5);
MiseCPU:=MiseCPU-(MiseC[I]*5);
end;
end;
end;
WRITELN('Mise restante du joueur: ',Mise1);
WRITELN('Mise de l''IA: ',MiseCPU);
READLN;WRITELN;
if ((Mise1<0) or (MiseCPU<0)) then
BEGIN
WRITE('Voulez vous rejouez ? ');READLN(Verif);
if (Verif='oui') then
BEGIN
WRITE('Indiquez la mise du joueur : ');READLN(Mise1);
WRITE('Indiquez la mise de l''ordinateur: ');READLN(MiseCPU);
Clrscr;
While ((Mise1<0) or (MiseCPU<0)) DO
BEGIN
WRITELN('Erreur Veuillez ressaisir les mises');
WRITE('Indiquez la mise du joueur : ');READLN(Mise1);
WRITE('Indiquez la mise de l''ordinateur: ');READLN(MiseCPU);
Clrscr;
end;
if ((Mise1<MiseCPU) or (Mise1>MiseCPU)) then
BEGIN
WRITE('Vous avez entrez des valeur differentes.');
READLN;Clrscr;
end;
end;
end
ELSE
BEGIN
WRITE('Voulez vous continuez ? ');READLN(Verif);
IF (Verif='non') then
BEGIN
Mise1:=0;
MiseCPU:=0;
end;
end;
end;
If ((Mise1>0) or (MiseCPU<0)) Then
BEGIN
WRITELN('Vous avez gagnez la partie !');
end;
If ((Mise1<0) or (MiseCPU>0)) Then
BEGIN
WRITELN('Vous avez perdu la partie !');
end;
If ((Mise1<0) or (MiseCPU<0)) Then
BEGIN
WRITELN('Vous avez mit fin a la partie');
end;
end;
Readln;
end. |
Partager