Jogo da velha em C purinho
Publicado por Djames Suhanko 21/02/2005
[ Hits: 13.112 ]
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
}
C --> Calculadora de equações de 2º grau explicada.
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
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Fiz uma pergunta no fórum mas não consigo localizar (13)
Quais os códigos mais dificeis que vcs sabem fazer? (2)
Não consigo instalar distro antiga no virtualbox nem direto no hd (7)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... [RES... (8)
Dá para criar um bom jogo usando a linguagem de programação C? [RESOLV... (1)









