#生命 #游戏 #康威 #定制 #细胞 #闭包 #存活

your_game_of_life

一个小型的 Rust 库,用于自定义康威的生命游戏,功能最小化。

1 个不稳定发布

0.1.0 2022 年 5 月 22 日

#913游戏

MIT 许可证

15KB
258

自定义的康威生命游戏。

这是一个小型简单的库。该库旨在模仿康威的生命游戏,但增加了自定义功能。您可以通过提供自己的闭包来使用 playplay_for 方法来编辑规则。此外,[细胞][Cell](方块/像素)是 8 位 RGB 值,这意味着您可以创建一个彩色的生命游戏。

请注意,此库仅提供用于生命游戏的 2D 矩阵操作功能,不提供绘图功能。

示例

这是使用康威生命游戏的正常规则的方式。首先,我们创建一个定义大小和哪些细胞存活以及它们颜色的生命。(您可以通过将 ALIVEDEAD 替换为 RGB 来定义它们。)然后我们使用 play_for 方法应用我们的闭包两次。

const ALIVE: Cell = Cell::alive();
const DEAD: Cell = Cell::dead();

fn main() {
    let mut life = Life::from([
        [ALIVE, DEAD,  ALIVE],
        [DEAD,  ALIVE, DEAD],
        [ALIVE, DEAD,  ALIVE],
    ]);

    life.play_for(2, |same, others, _, _| {
        let alive = others.alive();

        if alive < 2 {
            DEAD
        }
        else if alive == 2 {
            same
        }
        else if alive == 3 {
            ALIVE
        }
        else {
            DEAD
        }
    });
}

无运行时依赖项