Golly
Golly是由Andrew Trevorrow和Tom Rokicki开发的跨平台开源软件,可用于模拟康威生命游戏或其他类型的元胞自动机。Golly包含大量预先设定的元胞模式和生长规则,可模拟大尺度、长时间的元胞行为;采用wxWidgets编写图形用户界面,并支持Python和Lua(v3.0之前的版本是Perl)脚本语言[2]。Golly采用GNU GPL第2版协议发布,属于自由软件[3]。
原作者 | Andrew Trevorrow Tom Rokicki |
---|---|
开发者 | The Golly Gang |
首次发布 | v0.1(2005年7月) |
当前版本 | v3.1(2017年10月 | )
编程语言 | C++ |
操作系统 | Linux, FreeBSD, OpenBSD, Windows, OS X, iOS, Android |
语言 | 英文 |
类型 | 游戏, 模拟器 |
许可协议 | GNU GPL (第2版) |
网站 | golly |
算法与规则
Golly支持以下算法及规则[4]:
- QuickLife:一种常规的算法,支持包括康威生命游戏在内的各种二维邻域总和相关(outer-totalistic)规则,还支持史蒂芬·沃尔夫勒姆的一维规则。
- HashLife:一种基于散列表的算法,支持的规则与QuickLife相当。当元胞模式规律性较强时,HashLife的效率将大大超过QuickLife;当元胞模式趋于混沌时,HashLife反而不如QuickLife高效。
- Generations:一种支持多元胞状态的算法,经典的康威生命游戏中每个元胞只有生/死两种状态,而Generations可以支持那些拥有多状态(最高可达256个状态)的规则。
- JvN:由约翰·冯·诺伊曼最早提出的元胞自动机算法(20世纪40年代),支持诺伊曼本人提出的JvN29规则(一个包含29种状态的元胞自动机)及其变种。
- RuleLoader:允许用户自定义规则的算法,用户可通过外部.rule文件按照规定的格式[5]定义规则。
快捷操作
鼠标快捷操作
- 单击状态栏的"Generation=..."可修改代数
- 单击状态栏的"Scale=..."可将显示比例设定为1:1
- 单击状态栏的"Step=..."可将步长恢复为默认值(即指数位恢复为0)
- 双击编辑栏的元胞图标可设定界面及图标颜色
- 使用鼠标滚轮可缩放当前视野
- 在文件栏中右键单击可打开并编辑模式文件
键盘快捷键
Tab | 下一步 | 空格 | 下一代 | 回车 | 暂停/启动元胞繁殖 | ||
方向键 | 移动视野 | + | 加快速度(Step指数位加1) | - | 降低速度(Step指数位减1) | ||
? | 显示帮助 | [ | 缩小 | ] | 放大 | ||
Ctrl+R | 恢复到初始形态 | Z | 撤销 | Shift+Z | 重做 | ||
L | 显示/不显示网格 | T | 自动调整视野大小 | F | 调整视野大小以适应当前形态 | ||
B | 反色显示 | F11 | 全屏显示 | ' | 显示/隐藏工具栏 | ||
P | 显示/隐藏文件栏 | ; | 显示/隐藏状态栏 | / | 显示/隐藏编辑栏 | ||
Ctrl+N | 新建元胞模式 | Ctrl+S | 保存当前形态 | Ctrl+Q | 退出Golly |
同类软件
与Golly功能相仿的软件有:
- MCell:由Mirek Wójtowicz编写的模拟软件。项目主页:www
.mirekw .com /ca /index .html - Xlife:由Jon Bennett编写的模拟软件。项目主页:freecode
.com /projects /xlife - Life32:由Johan Bontes编写的模拟软件。项目主页:psoup
.math .wisc .edu /Life32 .html - LifeLab:由Andrew Trevorrow编写的模拟软件。项目主页:www
.trevorrow .com /lifelab /
参考资料
- ^ Rendell, P., A universal Turing machine in Conway's Game of Life, 2011 International Conference on High Performance Computing and Simulation (HPCS) (PDF): 764–772, 2011 [2014-03-11], doi:10.1109/HPCSim.2011.5999906, (原始内容 (PDF)存档于2014-03-11)
- ^ Golly's key features. [2014-03-11]. (原始内容存档于2007-06-26).
- ^ License of Golly. [2014-03-11]. (原始内容存档于2021-01-04).
- ^ Golly's online help -- Algorithms. [2014-03-12]. (原始内容存档于2020-10-23).
- ^ Golly's rule file format. [2014-03-12]. (原始内容存档于2020-11-12).
- ^ Golly's online help -- Mouse Shortcuts. [2014-03-12]. (原始内容存档于2018-06-24).
- ^ Golly's online help -- Keyboard Shortcuts. [2014-03-12]. (原始内容存档于2020-11-08).