我有一些代码可以用|等简单字符绘制网格。 | |垂直线为-----------------,水平线为-----------------。
但是当您出于某种原因玩游戏时,其中的一行会向右移动。我不知道为什么会这样。甚至最初,第零行也会移位
int blankflag = 0;
cout << "\n ------------------------------------------------- ";
for (int i = 4; i >= 0; i--)
{
cout << "\n";
cout << i;
for (int j = 0; j <= 4; j++)
{
if (blankflag)
{
cout << " |";
blankflag = 0;
}
else
{
cout << " |";
}
for (int k = 0; k < 4; k++)
{
if ('k'th queen is at i,j)
{
if (player 1's queen)
{
cout << "# ";
}
else if (player 2's queen)
{
cout << "O ";
}
blankflag = 1;
}
}
if (arrow at i,j and no queen)
{
cout << "X";
blankflag = 1;
}
}
if (blankflag)
{
cout << " |";
}
else
{
cout << " |";
}
cout << "\n ------------------------------------------------- ";
}
cout << " \n a b c d e";
箭头是另一位机械师。无论如何,当我重新绘制棋盘时,随着箭头的射击和游戏的进行,随机移动最低和第二最低的行。有人有更优雅的网格解决方案吗?我只想根据自己的游戏状态(已构建)绘制X或#或O即可。