跳转到内容

Golly

维基百科,自由的百科全书
Golly
原作者Andrew Trevorrow
Tom Rokicki
開發者The Golly Gang
首次发布v0.1(2005年7月)
当前版本v3.1(2017年10月,​7年前​(2017-10
编程语言C++
操作系统Linux, FreeBSD, OpenBSD, Windows, OS X, iOS, Android
语言英文
类型游戏, 模拟器
许可协议GNU GPL (第2版)
网站golly.sourceforge.net

Golly是由Andrew Trevorrow和Tom Rokicki开发的跨平台开源软件,可用于模拟康威生命游戏或其他类型的元胞自动机。Golly包含大量预先设定的元胞模式和生长规则,可模拟大尺度、长时间的元胞行为;采用wxWidgets编写图形用户界面,并支持PythonLua(v3.0之前的版本是Perl脚本语言[2]。Golly采用GNU GPL第2版协议发布,属于自由软件[3]

算法与规则

Golly支持以下算法及规则[4]

  • QuickLife:一种常规的算法,支持包括康威生命游戏在内的各种二维邻域总和相关(outer-totalistic)规则,还支持史蒂芬·沃尔夫勒姆的一维规则。
  • HashLife:一种基于散列表的算法,支持的规则与QuickLife相当。当元胞模式规律性较强时,HashLife的效率将大大超过QuickLife;当元胞模式趋于混沌时,HashLife反而不如QuickLife高效。
  • Generations:一种支持多元胞状态的算法,经典的康威生命游戏中每个元胞只有生/死两种状态,而Generations可以支持那些拥有多状态(最高可达256个状态)的规则。
  • JvN:由约翰·冯·诺伊曼最早提出的元胞自动机算法(20世纪40年代),支持诺伊曼本人提出的JvN29规则(一个包含29种状态的元胞自动机)及其变种。
  • RuleLoader:允许用户自定义规则的算法,用户可通过外部.rule文件按照规定的格式[5]定义规则。

快捷操作

Golly支持以下快捷操作和快捷键[6][7]

鼠标快捷操作

  • 单击状态栏的"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功能相仿的软件有:


参考资料

  1. ^ 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) 
  2. ^ Golly's key features. [2014-03-11]. (原始内容存档于2007-06-26). 
  3. ^ License of Golly. [2014-03-11]. (原始内容存档于2021-01-04). 
  4. ^ Golly's online help -- Algorithms. [2014-03-12]. (原始内容存档于2020-10-23). 
  5. ^ Golly's rule file format. [2014-03-12]. (原始内容存档于2020-11-12). 
  6. ^ Golly's online help -- Mouse Shortcuts. [2014-03-12]. (原始内容存档于2018-06-24). 
  7. ^ Golly's online help -- Keyboard Shortcuts. [2014-03-12]. (原始内容存档于2020-11-08). 

外部链接