#include <stdio.h>
int board[10];
char simboli[3]={' ','X','O'};
int c;
void azzeraBoard();
void stampaBoard();
void mossaUmano();
void mossaComputer();
int vincitore();
int main() {
int i;
int finito=0;
int conta=0;
azzeraBoard();
stampaBoard();
c=0;
while (conta<9){
printf("conta=%d",conta);
mossaUmano();
conta++;
stampaBoard();
finito=vincitore();
if (finito==1)
break;
mossaComputer();
conta++;
stampaBoard();
finito=vincitore();
if (finito==1)
break;
}
if (c==0)
printf("il gioco è patto");
}
void azzeraBoard() {
int i;
for (i=1;i<10;i++) {
board[i]=0;
}
}
void stampaBoard(){
int i;
for (i=1;i<10;i++) {
if (i==1)
printf("\n___________________\n");
if ( (i==3)||(i==6)){
printf("%c", simboli[board[i]]);
printf("\n");
printf("--------\n");
} else
printf("%c |", simboli[board[i]]);
}
}
void mossaUmano(){
int numero;
int mossaGiusta=0;
while (mossaGiusta==0){
printf("\nfai la tua mossa, dammi il numero della casella");
scanf("%d",&numero);
if ((numero<1) || (numero>9) || (board[numero]>0)) {
mossaGiusta=0;
}
else {
mossaGiusta=1;
}
}
board[numero]=1;
}
void mossaComputer(){
int i;
for (i=1; i<10; i++){
if (board[i]==0) {
board[i]=2;
i=10;
}
}
}
int vincitore(){
int v=0;
if ((board[1]==board[2])&& (board[2]==board[3])&& (board[1]>0)){
v=1;
c=board[1];
}
if ((board[4]==board[5])&& (board[5]==board[6])&& (board[4]>0)){
v=1;
c=board[4];
}
if ((board[7]==board[8])&& (board[8]==board[9])&& (board[7]>0)){
v=1;
c=board[7];
}
if ((board[1]==board[4])&& (board[4]==board[7])&& (board[1]>0)){
v=1;
c=board[1];
}
if ((board[2]==board[5])&& (board[5]==board[8])&& (board[2]>0)){
v=1;
c=board[2];
}
if ((board[3]==board[6])&& (board[6]==board[9])&& (board[3]>0)){
v=1;
c=board[3];
}
if ((board[1]==board[5])&& (board[5]==board[9])&& (board[1]>0)){
v=1;
c=board[1];
}
if ((board[3]==board[5])&& (board[5]==board[7])&& (board[3]>0)){
v=1;
c=board[3];
}
printf("v=%d",v);
if (v==1) {
if (c==1)
printf("ha vinto l'umano");
if (c==2)
printf("ha vinto il computer");
}
return v;
}
Nessun commento:
Posta un commento