Ola boa tarde, tenho o seguinte código de jogo da velha:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
char Matriz[3][3];
int verificar(char O)
{
if ((Matriz[0][0]==O && Matriz[0][1]==O && Matriz[0][2]==O)||
(Matriz[1][0]==O && Matriz[1][1]==O && Matriz[1][2]==O)||
(Matriz[2][0]==O && Matriz[2][1]==O && Matriz[2][2]==O)||
(Matriz[0][0]==O && Matriz[1][0]==O && Matriz[2][0]==O)||
(Matriz[0][1]==O && Matriz[1][1]==O && Matriz[2][1]==O)||
(Matriz[0][2]==O && Matriz[1][2]==O && Matriz[2][2]==O)||
(Matriz[0][0]==O && Matriz[1][1]==O && Matriz[2][2]==O)||
(Matriz[0][2]==O && Matriz[1][1]==O && Matriz[2][0]==O))
return 1;
return -1;
}
int main(void)
{
char O='O', X='X';
int l=0,j,i;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
Matriz[i][j]=' ';//zera
while(l<=9)//enquanto a matriz nao for completa
{
printf(" JOGO DA VELHA \n");
// for(i=0;i<3;i++)
// {
// printf("\t\t %c \xBA %c \xBA %c\n",Matriz[i][0],Matriz[i][1],Matriz[i][2]);//tabela asc
// if(i<3-1)
// {
// printf("\t\t ÍÍÍ\xCEÍÍÍ\xCEÍÍÍ\n");
// }
// }
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
//if(Matriz[i][j]==' ') printf("- \t");
//else printf("%c \t",Matriz[i][j]);
printf("%c \t",(Matriz[i][j]==' '? '-' : Matriz[i][j]));
printf("\n");
}
printf("\nINSIRA AS COORDENADAS, ");
if(l%2)printf("Jogador X\nLINHA: ");
else printf("Jogador O\nLINHA: ");
scanf("%d",&i);//le e armazena na variavel i, um numero inteiro %d
printf("COLUNA: ");
scanf("%d",&j);//armazena na variavel j
if(Matriz[i-1][j-1]==' ')
{
if(l%2)Matriz[i-1][j-1]=X;
else Matriz[i-1][j-1]=O;
l++;
}
if(verificar(O)==1){
printf("\n\a\t\tJogador O, VOCE VENCEU!!!");//faz o teste
break;
}
if(verificar(X)==1)
{
printf("\n\n\n\n\a\t\tJogador X, VOCE VENCEU!!!");;//testa se o X venceu
break;
}
if(l==9)//se for igual a 9(martriz completa) e nenhumas dos testes prevaleceu, entao empatado
{
printf("PARTIDA EMPATADA");//
break;
}
}
getch();//pausa, le o que e inserido pelo teclado, ex ENTER
return(0);
}
*Preciso implementar a parte do código onde o computador joga contra o usuário usando rand, porém não sei como fazer e nem onde colocar no código. Agradeço a quem puder me responder, desde já obrigado.
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
char Matriz[3][3];
int verificar(char O)
{
if ((Matriz[0][0]==O && Matriz[0][1]==O && Matriz[0][2]==O)||
(Matriz[1][0]==O && Matriz[1][1]==O && Matriz[1][2]==O)||
(Matriz[2][0]==O && Matriz[2][1]==O && Matriz[2][2]==O)||
(Matriz[0][0]==O && Matriz[1][0]==O && Matriz[2][0]==O)||
(Matriz[0][1]==O && Matriz[1][1]==O && Matriz[2][1]==O)||
(Matriz[0][2]==O && Matriz[1][2]==O && Matriz[2][2]==O)||
(Matriz[0][0]==O && Matriz[1][1]==O && Matriz[2][2]==O)||
(Matriz[0][2]==O && Matriz[1][1]==O && Matriz[2][0]==O))
return 1;
return -1;
}
int main(void)
{
char O='O', X='X';
int l=0,j,i;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
Matriz[i][j]=' ';//zera
while(l<=9)//enquanto a matriz nao for completa
{
printf(" JOGO DA VELHA \n");
// for(i=0;i<3;i++)
// {
// printf("\t\t %c \xBA %c \xBA %c\n",Matriz[i][0],Matriz[i][1],Matriz[i][2]);//tabela asc
// if(i<3-1)
// {
// printf("\t\t ÍÍÍ\xCEÍÍÍ\xCEÍÍÍ\n");
// }
// }
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
//if(Matriz[i][j]==' ') printf("- \t");
//else printf("%c \t",Matriz[i][j]);
printf("%c \t",(Matriz[i][j]==' '? '-' : Matriz[i][j]));
printf("\n");
}
printf("\nINSIRA AS COORDENADAS, ");
if(l%2)printf("Jogador X\nLINHA: ");
else printf("Jogador O\nLINHA: ");
scanf("%d",&i);//le e armazena na variavel i, um numero inteiro %d
printf("COLUNA: ");
scanf("%d",&j);//armazena na variavel j
if(Matriz[i-1][j-1]==' ')
{
if(l%2)Matriz[i-1][j-1]=X;
else Matriz[i-1][j-1]=O;
l++;
}
if(verificar(O)==1){
printf("\n\a\t\tJogador O, VOCE VENCEU!!!");//faz o teste
break;
}
if(verificar(X)==1)
{
printf("\n\n\n\n\a\t\tJogador X, VOCE VENCEU!!!");;//testa se o X venceu
break;
}
if(l==9)//se for igual a 9(martriz completa) e nenhumas dos testes prevaleceu, entao empatado
{
printf("PARTIDA EMPATADA");//
break;
}
}
getch();//pausa, le o que e inserido pelo teclado, ex ENTER
return(0);
}
*Preciso implementar a parte do código onde o computador joga contra o usuário usando rand, porém não sei como fazer e nem onde colocar no código. Agradeço a quem puder me responder, desde já obrigado.
Comment