#grid #simulation #abstraction #happen #condition #conway #基于网格

程序+库 grid-sim

基于网格的 Rust 模拟

1 个不稳定版本

使用旧的 Rust 2015

0.3.0 2017年8月24日

#13 in #happen

每月22次下载

BSD-2-Clause

24KB
572

conway

Rust 中的基于网格的模拟

这是尝试

  • 以 Rust 风格实现一个已知且现成的程序
  • 通过闭包提供邻居确定和状态变化条件作为抽象
  • 尝试动画技术

希望在使用模块化的网格模拟和可视化引擎的同时更加熟悉 Rust。该引擎默认为康威的生命游戏。


安装/编译说明

安装 rust
https://www.rust-lang.net.cn/en-US/install.html

下载康威的源代码
gitclone https://github.com/JeremyCooper/conway
cdconway

构建和安装 conway
cargoinstall --features="binaries"

如果一切顺利,编译后的二进制文件应已放置在 ~/.cargo/bin
建议将此目录添加到您的 $PATH 变量中。


手册

控制

空格: 暂停/播放
n: 步进
q: 退出

命令行选项

-i, --initial-state: 初始网格状态。
可能值
随机(默认)
LWSS
滑翔机
Eureka
脉冲星

-a, --input-cells: 考虑为当前正在评估的细胞相邻的细胞。
可能值
邻居(默认)
无角落
仅角落
仅远端
远端和角落
仅远端角落

-r, --ruleset: 用于确定单元格状态变化的规则集。
可能值
康威(默认)
康威简易
康威非常简易
衰减

-t, --delay: 帧之间的延迟,以毫秒为单位

-w, --width: 网格宽度,以单元格为单位

-h, --height:网格高度,以单元格为单位

-l, --live-char:用于显示活细胞的字符

-d, --dead-char:用于显示死细胞的字符

-c, --color:活细胞的颜色

-b, --dead-color:死细胞的颜色

-f, --filled:在字符的替代位置,填充整个单元格进行显示

-p, --padding-off:不要填充单元格

-v, --inverse:反转显示活细胞和死细胞的选项

-z, --time-slice:单元格向上漂移

示例

$conway-cli -l 'r' -d 'j' -b红色 -c蓝色

$conway-cli -t 25 -c青色 -b红色 -l 'O' -d '|' -r衰减

$conway-cli -t 25 -c绿色 -a无角落 -f -r康威非常简易

依赖

~315–590KB