Jogo da velha
Publicado por Valter 14/10/2008
[ Hits: 10.713 ]
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);
}
char.c - Programa com caracteres
Calcular potência de um número
Parte 1 - Sessão de estudo sobre MATRIZES
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Servidor de DNS BIND Ubuntu server (4)
Como programar um sistema de controle para distribuições linux em c? (2)
Compartilhar ZEBRA ZD220 na rede (2)
Como programar um software que seja utilizado para coleta de dados em ... (1)









