Raptor编程:生命游戏中融入能量守恒

版权申诉
0 下载量 135 浏览量 更新于2024-07-02 收藏 552KB PDF 举报
本文主要介绍了利用Raptor可视化编程实现的一个结合了能量守恒定律的生命游戏。作者受到一篇关于能量解释生命起源的小论文启发,将其应用到经典的生命游戏中,通过Raptor编程语言进行创新。以下是文章的关键知识点: 1. **灵感来源**: 作者从百度百科上的一篇论文中获取灵感,该论文通过能量模型阐述生命起源,激发了设计者将能量守恒规则融入生命游戏的创意。 2. **规划方案**: - **算法基础**:生命游戏的Raptor程序作为基础,作者对其进行了研究和改进,特别关注了如何处理能量守恒和单元能量值检测的复杂性。 - **数据结构**:使用二维数组来存储和管理单元的能量,采用循环嵌套确保能量的分配和传递。 - **用户界面**:设计简洁直观的界面,便于初学者快速上手。 - **能量机制**:每个单元开始时有一定能量,通过平均分配给相邻八个单元,模拟能量传递,仅当能量超过阈值才显示单元。 - **显示与更新**:能量不断流动导致单元的生成和消失,形成生命的变化过程。 3. **实施过程中的问题与解决**: - **用户交互**:初期遇到鼠标坐标获取和算法同步问题,通过`Wait_For_Mouse_Button(Left_Button)`函数解决了这一问题。 - **能量守恒问题**:引入能量守恒定律导致程序需要两次循环,一次分配能量,一次判断显示。为了避免图像偏移,作者采用双数组策略,先分配后合并,解决了图形移动的问题。 - **能量阈值**:为了所有单元都能显示,根据预设的3600个单元和阈值30,作者计算了确保所有单元显示所需的总能量。 通过这篇文章,我们可以了解到Raptor可视化编程在实现生命游戏时如何结合能量守恒原理,以及开发者在实现过程中遇到的问题和解决方案。这种结合现实世界的物理概念进行编程的教学方法,有助于提升学生的编程实践能力和理解深度。
2023-06-03 上传

### Error updating database. Cause: studio.raptor.sqlparser.parser.ParserException: syntax error, error in :'LE_ID`, `SYS_ROLE_NAME`, `SYS_ROLE_',expect RPAREN, actual IDENTIFIER ` ### The error may involve com.asiainfo.crm.sm.dao.systemroles.ISystemRolesDao.createSysRoles-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO system_roles (`SYS_ROLE_ID`, `SYS_ROLE_NAME`, `SYS_ROLE_CODE`, `SYS_ROLE_TYPE`, `SYS_ROLE_DESC`, `INIT_FLAG`, `REGION_ID`, `STATUS_CD`, `STATUS_DATE`, `CREATE_DATE`, `CREATE_STAFF`, `UPDATE_DATE`, `UPDATE_STAFF`, `SYSTEM_INFO_ID`, `MODIFY_REASON`) VALUES (1, '超级管理员', 'SUPER_MANAGER', '1000', '超级管理员1', 1, 100008320100, '1000', '2017-04-05 00:00:00', '2017-04-05 00:00:00', 10000, '2017-04-05 00:00:00', 936022530922, 1, NULL); ### Cause: studio.raptor.sqlparser.parser.ParserException: syntax error, error in :'LE_ID`, `SYS_ROLE_NAME`, `SYS_ROLE_',expect RPAREN, actual IDENTIFIER `,nbr:6a06d3b4-a741-4335-9535-ce450432cab7 com.asiainfo.angel.exception.UncategorizedPersistenceException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error updating database. Cause: studio.raptor.sqlparser.parser.ParserException: syntax error, error in :'LE_ID`, `SYS_ROLE_NAME`, `SYS_ROLE_',expect RPAREN, actual IDENTIFIER ` ### The error may involve com.asiainfo.crm.sm.dao.systemroles.ISystemRolesDao.createSysRoles-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO system_roles (`SYS_ROLE_ID`, `SYS_ROLE_NAME`, `SYS_ROLE_CODE`, `SYS_ROLE_TYPE`, `SYS_ROLE_DESC`, `INIT_FLAG`, `REGION_ID`, `STATUS_CD`, `STATUS_DATE`, `CREATE_DATE`, `CREATE_STAFF`, `UPDATE_DATE`, `UPDATE_STAFF`, `SYSTEM_INFO_ID`, `MODIFY_REASON`) VALUES (1, '超级管理员', 'SUPER_MANAGER', '1000', '超级管理员1', 1, 100008320100, '1000', '2017-04-05 00:00:00', '2017-04-05 00:00:00', 10000, '2017-04-05 00:00:00', 936022530922, 1, NULL);

2023-06-03 上传