Jogo da velha em C purinho
Publicado por Djames Suhanko 21/02/2005
[ Hits: 13.097 ]
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
}
Parte 5 (ORDENANDO NUMEROS) - Sessão de estudo sobre MATRIZES
Tabela hash com classes e tratamento de colisões por encadeamento
C --> Calculadora de equações de 2º grau explicada.
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
Adicionar botão "mostrar área de trabalho" no Zorin OS
Como montar um servidor de backup no linux
Trazendo de volta o Serviços em Segundo Plano no Plasma6
É normal não gostar de KDE? (21)
Servidor para arquivos e banco de dados (4)
780 mil usuários do Janelas baIxaram Linux em um mês (4)
Atualizei meu ubuntu e desliguei e ele não inicia corretamente (12)









