Ir para conteúdo

VitinhoBBK

Members
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por VitinhoBBK


  1. Seguinte, estou tentando criar um jogo da velha mas e está causando um erro ao compilar, aparece um erro dizendo->|error: cannot convert 'char (*)[3]' to 'char*' for argument '1' to 'bool verificaX(char*)', alguem sabe como posso resolver ???! (Aparentemente não ta dando pra armazenar o endereço do vetor casas dentro do ponteiro das funções...

    Obs: Aceito sugestões para melhorar meu código, grato.(Ignorem as bibliotecas inúteis)

     

     

    #include <iostream>
    #include <stdio.h> //Para função gets
    #include <stdlib.h> //Para função malloc
    #include <math.h>
    #include <iomanip>
    
                        //JOGO DA VELHA
    
    using namespace std;
    
    int jogadas=0;
    
    bool verificaX(char *vetor);
    bool verificaO(char *vetor);
    
    int main(){
    
        char casas[3][3]={' ',' ',' ',' ',' ',' ',' ',' ',' '};
        int l=0,c=0;
    
        while(jogadas<9){
    
             cout << "\t\t" << casas[0][0] << " | " << casas[0][1] << " | " << casas[0][2] << "\n";
             cout << "\t\t_________\n";
             cout << "\t\t" << casas[1][0] << " | " << casas[1][1] << " | " << casas[1][2] << "\n";
             cout << "\t\t_________\n";
             cout << "\t\t" << casas[2][0] << " | " << casas[2][1] << " | " << casas[2][2] << "\n\n\n";
    
            cout << "Digite uma linha: ";
            cin >> l;
            cout << "Digite uma coluna: ";
            cin >> c;
    
            while(l<=0 || c <=0 || l>3 || c>3){
                system("cls");
                cout << "Linha ou Coluna não existe!";
                cout << "Digite uma linha: ";
                cin >> l;
                cout << "Digite uma coluna: ";
                cin >> c;
            }
            system("cls");
            if(jogadas%2==0){
                casas[--l][--c]='X';
            }else{
                casas[--l][--c]='O';
            }
            jogadas++;
    
            verificaX(casas);
            verificaO(casas);
    
        }
    
            if(verificaX){
                cout << "Jogador X ganhou!";
            }else if(verificaO){
                cout << "Jogador O ganhou!";
            }else{
                cout << "Empate!";
            }
        return(0);
    }
    
    bool verificaX(char *vetor){
        int l,c;
        for(l=0;l<3;l++){
            if(vetor[l][0] && vetor[l][1] && vetor[l][2] == 'X'){
                jogadas=10;
                return true;
            }else if(vetor[0][c] && vetor[1][c] && vetor[2][c] == 'X'){
                jogadas=10;
                return true;
            }
            c++;
        }
        return 0;
    }
    bool verificaO(char *vetor){
        int l,c;
        for(l=0;l<3;l++){
            if(*vetor[l][0]=='X' && *vetor[l][1]=='X' && *vetor[l][2] == 'X'){
                jogadas=10;
                return o=true;
            }else if(*vetor[0][c]=='X' && *vetor[1][c]=='X' && *vetor[2][c] == 'X'){
                jogadas=10;
                return o=true;
            }
            c++;
        }
        return 0;
    }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.