1个不稳定版本
0.1.3 | 2021年9月30日 |
---|---|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#13 在 #nice
8KB
92 行
生命游戏crate
这个crate允许您创建并玩著名的约翰·康威的“生命游戏”。
介绍
但什么是生命游戏呢?
它是由约翰·康威在70年代发明的一种自动机。
它由一个无限网格(实际上它是有限的)组成,其中的细胞可以是两种状态之一:死亡或活着。
一个细胞的邻域是围绕它的8个细胞(例如底部、顶部、左侧、右侧和对角线)。
如果一个活细胞有两个或三个活着的邻居,它就会变成活着的。否则,它就会死亡。
如果一个死细胞有三个活着的邻居,它就会变成活着的。否则,它仍然保持死亡状态。
所以您需要做的就是创建一个自动机,设置一些细胞(使它们活着)并观察它的演变!
有关康威生命游戏的更多信息,请参阅这个 祝您玩得开心!
快速入门
要安装,请参阅安装说明。
然后,尝试这段代码
use std::time::Duration;
use std::thread::sleep;
use gol_lib::*;
fn main(){
let mut g = GameOfLife::new(45, 25);
g.set_element(5, 5);
g.set_element(6, 5);
g.set_element(7, 5);
g.set_element(6, 6);
clear();
reverse();
loop {
g.show();
g.update();
refresh();
clear();
sleep(Duration::from_millis(500));
}
}
安装
要将它作为依赖项安装,只需将此行添加到您的Cargo.toml文件中
[dependencies]
gol-lib = "0.1.0"
如果您想本地安装,请执行以下操作
git clone https://github.com/Dalejosne/Automata
并且您需要的所有文件都将位于子目录Automata/game_of_life中。
文档
安装后,请执行以下操作
cargo doc
然后打开target/doc/game_of_life目录中的index.html文件
示例
查看“examples”仓库。要运行它们,请执行以下操作
cargo run --example basic