Bonjour à tous,
je réalise le jeu de Marienbad en langage Turbo Pascal. La plupart de mes procédures sont correctes sauf celle qui joue le mode "difficile". Il s'agit, à partir d'un tableau en données binaires, d'additionner les cases de chaque colonne, colonne par colonne de ce tableau; si l'addition de ces nombres n'est pas un nombre pair pour chaque colonnes alors l'ordinateur retire un certain nombre d'allumettes de manière a ce que lorsque l'on additionne à nouveau ces cases pour chaque colonne, on obtienne un nombre pair. j'ai réalisé cette procédure mais elle ne fonctionne pas.
Quand j'applique cette procédure à mon programme, l'ordinateur ne fait pas en sorte que l'utilisateur se retrouve avec a, b, et c qui soient des nombres pairs.
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 procedure ordiexpert(var tab1:tableau1; var tab2:tableau2); var a,b,c,i,nbretire:integer; Ttemp:tableau1; begin for i:=0 to 3 do begin Ttemp[i]:=Tab1[i]; end; a:=tab2[0][2]+tab2[1][2]+tab2[2][2]+tab2[3][2]; b:=tab2[0][1]+tab2[1][1]+tab2[2][1]+tab2[3][1]; c:=tab2[0][0]+tab2[1][0]+tab2[2][0]+tab2[3][0]; while((a=1) or (a=3) or (b=1) or (b=3) or (c=1) or (c=3)) do begin i:=random(4); nbretire:=random(Ttemp[i]+1); Ttemp[i]:=Ttemp[i]-nbretire; Bin(Ttemp,tab2);//cet procedure est la procedure passant du tableau des formes decimal(situé dans tab1) aux donnés binaire(situé dans tab2) a:=tab2[0][2]+tab2[1][2]+tab2[2][2]+tab2[3][2]; b:=tab2[0][1]+tab2[1][1]+tab2[2][1]+tab2[3][1]; c:=tab2[0][0]+tab2[1][0]+tab2[2][0]+tab2[3][0]; end; end;
Merci de bien vouloir m'aider, je suis un peu perdu.
Partager