Jogo da velha
Publicado por Valter 14/10/2008
[ Hits: 10.749 ]
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);
}
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
WiFi Seguro: EAP-TLS com FreeRADIUS e Active Directory (LDAP)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (4)









