Ir ao conteúdo
  • Cadastre-se

Amadeu.G

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. /* Programa Jogo da velha Nomes: Curso: Unimontes - CEPT */ #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> #include <ctype.h> #include <string.h> //variáveis globais char jogador1[50],jogador2[50],j1='X', j2='O'; char tabuleiro[3][3]={0,0,0,0,0,0,0,0,0}; int contaJogada=1; //fim de variáveis globais //--------------------------------------------------------------- // Declaração de funções void menu(); void instrucoes(); void novoJogo(); void validaJogada(char, int, char); void exibeTabuleiro(); int verificaVencedor(char); //fim de declaração de funções //--------------------------------------------------------------- // inicio das funções int main(){//função principal system("title Jogo da Velha v1.0"); setlocale(LC_ALL,""); menu();//chama função menu }//fim da função principal void menu(){// função que exibe o menu inicial system("cls"); system("color f0"); int op; printf("\t\t #######################\n"); printf("\t\t # JOGO DA VELHA #\n"); printf("\t\t #######################\n\n\n"); printf("\t 1 - Novo Jogo\n"); printf("\t 2 - Ver resultados\n"); printf("\t 3 - Ver instruções\n"); printf("\t 0 - Sair - fechar\n\n"); printf("\t opção: "); scanf("%i", &op); switch(op){//executa opção do menu case 1: novoJogo();//chama função novo jogo break; case 2: break; case 3: instrucoes(); break; case 0: //exit(1); system("exit"); default: system("color 4f"); printf("\n\n\t opção inválida!\n\tEscolha outra opção\n\n\n"); system("pause"); menu(); //chama a função menu novamente } }//fim da função menu void novoJogo(){ system("cls"); system("color f0"); printf("\t\t #####################\n"); printf("\t\t # CADASTRO #\n"); printf("\t\t #####################\n\n\n"); printf("\tDigite o nome do primeiro Jogador:\n\t "); fflush(stdin); gets(jogador1); toupper(jogador1); printf("\n\t%s Seu simbolo será %c\n\n\n\n", jogador1, j1); system("pause"); system("cls"); printf("\t\t #####################\n"); printf("\t\t # CADASTRO #\n"); printf("\t\t #####################\n\n\n"); printf("\n\n\n\tDigite o nome do Segundo jogador:\n\t "); fflush(stdin); gets(jogador2); toupper(jogador2); printf("\t%s Seu simbolo será %c\n\n", jogador2, j2); system("pause"); exibeTabuleiro();//chamando a função exibe tabuleiro } //fim da função novo jogo void exibeTabuleiro(){//Função exibe tabuleiro int ganhador = 0; char jogadorAtual[50], j; char linha; int coluna; int valida = 1; while(ganhador != 1){ if(contaJogada % 2 !=0){ strcpy(jogadorAtual,jogador1); // entenda como jogadorAtual = jogador1em string; j = j1; } else{ strcpy(jogadorAtual,jogador2); // entenda como jogadorAtual = jogador2 em string; j = j2; } system("color f0"); system("cls"); printf("\n\t %s sua vez de jogar", jogadorAtual); printf("\n\t seu simbolo é: %c \n\n", j); printf("\t\t\t 1 2 3 \n"); printf("\t\t\t _______________________\n"); printf("\t\t\t | | | |\n"); printf("\t\t\tA | %c | %c | %c |\n",tabuleiro[0][0], tabuleiro[0][1], tabuleiro[0][2]); printf("\t\t\t |_______|_______|_______|\n"); printf("\t\t\t | | | |\n"); printf("\t\t\tB | %c | %c | %c |\n",tabuleiro[1][0], tabuleiro[1][1], tabuleiro[1][2]); printf("\t\t\t |_______|_______|_______|\n"); printf("\t\t\t | | | |\n"); printf("\t\t\tC | %c | %c | %c |\n",tabuleiro[2][0], tabuleiro[2][1], tabuleiro[2][2]); printf("\t\t\t |_______|_______|_______|\n\n"); printf("Digite a coordenada (EX A1): "); fflush(stdin); scanf("%c%i", &linha, &coluna); validaJogada(linha, coluna, j); if(contaJogada>4){ ganhador = verificaVencedor(j); } } }//fim da função exibe tabuleiro void validaJogada(char linha, int coluna, char j){ int valida = 1, l, c; switch(linha){ case 'a': case 'A': l = 0; break; case 'b': case 'B': l = 1; break; case 'c': case 'C': l = 2; break; default: system("color 4f"); printf("\n\n\t coordenada inválida!\n\n\n\n"); valida = 0; system("pause"); } if(valida!=0){ if(coluna>= 1 && coluna <=3){ c = coluna - 1; if(tabuleiro[l][c] == 0){ tabuleiro[l][c] = j; contaJogada ++; }else{ system("color 4f"); printf("\n\n\t Casa já preenchida,\n\tescolha outra jogada!\n\n\n\n"); system("pause"); } } else{ system("color 4f"); printf("\n\n\t coordenada inválida!\n\n\n\n"); system("pause"); } } } //fim da função valida Jogada int verificaVencedor(char j){// função veirica vencedor. /* fazer em casa e trazer na proxima aula */ /* if(aqui o teste se houve ganhador){ return 1; //retorna 1 se houver ganhador }else{ return 0; //retorna 0 se não houver ganhador }*/ } //essa função mostra as instuções void instrucoes(){ int enter; system("cls"); system("color e0"); printf("\t\t\t------------- -- --------------\n"); printf("\t\t\t#########JOGO DA VELHA#########\n"); printf("\t\t\t------------- -- --------------\n\n\n"); printf(" INSTRUÇÕES\n\n\n"); printf("\n Bem Vindo ao Jogo da velha.\n\n O jogo consiste em colocar em mesmo sentido o 'X' ou 'O',\n"); printf(" seja ele na horizontal, na vertical ou na diagonal.\n"); printf(" Vence, o jogador que primeiro colocar em ordem o seu símbolo,\n seja ele 'O' ou 'X'.\n"); printf(" Ex.: \n\n"); printf("Na vertical:\n\n"); printf("\t 1 2 3 1 2 3 1 2 3\n"); printf("\t | | | | | | \n"); printf("\tA X | | A | X | A | | X \n"); printf("\t _____|_____|_____ _____|_____|_____ _____|_____|_____\n"); printf("\t | | | | | | \n"); printf("\tB X | | B | X | B | | X \n"); printf("\t _____|_____|_____ _____|_____|_____ _____|_____|_____\n"); printf("\t | | | | | | \n"); printf("\tC X | | C | X | C | | X \n"); printf("\t | | | | | | \n"); printf("Na horizontal:\n\n"); printf("\t 1 2 3 1 2 3 1 2 3\n"); printf("\t | | | | | | \n"); printf("\tA X | X | X A | | A | | \n"); printf("\t _____|_____|_____ _____|_____|_____ _____|_____|_____\n"); printf("\t | | | | | | \n"); printf("\tB | | B X | X | X B | | \n"); printf("\t _____|_____|_____ _____|_____|_____ _____|_____|_____\n"); printf("\t | | | | | | \n"); printf("\tC | | C | | C X | X | X \n"); printf("\t | | | | | | \n"); printf("Na diagonal:\n\n"); printf("\t 1 2 3 1 2 3 \n"); printf("\t | | | | \n"); printf("\tA X | | A | | X \n"); printf("\t _____|_____|_____ _____|_____|_____ \n"); printf("\t | | | | \n"); printf("\tB | X | B | X | \n"); printf("\t _____|_____|_____ _____|_____|_____ \n"); printf("\t | | | | \n"); printf("\tC | | X C X | | \n"); printf("\t | | | | \n\n"); printf(" Para efetuar sua jogada, o jogador deve indicar\n a cordenada da casa em que ele quer colocar seu símbolo.\n"); printf(" Para indicar a cordenada o jogador deve primeiro\n indicar a linha e depois a coluna da casa.\n\n"); printf(" Ex.:\n\n"); printf(" Digamos que o jogador escolheu a primeira casa superior esquerda.\n Em que a coordenada é: A1"); printf(" Ele primeiramente informará a linha e depois a coluna. Assim: A1\n\n"); printf(" A jogada será assim: \n\n"); printf(" É sua vez 'Jogador'\n\n Digite a Cordenada: A1"); printf(" A resultado vai ser esse:\n\n"); printf("\t 1 2 3 \n"); printf("\t | | \n"); printf("\tA X | | \n"); printf("\t _____|_____|_____ \n"); printf("\t | | \n"); printf("\tB | | \n"); printf("\t _____|_____|_____ \n"); printf("\t | | \n"); printf("\tC | | \n"); printf("\t | | \n"); int cont=0; primeira: printf("\t\tAgora você já sabe jogar. Vamos tentar uma partida?\n\n\n"); system("pause"); menu(); } // fim das funções

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...