Jogo da velha em C purinho
Publicado por Djames Suhanko 21/02/2005
[ Hits: 13.012 ]
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 }
Criando um Quadrado com asteriscos
NOÇÕES DE ARITMÉTICA DE PONTEIROS
EXPRESSÕES ARITMÉTICAS - PARTE 1
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)