Rust编程入门:从生命游戏开始
1. 生命游戏基础
1.1 生命游戏规则
1970年,英国数学家约翰·霍顿·康威设计了一个基于细胞自动机的游戏。同年10月,马丁·加德纳在《科学美国人》的月度专栏“数学游戏”中介绍了这个游戏。游戏规则简单,可在纸上进行,但编写程序实现它更有趣。
游戏在一个二维空间中进行,可想象成方格纸,每个小方格代表一个细胞,细胞可能存活或死亡。游戏是进化式的,每一代根据以下规则决定细胞的生死:
- 如果一个存活的细胞周围邻居少于2个,它会因缺乏支持而死亡。
- 如果一个存活的细胞周围有2或3个邻居,它将存活到下一代。
- 如果一个存活的细胞周围邻居多于3个,它会因资源不足而死亡。
- 如果一个死亡的细胞周围恰好有3个邻居,它将复活。
1.2 实现生命游戏的步骤
要将这个游戏转化为代码,需要完成以下几件事:
1. 创建一个游戏网格,所有细胞将存在于这个网格中。
2. 用一些存活的细胞填充游戏网格,空的游戏板不会有任何变化。
3. 使用上述规则运行各代游戏。
1.3 生命游戏的代码实现
以下是创建游戏板并检查细胞生死的完整程序:
extern crate rand;
use std::{thread, time};
fn census(_world: [[u8; 75]; 75]) -> u16
{
let mut count = 0;
for i in 0..74 {
for j in
超级会员免费看
订阅专栏 解锁全文
101

被折叠的 条评论
为什么被折叠?



