简单元胞自动机生命游戏模拟器
项目介绍
本项目是一个基于MATLAB实现的康威生命游戏模拟系统。该程序通过可视化界面展示二维网格中元胞的演化过程,允许用户交互式地设置初始状态、控制演化速度并观察生命游戏规则的动态效果。系统采用矩阵运算高效处理邻居状态计算,结合图形界面实现实时可视化,适用于教育演示和规则探索。
功能特性
- 实时可视化:动态显示元胞网格,清晰区分存活与死亡状态
- 核心规则实现:完整实现康威生命游戏的演化逻辑(默认规则:存活元胞在2-3个存活邻居时存活,死亡元胞在恰好3个存活邻居时诞生)
- 交互式初始设置:支持鼠标点击直接绘制元胞初始分布
- 多种运行模式:提供自动连续演化和手动单步执行两种控制方式
- 参数自定义:可调节网格尺寸、演化速度及存活/诞生规则阈值
- 数据记录功能:实时显示存活元胞数量和演化代数,支持导出网格状态数据
使用方法
- 启动系统:运行主程序文件,图形界面将自动初始化默认网格
- 设置初始状态:
- 使用鼠标点击网格切换元胞存活状态
- 可通过菜单导入滑翔机、脉冲星等经典预设模式
- 配置参数:
- 在面板中调整网格行数和列数
- 设置演化速度(帧间隔时间)
- 自定义存活规则(存活邻居数范围)和诞生规则(诞生所需邻居数)
- 控制演化:
- 点击"开始"按钮启动自动演化
- 使用"暂停"临时停止,"继续"恢复演化
- "单步"按钮逐代执行演化步骤
- "重置"清空网格返回初始状态
- 数据导出:通过文件菜单将当前元胞状态保存为.mat格式数据文件
系统要求
- 操作系统:Windows/Linux/macOS
- 软件环境:MATLAB R2016b或更高版本
- 硬件配置:至少4GB内存,支持OpenGL的显卡
文件说明
主程序文件整合了图形界面构建、事件回调处理和核心算法实现。具体实现了用户交互界面布局与控件初始化,包含鼠标事件响应逻辑以支持元胞状态的手动设置,封装了基于矩阵卷积的邻居计数算法和元胞状态更新规则,同时集成了自动演化定时控制与单步执行功能,并提供数据统计显示和文件导出能力。