首页 > 解决方案 > 在 C++ 中绘制正方形/板 5x5 网格(修复)

问题描述

我有一些代码来绘制带有简单字符的网格,例如 | | | 用于垂直线,----------------- 用于水平线。

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

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

标签: c++user-interfaceconsoleascii

解决方案


推荐阅读