【发布时间】:2012-08-22 17:08:38
【问题描述】:
我编写了一个模拟生命游戏的程序。基本上,世界是由bool 的二维 std::vector 实现的。如果bool 为真,则细胞是活的,如果为假,则细胞是死的。程序的输出是每个时间步的系统,完全是ASCII码:
[ ][0][ ]
[ ][ ][0]
[0][0][0]
问题是程序运行速度明显很快,而且每个时间步都打印得太快:我看不到系统是如何演变的。是否有一些技巧可以减慢输出(或直接减慢程序)?
编辑:我使用的是 Mac OS X 10.7。我的编译器是 GCC 4.7。
【问题讨论】:
-
在连续更新之间放入一个睡眠命令,让您可视化该过程。睡眠取决于您使用的操作系统。
-
最终,您可能希望将输出演变为图形屏幕上的“胖”像素。除了使它成为一个很好的图形练习之外,它还可以让您更直观地看到演变。有时你会得到一些创建奇妙图形的东西,例如机关枪生命模型。胖像素顺便说一句,就像一个 4x4 的像素输出来表示网格上的单个实体。在胖像素之后,您可以尝试使用精灵,它现在可以为您提供衰老的生物,它们会茁壮成长或死亡然后消失。 :)