修改前一行C ++

时间:2019-03-04 20:27:47

标签: c++

我目前正在为学校项目尝试用c ++制作Conway的生活游戏。问题是我不知道如何使板子更具“动态性”。如何返回几行以更改之前的输出?现在,我必须印刷不完全美观的各种木板。

在前面的问题上进行查找时,我只能找到“ / r”,如果面板仅是一行,但对我来说不是,这会有所帮助。

编辑:添加了代码示例(如果有帮助的话)。

for (int temp = 0; temp < iterations; temp++){
  for(long long i = 0; i < height; ++i){
    for(long long j = 0; j < width; ++j){
      if (CurrentGen[i][j]){
        cout << "■" << " ";
      }
      else{
        cout << "." << " ";
      }
    }
    cout << "\n";
  }
  cout << "---------------------------------------" << endl;
  CurrentGen = NextGen(CurrentGen, height, width);
  sleep(1);
}

1 个答案:

答案 0 :(得分:0)

对于依赖于系统的代码,这最终将不仅仅是复杂的解决方案。

但是,简单,快速的解决方案是在视觉上更新同一行,这是为每次循环迭代创建许多空行。

for (int n = 0; n < 50; n++)
    {
        std::cout << "\n";
    }

正如我之前说的,当没有可用的系统信息时,仅使用标准命令,这是最好的C ++。

还有其他方法,例如:

  1. system呼叫以清除终端

  2. 打印结束线的标准方法

  3. 使用ncurses库#include <curses.h>

    • 优势:这是一个跨平台的
    • 缺点:不能与标准I / O混合