Java案例:Java版生命游戏

这篇博客介绍了Conway的生命游戏,详细阐述了B3/S23的演化规则,并通过Java实现了一个交互式的游戏界面,允许用户设置行数、列数及生命初始布局,支持手动和自动演化生命状态的GIF动画演示。

 

目录

一、生命游戏

1、生命游戏概述

2、生命演化规则:B3/S23

二、生命游戏Java实现

1、创建Java项目 - Java版生命游戏

2、创建net.hw.game包,在包里创建Life类

3、在net.hw.game包里创建游戏界面类 - GameFrame

4、启动应用,查看效果

(1)游戏初始界面

(2)可以设置行数与列数

(3)设置生命初始布局

(4)单击【下一代】按钮

(5)再次单击【下一代】按钮

(6)GIF动画演示 - 手动方式让生命一代一代地演化

(7)GIF动画演示 - 自动方式让生命一代一代地演化

三、尝试其它生命初始布局


一、生命游戏

1、生命游戏概述

在研究元胞自动机理论过程中,Conway发明生命游戏(Game of Life、GoL),在上个世纪七十年代风靡一时。

这是0人游戏,即按照初始的设置,游戏自动演化。在类似围棋的棋盘中,每一个格子可以是空格或者存在一个生命/细胞/Cell;每一个格子有8个相邻的格子(正上方、正下方、右侧、左侧、左上方、右上方、左下方以及右下方),相邻的格子中存活的生命数量称为其邻居(neighbor)数。在世代交替时,所有的格子根据其邻居数,诞生新生命、Cell保持存活或者Cell死亡。

2、生命演化规则:B3/S23

  • 一个生命如果恰好有2个或3个邻居,它会存活到下一个世代;否则,会因为孤独或拥挤而死亡。
  • 一个空格,如果恰好有3个邻居,则诞生一个新生命。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酒城译痴无心剑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值