Here’s an issue I found:
int boardcounter = 1;
//...
for (int j = 0; j < 3; j++)
{
board[i][j] = (char) boardcounter;
boardcounter++;
}
The issue is that the cast (char) does not convert the int variable into a textual representation. The cast actually converts the integer to smaller sized integer variable.
There are many ways to convert a number to a character, such as snprintf, tostring, and ostringstream.
Since you have a limited range, i.e. digits 0 – 9, you may be able to get away with:
board[row][column] = '0' + boardcounter;
I suggest you review your code and find other places where an integer is being converted to char and change it accordingly.
BTW, most Tic-Tac-Toe games use ‘ ‘, ‘X’ and ‘O’ as values.
1
solved Tic Tac Toe using C++ and multidimensional arrays [closed]