Jogo da velha em C purinho
Publicado por Djames Suhanko 21/02/2005
[ Hits: 13.070 ]
Homepage: http://phantomclone.com
Fiz esse jogo da velha ha
alguns anos em C purinho,
usando apenas a biblioteca
padrão. Não é fantástico, mas
é interessante. Espero que
gostem.
PS: em algumas versões do gcc
não funfa mais. :-(
No windows vai blz, basta
mudar o "cls" para "clear"
#include <stdio.h>
//Jogo da velha, por Djames Suhanko.
int fim;
char nome2[20];
char nome1[20];
int count;
char jogador;
int i, troca;
char casa[3];
char um[20],dois[20],tres[20],quatro[20],cinco[20],seis[20],sete[20];
char oito[20],nove[20],dez[20],onze[25],doze[20],treze[20];
main()
{
int volta=0;
i=0;
for (count=0; count<17; count++)
{
um[i] = ' ';
dois[i] = ' ';
tres[i] = ' ';
quatro[i] = ' ';
cinco[i] = '_';
seis[i] = ' ';
sete[i] = ' ';
oito[i] = ' ';
nove[i] = '_';
dez[i] = ' ';
onze[i] = ' ';
doze[i] = ' ';
treze[i] = ' ';
i=i++;
}
i=5;
for (count=0; count<2; count++)
{
um[i] = '|';
dois[i] = '|';
tres[i] = '|';
quatro[i] = '|';
cinco[i] = '|';
seis[i] = '|';
sete[i] = '|';
oito[i] = '|';
nove[i] = '|';
dez[i] = '|';
onze[i] = '|';
doze[i] = '|';
treze[i] = '|';
i=i+6;
}
jogador = '*';
system("clear");
printf("Entre com o nome do jogador(a) 1:\n");
fflush(NULL);
scanf("%s",&nome1);
printf("Entre com o nome do jogador(a) 2:\n");
fflush(NULL);
scanf("%s",&nome2);
VOLTA: system("cls");
/*##### Encerrar o jogo #####*/
if (quatro[2] == quatro[8] && quatro[8] == quatro[14] && quatro[14] != ' ' || quatro[2] == sete[2] && onze[2] == sete[2] && sete[2] != ' ' || quatro[2] == sete[8] && sete[8] == onze[14] && onze[14] != ' ' || quatro[8] == sete[8] && quatro[8] == onze[8] && onze[8] != ' ' || quatro[14] == sete[14] && sete[14] == onze[14] && onze[14] != ' ' || onze[2] == sete[8] && sete[8] == quatro[14] && quatro[14] != ' ' || onze[2] == onze[8] && onze[8] == onze[14] && onze[14] != ' ')
{
if (jogador == 'X')
{
printf("Fim de jogo.\nJogador(a) %c, %s venceu!\n", jogador, nome1);
}
else
{
printf("Fim de jogo.\nJogador %c, %s venceu!\n", jogador, nome2);
}
}
/*############################################*/
printf(" A B C\n\n");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", tres[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", quatro[i]);
i=i++;
}
printf(" 1");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", cinco[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", seis[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", sete[i]);
i=i++;
}
printf(" 2");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", nove[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", dez[i]);
i=i++;
}
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", onze[i]);
i=i++;
}
printf(" 3");
printf("\n");
i=0;
for (count=0; count<17; count++)
{
printf("%c", doze[i]);
i=i++;
}
printf("\n\n\n");
printf(" Jogo da Velha - Por: Djames Suhanko\n\n");
printf("Opções:\n novo - para novo jogo, a qualquer momento\n");
printf(" sair - para sair do jogo a qualquer momento\n");
printf("\nEntre Com uma coordenada: \n >>> ");
if (jogador == '*')
{
printf("Jogador X: %s\n", nome1);
}
else if (jogador == 'X')
{
printf("Jogador *: %s\n", nome2);
}
fflush(NULL);
scanf("%s",&casa);
if (!strcmp(casa,"a1"))
{
troca = 1;
}
if (!strcmp(casa,"b1"))
{
troca = 2;
}
if (!strcmp(casa,"c1"))
{
troca = 3;
}
if (!strcmp(casa,"a2"))
{
troca = 4;
}
if (!strcmp(casa,"b2"))
{
troca = 5;
}
if (!strcmp(casa,"c2"))
{
troca = 6;
}
if (!strcmp(casa,"a3"))
{
troca = 7;
}
if (!strcmp(casa,"b3"))
{
troca = 8;
}
if (!strcmp(casa,"c3"))
{
troca = 9;
}
if (!strcmp(casa,"sair"))
{
troca = 0;
}
if (!strcmp(casa,"novo"))
{
troca = 11;
}
switch(troca)
{
case 1:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (quatro[2] != 'X' && quatro[2] != '*')
{
quatro[2] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case 1a
case 2:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (quatro[8] != 'X' && quatro[8] != '*')
{
quatro[8] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case b1
case 3:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (quatro[14] != 'X' && quatro[14] != '*')
{
quatro[14] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case c1
case 4:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (sete[2] != 'X' && sete[2] != '*')
{
sete[2] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case a2
case 5:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (sete[8] != 'X' && sete[8] != '*')
{
sete[8] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case b2
case 6:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (sete[14] != 'X' && sete[14] != '*')
{
sete[14] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case c2
case 7:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (onze[2] != 'X' && onze[2] != '*')
{
onze[2] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case a3
case 8:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (onze[8] != 'X' && onze[8] != '*')
{
onze[8] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case b3
case 9:
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
if (onze[14] != 'X' && onze[14] != '*')
{
onze[14] = jogador;
goto VOLTA;
}
else
{
if (jogador == '*') {
jogador = 'X';
}
else if (jogador == 'X') {
jogador = '*';
}
goto VOLTA;
}
} //case c3
case 0:
{
return 0;
}
case 11:
{
quatro[2] = ' ';
quatro[8] = ' ';
quatro[14] = ' ';
sete[2] = ' ';
sete[8] = ' ';
sete[14] = ' ';
onze[2] = ' ';
onze[8] = ' ';
onze[14] = ' ';
}
default:
{
goto VOLTA;
}
} //switch
}
gerenciador de historico de comandos
Calculo de Área e Diametro do circulo
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Preciso recuperar videos *.mp4 corrompidos (2)
Secure boot, artigo interessante, nada técnico. (1)
\Boot sem espaço em disco (Fedora KDE Plasma 42) (6)









