#include #include #include "Board.h" using namespace std; Board::Board() { for (int i = 0; i < 2; ++i) { for (int j = 0; j < 8; ++j) { boardArray[i][j] = 'X'; } } for (int i = 2; i < 6; ++i) { for (int j = 0; j < 8; ++j) { boardArray[i][j] = '_'; } } for (int i = 6; i <= 7; ++i) { for (int j = 0; j < 8; ++j) { boardArray[i][j] = 'O'; } } } moves Board::parse(string input) { input = myToUpper(input); cout< 8 || row < 0 || kolumn > 8 || kolumn < 0) { cout<<"ERROR: index out of bound in second move()!"<= 0) && (r+reflector <= 7) && (c+1 <= 7) ) return true; else return false; } else if (moveType == "LEFT") { if (boardArray[r+reflector][c-1] != pieceToMove && (r+reflector >= 0) && (r+reflector <= 7) && (c+1 >= 0) ) return true; else return false; } else return false; } } vector Board::viewPossibleMoves() { vector output; for (int r = 0; r < 8; ++r) { for (int c = 0; c < 8; ++c) { if (boardArray[r][c] == turn) { if (isThisMovePossible(r,c,"FWD")) { moves temp(8-r,intToCharColumn(c+1),"FWD"); output.push_back(temp); } if (isThisMovePossible(r,c,"LEFT")) { moves temp(8-r,intToCharColumn(c+1),"LEFT"); output.push_back(temp); } if (isThisMovePossible(r,c,"RIGHT")) { moves temp(8-r,intToCharColumn(c+1),"RIGHT"); output.push_back(temp); } } } } return output; } string Board::myToUpper(string input) { string output; for (int i = 0 ; i < input.size(); ++i) { int numeric; if ((input[i] - 0 >= 97) && (input[i] - 0 <= 122)) { numeric = input[i] - 32; output.push_back((char)numeric);// = 'Q';//(char) numeric; } else output.push_back(input[i]); } for (int i = 0; i < output.size(); ++i) { cout< record; if (record.size() < 2) { cout<<"nothing to undo"< record; input = myToUpper(input); if (input == "UNDO") { undo(tablero); } else if (input == "DISPLAYRECORD") //for debugging purposes { cout<<"record: "<& inputVec, Board inputBoard) { if (inputVec.size() == 10) { inputVec.erase(inputVec.begin()); } else if (inputVec.size() > 10) { cout<<"QUEUE OVERFLOW!"<