| | chourik2002 | Posté le 27/04/2003 @ 11:57 | Petit astucien
196 Messages
| je m'en doute que vous avez de viner de quel jeux je parle !!(le jeux des crois et des ronds)
le prob ici c'est :
> comment empecher un joueur de metre son jeton (X ou O )dans une place deja utilisé ???
> pour savoir si les jetons sont aligné il ya 3 cas
+ les jeton sont sur la meme ligne
+ les jeton sont sur la meme colone
+ les jeton sont sur la Diagonale
merci de m'aider a terminer ce prob!!!
voici le programe en PASCAL :
NB "" pour les chifres qui apparessent a la fin du jeux c'est les coordonnées des jetons ""
{je 1er joueur joue avec les "O" et le 2eme joueur joue avec "X"
"8" pour le haut
"6" pour la droite
"4" pour la gauche
"2" pour le bas
"1" pour bas-gauche
"3" pour bas-droite
"7" pour haut-gauche
"9" pour haut-droite
"0" pour valider}
program kjeux;
Uses wincrt;
Var
a,n,m,i,k,l,c: integer ;
t1,t2:array[1..7]of integer;
procedure saisie; {procedure de remplissage de la grille}
begin
l:=7; c:=9;k:=6 ;
for n:=1 to 3 do
for m:=1 to 3 do
begin
gotoxy((l-k)+n*k,(c-k)+m*k);
write('+');
gotoxy(l-k,c-k);
end;
end;
procedure pos1(l,c,k:integer); {***}
begin
gotoxy(l+k,c+k);
write('O');
end;
procedure joueur1; {le jeux pour le joueur 2}
begin
l:=13; c:=15;k:=6 ;
gotoxy(l,c);write('O');
repeat
case ReadKey of
'6' : if (l in[7..13]) then
begin gotoxy(l,c); write('+');
l:=l+k; gotoxy(l,c); write('O');
end;
'4' : if (l in[13..19]) then
begin gotoxy(l,c); write('+');
l:=l-k; gotoxy(l,c); write('O');
end;
'2' : if (c in[9..15]) then
begin gotoxy(l,c); write('+');
c:=c+k; gotoxy(l,c); write('O');
end;
'8' : if (c in[15..21]) then
begin gotoxy(l,c); write('+');
c:=c-k; gotoxy(l,c); write('O');
end;
'3' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c+k;l:=l+k; gotoxy(l,c); write('O');
end;
'1' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c+k;l:=l-k; gotoxy(l,c); write('O');
end;
'9' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c-k;l:=l+k; gotoxy(l,c); write('O');
end;
'7' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c-k;l:=l-k; gotoxy(l,c); write('O');
end;
end;
until readkey ='0';
end;
procedure pos2(l,c,k:integer); {***}
begin
l:=13; c:=15;k:=6 ;
gotoxy(l,c);
write('X');
end;
procedure joueur2; {le jeux pour le joueur 2}
begin
l:=13; c:=15;k:=6 ;
repeat
case ReadKey of
'6' : if (l in[7..13]) then
begin gotoxy(l,c); write('+');
l:=l+k; gotoxy(l,c); write('X');
end;
'4' : if (l in[13..19]) then
begin gotoxy(l,c); write('+');
l:=l-k; gotoxy(l,c); write('X');
end;
'2' : if (c in[9..15]) then
begin gotoxy(l,c); write('+');
c:=c+k; gotoxy(l,c); write('X');
end;
'8' : if (c in[15..21]) then
begin gotoxy(l,c); write('+');
c:=c-k; gotoxy(l,c); write('X');
end;
'3' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c+k;l:=l+k; gotoxy(l,c); write('X');
end;
'1' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c+k;l:=l-k; gotoxy(l,c); write('X');
end;
'9' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c-k;l:=l+k; gotoxy(l,c); write('X');
end;
'7' : if (l =13) then
begin gotoxy(l,c); write('+');
c:=c-k;l:=l-k; gotoxy(l,c); write('X');
end;
end;
until readkey ='0';
end;
Begin
clrscr;
saisie;
pos1(l,c,k);
for a:=1 to 3 do
begin
joueur1;
t1[a]:=l; t1[a+1]:=c;
t2[a]:=l; t2[a+1]:=c;
pos2(l,c,k);
joueur2;
end;
for i:=1 to 6 do
write(t1[i],' ',t2[i]);
end.
| | |
| |
| Publicité |
|
| | CaptN_dav | Posté le 28/04/2003 à 09:16 | Petit astucien
426 Messages
| je suis pas tres sur mais je pense qu'un module test doit se placer avant chaque coup
procedure ou fonction test
fonction test(a,b: integer):boolean;
local:=boolean;
begin
local:=false;
if (??? case vide ???)
then
local
end;
j'avoue que je seche un peu,
courage
++
| | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|