samedi 14 mars 2020

identifier is undefined c++

I am trying to create a domineering game and I am receiving 2 errors which are the same thing which says identifier "playAt" is undefined and identifier "hasLegalMoveFor" is undefined and I am not sure what the problem is, if you know the problem could you please explain it to me so I can understand much more when coding, I have been working on this for about 2 weeks.

#include<Windows.h>
#include<iostream>
#include<vector>
using namespace std;

int main()
{
// specify default value to fill the vector elements
int mapSize = 0;
int row = 0;
int column = 0;
int x = row = 0;
int y = column = 0;
int horizontal = 0;
int vertical = 0;
char player = 'H' && 'V';
player = horizontal && vertical;


cout << "Enter the size of board. It should accept any size between 2 and 15. => ";
cin >> mapSize;

vector< vector<char> > board(mapSize, vector<char>(mapSize, '0'));
for (int i = 0; i < mapSize; i++) {
    for (int j = 0; j < mapSize; j++) {
        cout << board[i][j] << " ";
    }
    cout << endl;
}

int CheckValid(int i, int j, int player); {

    if (board[x][y] != 0)
        return 0;
    if (player == 1) {
        if (board[x][y + 1] != 0 || y == 12)
            return 0;
    }
    else {
        if (board[x + 1][y] != 0 || x == 12)
            return 0;
    }
    return 1;
}

void play(); {
    bool player = horizontal;
    while (true) {
        cout << ("\n");
        if (player == horizontal) {
            cout << ("Horizontal to play");
        }else {
            cout << ("Vertical to play");
        }
        if (!(hasLegalMoveFor(player))) {
            cout << ("No legal moves -- you lose! ");
            return;
        }
        cout << ("Row: ");
        int row;
        cin >> row;
        cout << ("Column: ");
        int column;
        cin >> column;
        playAt(row, column, player);
        player = !player;
    }
}

void playAt(int x, int y, bool player); {
    if (!board[x][y] && !board[x][y + 1] && player == horizontal) {
        board[x][y] = true;
        board[x][y + 1] = true;
    }
    else if (!board[x][y] && !board[x + 1][y] && player == vertical) {
        board[x][y] = true;
        board[x][y] = true;
    }
    else {
        cout << ("Not a legal move!");
    }

        bool hasLegalMoveFor(bool player); {
            int rowOffset = 0;
            int columnOffset = 0;
            if (player == horizontal) {
                columnOffset = 1;
            }
            else {
                rowOffset = 1;
            }
            for (int x = 0; row < (8 - rowOffset); x++) {
                for (int y = 0; y < (8 - columnOffset); y++) {
                    if (!(board[x][y] = board[x + rowOffset][y + columnOffset])) {
                        return true;
                    }
                };
            }
            return false;
        }
        //board[x][y] = true;
        //if (player == horizontal) {
            //board[x][y + 1] = true;
            //board[x][y + 2] = true;
        //} else (player == vertical); {
            //board[x + 1][y] = true;
            //board[x + 2][y] = true;
        //}
    //}

    //char ch = 0;
    //do {
    //cout << "Press Q to quit\n";
    //cin >> ch;
    //system("cls");
//} while (ch != 'Q' && ch != 'q');
    //return 0;
    }
}

Aucun commentaire:

Enregistrer un commentaire