Jogo da velha em C purinho
Publicado por Djames Suhanko 21/02/2005
[ Hits: 12.885 ]
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 }
Algoritmo em C - Ordenação por Seleção
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Instalação Uefi com o instalador clássico do Mageia [RESOLVIDO] (2)
Melhorando a precisão de valores flutuantes em python[AJUDA] (11)
GLPI - Configuração de destinatário com conta Microsoft Exchange (0)