16 个版本

0.6.1 2023 年 3 月 18 日
0.6.0 2022 年 5 月 1 日
0.5.2 2022 年 1 月 1 日
0.5.1 2021 年 7 月 17 日
0.2.0 2019 年 11 月 30 日

算法 中排名 #967


用于 rlifesrc

MIT 许可证

180KB
3.5K SLoC

rlifesrc-lib

GitHub Workflow Status Crates.io Docs.rs 中文

Rust 生命搜索,或 rlifesrc,是一个用 Rust 编写的生命游戏模式搜索器。

该程序基于 David Bell 的 lifesrc 和 Jason Summers 的 WinLifeSearch,使用 Dean Hickerson 发明的算法

与 WinLifeSearch 相比,rlifesrc 仍然较慢,并且缺少许多重要功能。但它支持非全总态生命游戏和世代规则。

这是 rlifesrc 的库。还有一个带有 TUI 的 命令行工具 和一个使用 WebAssembly 的 网络应用

您可以在此尝试网络应用 这里

有关此包发布的版本文档,请访问 docs.rs。GitHub 上还有 未发布版本的文档,其中包含私有函数和方法。

示例

找到 25P3H1V0.1 舰船。

use rlifesrc_lib::{Config, Status};

// Configures the world.
let config = Config::new(16, 5, 3).set_translate(0, 1);

// Creates the world.
let mut search = config.world().unwrap();

// Searches and displays the generation 0 of the result.
if let Status::Found = search.search(None) {
    println!("{}", search.rle_gen(0))
}

搜索结果

x = 16, y = 5, rule = B3/S23
........o.......$
.oo.ooo.ooo.....$
.oo....o..oo.oo.$
o..o.oo...o..oo.$
............o..o!

依赖

~1.9–3.5MB
~70K SLoC