Ir ao conteúdo
  • Cadastre-se

C++ Me ensine na linha 200 com intverificaganhador


Amadeu.G

Posts recomendados

/*
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

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...