我现在正在做一个TTT游戏。但每当我尝试打印电路板时,我都会得到类似的结果:https://gyazo.com/b080017e24acd68972ab4913e9cd2548
我的问题是那些奇怪的符号是什么以及如何摆脱它们
void TicTacToeGame::printBoard()
{
cout << "\n";
cout << "|1 2 3| \n";
for (int i = 0; i < 3; i++)
{
cout << "------\n";
cout << i+1 << "|" << board[i][0] << "|" << board[i][1] << "|" << board[i][2] << "|\n";
}
cout << "------\n";
}
编辑: 我在这里开始:
void TicTacToeGame::playGame()
{
char player1 = 'X';
char player2 = 'O';
char currentPlayer = 'X';
bool isDone = false;
int x, y;
while (isDone == false)
{
printBoard();
x = getXCoord();
y = getYCoord();
if (placeMarker(x, y, currentPlayer) == false)
{
cout << "can't place it here!\n";
}
else
{
changePlayers(currentPlayer, player1, player2);
}
}
}
EDIT2:
已修复,谢谢你的帮助!
答案 0 :(得分:1)
那些'奇怪的符号'是unicode字符。在声明您的电路板后,char值只是随机符号,board
元素还应该包含什么?
您必须像这样初始化您的电路板:
声明:
char board[3][3] = {
{' ',' ',' '},
{' ',' ',' '},
{' ',' ',' '}
};
或者在构造函数/一些初始化方法中:
board = {
{' ',' ',' '},
{' ',' ',' '},
{' ',' ',' '}
};
现在你的电路板应该只包含空格。