在C ++中绘制正方形/木板5x5网格(修复)

时间:2018-11-26 16:12:07

标签: c++ user-interface console ascii

我有一些代码可以用|等简单字符绘制网格。 | |垂直线为-----------------,水平线为-----------------。

但是当您出于某种原因玩游戏时,其中的一行会向右移动。我不知道为什么会这样。甚至最初,第零行也会移位

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即可。

0 个答案:

没有答案