Jogo da velha em C purinho
Publicado por Djames Suhanko 21/02/2005
[ Hits: 13.015 ]
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 }
Simples exemplo de manipulação de vetores
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
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
Converter os repositórios Debian para o novo formato com as chaves
Instalando Spotify no Debian 13
Realizar overclock no Miyoo Mini (plus ou normal)
Direcionar uma URL para Outra No Mikrotik (1)
Monitoramento pfsense com zabbix (4)
Erro na inicialização do Debian como resolver (5)
Dúvidas sobre a originalidade de conteúdos online (11)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (4)