2、Rust编程入门:从生命游戏开始

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值