由 Rust + WebAssembly 驱动的康威生命游戏
🖱️ 单击 / 拖拽 绘制细胞 | 空格键 播放/暂停
康威生命游戏是一种元胞自动机:网格中的每个细胞只有「生」和「死」两种状态,下一代的状态完全由当前周围 8 个邻居决定。规则非常简单,却能演化出滑翔机、振荡器、繁殖器等复杂结构。
rem_euclid 取模实现。init_grid(260, 180, 25):Rust 创建 260×180 共 46,800 个细胞的网格,保存为全局状态。requestAnimationFrame 循环里按速度设置的间隔调用 step(),由 Rust 计算下一代。get_grid() 取回每个细胞的 0/1 状态,把每个细胞画成 3×3 像素,再用 putImageData() 绘制。brush(x, y, 1),直接修改 Rust 中的网格。Vec<u8>,对 CPU 缓存很友好。源码crates/simulation/game-of-life/src/lib.rswww/game-of-life/index.js