Jogo da velha em C purinho
Publicado por Djames Suhanko 21/02/2005
[ Hits: 12.869 ]
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 }
Contador de palavras, linhas e caracteres de um arquivo texto
Parte 2 - Sessão de estudo sobre VETORES
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta