Aggiunto controllo per il pareggio
This commit is contained in:
parent
924287f657
commit
293a8f37ce
18
main.c
18
main.c
@ -36,7 +36,7 @@ int main (){
|
||||
tabella[i][k]=giocatore;
|
||||
stampa();
|
||||
/*Controlla se il giocatore ha vinto*/
|
||||
if(controlla(1)){
|
||||
if(controlla(1)||controlla(2)){
|
||||
vittoria=1;
|
||||
break;
|
||||
}
|
||||
@ -48,7 +48,7 @@ int main (){
|
||||
}
|
||||
while(!vittoria && mossa<M*M);
|
||||
/*Stampa il risultato della partita, mette in pausa, rompe lo switch e ritorna al menu*/
|
||||
if((!controlla(1))&&(!controlla(2))){
|
||||
if(controlla(1)==-1){
|
||||
printf(ROSSO " Pareggio.\n");
|
||||
pausa();
|
||||
}
|
||||
@ -136,13 +136,13 @@ int main (){
|
||||
stampa();
|
||||
printf(ROSSO);
|
||||
/*Stampa il risultato della partita, mette in pausa, rompe lo switch e ritorna al menu*/
|
||||
if((!controlla(1) && !controlla(2)) && difficolta==1)
|
||||
if(controlla(1)==-1 && difficolta==1)
|
||||
printf(" Pareggio, potevi fare di meglio.\n\n");
|
||||
else{
|
||||
if((!controlla(1) && !controlla(2)) && difficolta==2)
|
||||
if(controlla(1)==-1 && difficolta==2)
|
||||
printf(" Pareggio, ci eri quasi, riprova...\n\n");
|
||||
else{
|
||||
if((!controlla(1) && !controlla(2)) && difficolta==3){
|
||||
if(controlla(1)==-1 && difficolta==3){
|
||||
if(!os)
|
||||
printf(" Pareggio, ti %c andata gi%c bene...\n\n",138,133);
|
||||
else
|
||||
@ -161,18 +161,18 @@ int main (){
|
||||
printf(" Lo sai... non puoi battere il minimax.\n\n");
|
||||
}
|
||||
}
|
||||
if(giocatore==1 && difficolta==1)
|
||||
if(controlla(1) && difficolta==1)
|
||||
printf(" Bravo, hai battuto uno che mette crocette a caso!\n\n");
|
||||
|
||||
else{
|
||||
if(giocatore==1 && difficolta==2){
|
||||
if(controlla(1) && difficolta==2){
|
||||
if(!os)
|
||||
printf(" Bravo, non %c stato facile!\n\n",138);
|
||||
else
|
||||
printf(" Bravo, non è stato facile!\n\n");
|
||||
}
|
||||
else{
|
||||
if(giocatore==1 && difficolta==3){
|
||||
if(controlla(1) && difficolta==3){
|
||||
printf(" Impossibile!! Non hai vinto!!!\n");
|
||||
if(!os)
|
||||
printf(" Sei vedi questo messaggio sicuramente c'%c qualcosa che non va.\n\n",138);
|
||||
@ -240,7 +240,7 @@ int main (){
|
||||
}
|
||||
}
|
||||
|
||||
}while (scelta!=5);
|
||||
}while(scelta!=5);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
16
tris.c
16
tris.c
@ -171,18 +171,24 @@ int controlla(int giocatore){
|
||||
for(k=0;k<M;k++)
|
||||
if((tabella[k][i]==giocatore&&tabella[k+1][i]==giocatore&&tabella[k+2][i]==giocatore)&&(k+2<M))
|
||||
return 1;
|
||||
|
||||
}
|
||||
return 0;
|
||||
int piene=M*M;
|
||||
for(i=0;i<M;i++)
|
||||
for(k=0;k<M;k++)
|
||||
if(!tabella[i][k])
|
||||
piene--;
|
||||
if(piene==M*M)
|
||||
return -1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*Minimax*/
|
||||
int minimax(int giocatore, int profondita){
|
||||
stampa();
|
||||
if(controlla(2))
|
||||
return INT_MAX;
|
||||
if(mossa==M*M)
|
||||
return 0;
|
||||
if(controlla(1)==-1)
|
||||
return INT_MIN;
|
||||
int res,tmp;
|
||||
if(giocatore==1){
|
||||
res=1;
|
||||
|
Loading…
Reference in New Issue
Block a user