#include <iostream>
using namespace std;
class Board {
private:
char grid[3][3];
public:
Board();
int makeMove(int xIn, int yIn,char playerTurnIn);
void print();
};
/*default constructor which initializes an empty array with .*/
Board::Board():
grid{{'.','.','.'},{'.','.','.'},{'.','.','.'}}
{ }
/*declare this in the board class
make sure to add Board:: for makeMove and print functions*/
int Board::makeMove(int xIn, int yIn,char playerTurnIn) {
if (grid[xIn][yIn]=='.') {
grid[xIn][yIn] = playerTurnIn;
return true;
}
else {
return false;
}
}
void Board::print() {
std::cout<<" 0 1 2"<<std::endl;
for (int row = 0; row < 3; row++) {
std::cout<<row<<' ';
for (int col = 0; col < 3; col++) {
std::cout<<grid[row][col]<<' ';
}
std::cout<<std::endl;
}
}
int main() {
Board board1;
board1.print();
board1.makeMove(0,0,'x');
board1.print();
if(board1.makeMove(0,0,'x'))
std::cout<<"true"<<std::endl;
else
std::cout<<"false"<<std::endl;
std::cout<<"finished!"<<std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQm9hcmQgewoKcHJpdmF0ZToKICAgIGNoYXIgZ3JpZFszXVszXTsKcHVibGljOgogICAgQm9hcmQoKTsKICAgIGludCBtYWtlTW92ZShpbnQgeEluLCBpbnQgeUluLGNoYXIgcGxheWVyVHVybkluKTsKICAgIHZvaWQgcHJpbnQoKTsKCn07CgovKmRlZmF1bHQgY29uc3RydWN0b3Igd2hpY2ggaW5pdGlhbGl6ZXMgYW4gZW1wdHkgYXJyYXkgd2l0aCAuKi8KQm9hcmQ6OkJvYXJkKCk6CiAgZ3JpZHt7Jy4nLCcuJywnLid9LHsnLicsJy4nLCcuJ30seycuJywnLicsJy4nfX0KeyB9CgovKmRlY2xhcmUgdGhpcyBpbiB0aGUgYm9hcmQgY2xhc3MKCm1ha2Ugc3VyZSB0byBhZGQgQm9hcmQ6OiBmb3IgbWFrZU1vdmUgYW5kIHByaW50IGZ1bmN0aW9ucyovCmludCBCb2FyZDo6bWFrZU1vdmUoaW50IHhJbiwgaW50IHlJbixjaGFyIHBsYXllclR1cm5JbikgewogICAgaWYgKGdyaWRbeEluXVt5SW5dPT0nLicpIHsKICAgICAgICBncmlkW3hJbl1beUluXSA9IHBsYXllclR1cm5JbjsKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KfQoKdm9pZCBCb2FyZDo6cHJpbnQoKSB7CiAgICBzdGQ6OmNvdXQ8PCIgMCAxIDIiPDxzdGQ6OmVuZGw7CiAgICBmb3IgKGludCByb3cgPSAwOyByb3cgPCAzOyByb3crKykgewogICAgICAgIHN0ZDo6Y291dDw8cm93PDwnICc7CiAgICAgICAgZm9yIChpbnQgY29sID0gMDsgY29sIDwgMzsgY29sKyspIHsKICAgICAgICAgICAgc3RkOjpjb3V0PDxncmlkW3Jvd11bY29sXTw8JyAnOwogICAgICAgIH0KICAgICAgICBzdGQ6OmNvdXQ8PHN0ZDo6ZW5kbDsKCiAgICB9Cn0KCmludCBtYWluKCkgewoJQm9hcmQgYm9hcmQxOwogICAgYm9hcmQxLnByaW50KCk7CiAgICBib2FyZDEubWFrZU1vdmUoMCwwLCd4Jyk7CiAgICBib2FyZDEucHJpbnQoKTsKICAgIGlmKGJvYXJkMS5tYWtlTW92ZSgwLDAsJ3gnKSkKICAgICAgICBzdGQ6OmNvdXQ8PCJ0cnVlIjw8c3RkOjplbmRsOwogICAgZWxzZQogICAgICAgIHN0ZDo6Y291dDw8ImZhbHNlIjw8c3RkOjplbmRsOwogICAgc3RkOjpjb3V0PDwiZmluaXNoZWQhIjw8c3RkOjplbmRsOwoJcmV0dXJuIDA7Cn0=