Jogo da velha
Publicado por Valter 14/10/2008
[ Hits: 10.669 ]
Um código bem simples do jogo da velha, mas para quem está iniciando em C é bem interressante.
#include<stdio.h>
#include<conio.h>
#define Y 3
int main(void)
{
unsigned char Matriz[Y][Y];
const int TRUE = 1;
const char O='O', X='X';
int l,j,i;
for(i=0;i<Y;i++)
for(j=0;j<Y;j++)
Matriz[i][j]=' ';
while(TRUE)
{
printf("\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0 JOGO DA VELHA"
" \xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\xB0\n\n\n\n");
for(i=0;i<Y;i++)
{
printf("\t\t %c \xBA %c \xBA %c\n",Matriz[i][0],Matriz[i][1],Matriz[i][2]);
if(i<Y-1)
{
printf("\t\t ÍÍÍ\xCEÍÍÍ\xCEÍÍÍ\n");
}
}
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))
{
printf("\n\n\n\n\a\t\tJogador 1, VOCE VENCEU!!!");
break;
}
if((Matriz[0][0]==X && Matriz[0][1]==X && Matriz[0][2]==X)||
(Matriz[1][0]==X && Matriz[1][1]==X && Matriz[1][2]==X)||
(Matriz[2][0]==X && Matriz[2][1]==X && Matriz[2][2]==X)||
(Matriz[0][0]==X && Matriz[1][0]==X && Matriz[2][0]==X)||
(Matriz[0][1]==X && Matriz[1][1]==X && Matriz[2][1]==X)||
(Matriz[0][2]==X && Matriz[1][2]==X && Matriz[2][2]==X)||
(Matriz[0][0]==X && Matriz[1][1]==X && Matriz[2][2]==X)||
(Matriz[0][2]==X && Matriz[1][1]==X && Matriz[2][0]==X))
{
printf("\n\n\n\n\a\t\tJogador 2, VOCE VENCEU!!!");
break;
}
if(l==9)
{
printf("PARTIDA EMPATADA");
break;
}
printf("\n\n\n\n\n\n\n\n\n\n\n\nINSIRA AS COORDENADAS, ");
if(l%2)printf("PLAYER 2\nLINHA: ");
else printf("PLAYER 1\nLINHA: ");
scanf("%d",&i);
printf("COLUNA: ");
scanf("%d",&j);
if(Matriz[i-1][j-1]==' ')
{
if(l%2)Matriz[i-1][j-1]=X;
else Matriz[i-1][j-1]=O;
l++;
}
}
getch();
return(0);
}
Fibonacci Recursivo e Não Recursivo
Meu primeiro programa em C (Olá mundo)
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)
Secure boot, artigo interessante, nada técnico. (5)
VOL já não é mais como antes? (9)
É normal não gostar de KDE? (13)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)









