3 个不稳定版本
0.2.0 | 2024年7月10日 |
---|---|
0.1.1 | 2024年6月24日 |
0.1.0 | 2024年6月1日 |
#113 in 模拟
每月118次下载
21KB
423 行代码
lifers-raylib
lifers 的 Raylib 前端。
用法
要使用此前端,只需创建一个细胞类型
// Simple Game of Life-like cell
struct Cell {
is_alive: bool
}
您的细胞不必如此简单,它们可以有多个属性(类型、组等)。
现在只需为它实现 RenderCell<Color>
use raylib::color::Color;
use lifers::frontend::RenderCell;
impl RenderCell<Color> for Cell {
fn render_cell(&self) -> Color {
if cell.is_alive {
Color::WHITE
} else {
Color::BLACK
}
}
}
然后您可以使用它来创建一个 Automaton
并将其传递给 RaylibFrontend
(或使用 FrontendBuilder
)。
lib.rs
:
lifers 的 Raylib 前端。
提供 RaylibFrontend
实现来完成所有的显示和渲染工作。建议使用 FrontendBuilder
以便于使用。
注意:请参阅对应模块以了解不同类型的自动机。
前端可以在事件循环中使用,类似于典型的 Raylib 应用程序
# use lifers::prelude::*;
# use lifers_raylib::generic::FrontendBuilder;
let game = /* Automaton */
# todo!();
let mut frontend = FrontendBuilder::new((480, 480))
.finish(game);
while !frontend.window_should_close() {
frontend.display_grid();
frontend.tick();
}
依赖关系
~7–15MB
~194K SLoC