#include <iostream>
#include <algorithm>
#include <utility>
using namespace std;
#include <iostream>
#include <string>
using namespace std;
void gameBoard();
void drawGameBoard(string row1[], string row2[], string row3[]);
void playerInput(string xOrO, string row1[], string row2[], string row3[]);
const int MAXLENGTH = 9;
int main()
{
gameBoard();
}
void gameBoard()
{
string row1[] = { "__", "_", "__|", "__", "_", "__|", "__", "_", "__" };
string row2[] = { "__", "_", "__|", "__", "_", "__|", "__", "_", "__" };
string row3[] = { "__", "_", "__|", "__", "_", "__|", "__", "_", "__" };
drawGameBoard(row1, row2, row3);
playerInput("X", row1, row2, row3);
drawGameBoard(row1, row2, row3);
}
void drawGameBoard(string row1[], string row2[], string row3[])
{
cout << endl;
for (int i = 0; i < MAXLENGTH; ++i)
{
cout << row1[i];
}
cout << endl;
for (int i = 0; i < MAXLENGTH; ++i)
{
cout << row2[i];
}
cout << endl;
for (int i = 0; i < MAXLENGTH; ++i)
{
cout << row3[i];
}
cout << endl;
cout << endl;
}
void playerInput (string xOrO, string row1[], string row2[], string row3[])
{
row1[1] = xOrO;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dXRpbGl0eT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHN0cmluZz4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZvaWQgZ2FtZUJvYXJkKCk7CnZvaWQgZHJhd0dhbWVCb2FyZChzdHJpbmcgcm93MVtdLCBzdHJpbmcgcm93MltdLCBzdHJpbmcgcm93M1tdKTsKdm9pZCBwbGF5ZXJJbnB1dChzdHJpbmcgeE9yTywgc3RyaW5nIHJvdzFbXSwgc3RyaW5nIHJvdzJbXSwgc3RyaW5nIHJvdzNbXSk7Cgpjb25zdCBpbnQgTUFYTEVOR1RIID0gOTsKCmludCBtYWluKCkKewogICAgZ2FtZUJvYXJkKCk7Cn0KCnZvaWQgZ2FtZUJvYXJkKCkKewogICAgc3RyaW5nIHJvdzFbXSA9IHsgIl9fIiwgIl8iLCAiX198IiwgIl9fIiwgIl8iLCAiX198IiwgIl9fIiwgIl8iLCAiX18iIH07CiAgICBzdHJpbmcgcm93MltdID0geyAiX18iLCAiXyIsICJfX3wiLCAiX18iLCAiXyIsICJfX3wiLCAiX18iLCAiXyIsICJfXyIgfTsKICAgIHN0cmluZyByb3czW10gPSB7ICJfXyIsICJfIiwgIl9ffCIsICJfXyIsICJfIiwgIl9ffCIsICJfXyIsICJfIiwgIl9fIiB9OwogICAgCiAgICBkcmF3R2FtZUJvYXJkKHJvdzEsIHJvdzIsIHJvdzMpOwogICAgcGxheWVySW5wdXQoIlgiLCByb3cxLCByb3cyLCByb3czKTsKICAgIGRyYXdHYW1lQm9hcmQocm93MSwgcm93Miwgcm93Myk7Cn0KCnZvaWQgZHJhd0dhbWVCb2FyZChzdHJpbmcgcm93MVtdLCBzdHJpbmcgcm93MltdLCBzdHJpbmcgcm93M1tdKQp7CiAgICBjb3V0IDw8IGVuZGw7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IE1BWExFTkdUSDsgKytpKQogICAgewogICAgICAgIGNvdXQgPDwgcm93MVtpXTsKICAgIH0KICAgIGNvdXQgPDwgZW5kbDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTUFYTEVOR1RIOyArK2kpCiAgICB7CiAgICAgICAgY291dCA8PCByb3cyW2ldOwogICAgfQogICAgY291dCA8PCBlbmRsOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNQVhMRU5HVEg7ICsraSkKICAgIHsKICAgICAgICBjb3V0IDw8IHJvdzNbaV07CiAgICB9CiAgICBjb3V0IDw8IGVuZGw7CiAgICBjb3V0IDw8IGVuZGw7Cn0KCnZvaWQgcGxheWVySW5wdXQgKHN0cmluZyB4T3JPLCBzdHJpbmcgcm93MVtdLCBzdHJpbmcgcm93MltdLCBzdHJpbmcgcm93M1tdKQp7CiAgICByb3cxWzFdID0geE9yTzsKfQ==