Bug fix
Risolto un bug nella funzione int controlla(int giocatore) che poteva modificare il risultato in base ai valori delle celle di memoria adiacenti alla matrice.
This commit is contained in:
parent
8b143e7831
commit
819f4ed1ae
12
tris.c
12
tris.c
@ -155,21 +155,23 @@ void leggimossa(){
|
||||
int controlla(int giocatore){
|
||||
/*Diagonali*/
|
||||
for(i=0;i<M;i++){
|
||||
for(k=M;k>=0;k--)
|
||||
if(tabella[i][k]==giocatore&&tabella[i+1][k-1]==giocatore&&tabella[i+1][k-2]==giocatore)
|
||||
for(k=(M-1);k>=0;k--)
|
||||
if((tabella[i][k]==giocatore&&tabella[i+1][k-1]==giocatore&&tabella[i+2][k-2]==giocatore)&&((i+2<M)&&(k-2>0)))
|
||||
return 1;
|
||||
for(k=0;k<M;k++)
|
||||
if(tabella[i][k]==giocatore&&tabella[i+1][k+1]==giocatore&&tabella[i+2][k+2]==giocatore)
|
||||
if((tabella[i][k]==giocatore&&tabella[i+1][k+1]==giocatore&&tabella[i+2][k+2]==giocatore)&&((i+2<M)&&(k+2<M)))
|
||||
return 1;
|
||||
}
|
||||
/*Righe e colonne*/
|
||||
for(i=0;i<M;i++){
|
||||
for(k=0;k<M;k++)
|
||||
if(tabella[i][k]==giocatore&&tabella[i][k+1]==giocatore&&tabella[i][k+2]==giocatore)
|
||||
if((tabella[i][k]==giocatore&&tabella[i][k+1]==giocatore&&tabella[i][k+2]==giocatore)&&(k+2<M))
|
||||
return 1;
|
||||
|
||||
for(k=0;k<M;k++)
|
||||
if(tabella[k][i]==giocatore&&tabella[k+1][i]==giocatore&&tabella[k+2][i]==giocatore)
|
||||
if((tabella[k][i]==giocatore&&tabella[k+1][i]==giocatore&&tabella[k+2][i]==giocatore)&&(k+2<M))
|
||||
return 1;
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user