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