[Resolvido] jogo da velha contra comp.
Bom dia
To fazendo um jogo da velha, e to com dificuldade na parte em que o computador faz a jogada dele.
Eu pretendia fazer o seguinte:
Pessoa faz a jogada dela;
1ª jogada do computador é randomica;
Pessoa faz a segunda jogada;
Computador lê a matriz e procura dois 'X' ou dois 'O' juntos separados por um espaço;
Se ele encontrou vê se o espaço está vazio;
Se estiver vazio ele preenche com 'O', finalizando o jogo caso 'O'|'O'|'O', ou evitando perder caso 'X'|'X'|'O';
E caso ele nao encontre nada preenche um espaço randomico;
Mas nao ta dando certo, abaixo segue o código:
void get_computer_move(void)
{
int i,j,marcou;
marcou=0;
/*----- RANDOMICO -----*/
if(jogadas<2){
do{
randomico();
if(matrix[a][b]==' '){
matrix[a][b]='O';
marcou++;
}
}while(marcou==0);
}
else{
/*-------- CONTROLA HORIZONTAIS ---------*/
if(!marcou)
for(i=0;i<3;i++)
if(matrix[i][0] == matrix[i][1])
if(matrix[i][2]==' ')
{
matrix[i][2]=='O';
marcou++;
break;
}
if(!marcou)
for(i=0;i<3;i++)
if(matrix[i][1] == matrix[i][2])
if(matrix[i][0]==' ')
{
matrix[i][0]='O';
marcou++;
break;
}
if(!marcou)
for(i=0;i<3;i++)
if(matrix[i][0] == matrix[i][2])
if(matrix[i][1]==' ')
{
matrix[i][1]='O';
marcou++;
break;
}
/*------- CONTROLA VERTICAIS ---------*/
if(!marcou)
for(i=0;i<3;i++)
if(matrix[0][i] == matrix[1][i])
if(matrix[2][i]==' ')
{
matrix[2][i]='O';
marcou++;
break;
}
if(!marcou)
for(i=0;i<3;i++)
if(matrix[0][i] == matrix[2][i])
if(matrix[1][i]==' ')
{
matrix[1][i]='O';
marcou++;
break;
}
if(!marcou)
for(i=0;i<3;i++)
if(matrix[1][i] == matrix[2][i])
if(matrix[0][i]==' ')
{
matrix[0][i]='O';
marcou++;
break;
}
/*------ CONTROLA DIAGONAIS -----------*/
if(!marcou)
if(matrix[0][0] == matrix[1][1])
if(matrix[2][2]==' ')
{
matrix[2][2]='O';
marcou++;
}
if(!marcou)
if(matrix[1][1] == matrix[2][2])
if(matrix[0][0]==' ')
{
matrix[0][0]='O';
marcou++;
}
if(!marcou)
if(matrix[0][0] == matrix[2][2])
if(matrix[1][1]==' ')
{
matrix[1][1]='O';
marcou++;
}
if(!marcou)
if(matrix[0][2] == matrix[1][1])
if(matrix[2][0]==' ')
{
matrix[2][0]='O';
marcou++;
}
if(!marcou)
if(matrix[1][1] == matrix[2][0])
if(matrix[0][2]==' ')
{
matrix[0][2]='O';
marcou++;
}
if(!marcou)
if(matrix[0][2] == matrix[2][0])
if(matrix[1][1]==' ')
{
matrix[1][1]='O';
marcou++;
}
/*------ Randomico --------*/
if(!marcou)
do{
randomico();
if(matrix[a][b]==' '){
matrix[a][b]='O';
marcou++;
}
}while(marcou==0);
}
}Discussão (8)
Carregando comentários...