C++生命游戏实现与规则遵循
这是一个基于C++的生命游戏(Game of Life)实现,严格遵循生命游戏的规则,建立在一个无限的二维正交方格单元格网格中。在生命游戏中,每个单元格可以存在两种状态:存活或死亡。单元格与其八个相邻的单元格进行交互,根据以下规则:
- 如果一个存活的单元格周围少于两个存活的邻居,它将死亡。
- 如果一个存活的单元格周围有两个或三个存活的邻居,它将继续存活到下一代。
- 如果一个存活的单元格周围有超过三个存活的邻居,它将死亡。
- 如果一个死亡的单元格周围恰好有三个存活的邻居,它将在下一代复活。
这个实现包括以下版本:
- 版本一:您可以设置网格的大小,并模拟运行,直到触发停止信号。包括run0函数执行一代,display0函数显示当前状态,和init0函数初始化网格。
- 版本二:为自信的用户,您可以首先定义Automaton类来模拟游戏,并支持暂停和恢复模拟。
- 版本三:定义Cell类,其中每个单元格负责计算下一代的步骤,并显示其状态。
- 版本四:您可以保存和加载当前代到文件中,并让单元格检测一些模式并通知用户。
- 版本五:用户可以在运行时更改单元格的状态,并支持撤销操作。
下载地址
用户评论