Runaway Robot游戏通关算法实现过程总结

简介: 写好Runaway Robot游戏的通关算法的java实现已经有段时间了。现在写下这个过程出现的问题,并写下经验。给自己反思之用,也给自己的空间增加些人气。 开始算法设计的时候由于看是玩游戏的前很多关时已近有了粗糙的思路,但在实际情况中还是遇到了一些问题。例如,安全区(绿色部分)是否放入全局的布局矩阵中来;还有就是邻居感染,是否要对于计算矩阵(就是对于全局布局矩阵信息的缩小到一个小的矩阵

写好Runaway Robot游戏的通关算法的java实现已经有段时间了。现在写下这个过程出现的问题,并写下经验。给自己反思之用,也给自己的空间增加些人气。

开始算法设计的时候由于看是玩游戏的前很多关时已近有了粗糙的思路,但在实际情况中还是遇到了一些问题。例如,安全区(绿色部分)是否放入全局的布局矩阵中来;还有就是邻居感染,是否要对于计算矩阵(就是对于全局布局矩阵信息的缩小到一个小的矩阵中来的矩阵)的点要多次遍历 ... ... 还有很多,由于时间关系,加上没有留下来的算法设计过程的随手笔记。这是不好的习惯!!谨记!!!

在根据算法进行java实现,由于自己的编程水平,出现了更多的错误。哎!当时没有写笔记真是一个悲剧性的事情,现在靠代码来回忆,很多细节都不能来记忆起来了。悲催。但,还是记起来了一些编写代码的经验,现在就写下来吧。第一,基于算法就对于每一步定一个私有函数。这样不仅方便code理解,还可以方便编程和bug查找。第二,对于for循环的边界,异常小心。在编code过程中,出现了很多由于边界出现的空指针异常,还有就是结果没有等。第三,不要copy code。但想复用code时,那就进行code重构吧。不要用copy,不然你bug寻找的时间会远远大于coding或代码重构的时间。谨记!!

好了,就写这些吧。由于没有当时的记录,只能这些了。要是以后回顾,要是有新的感触,会随时修改。

总结:

1 时刻记录。不论是算法设计还是编程过程,都要来记录,以方便来总结。首要,谨记!!

2 算法设计也要考虑细节性问题。要是算法设计也和思考一样,那么就会在编程阶段就会造成很会的影响。

3 编程时注意for循环的边界问题。for循环的边界会找出结果的错误或异常。但,还是时刻出现这种问题。应该引以为界!

4 不要copy code。想用就提炼出来,重构一个新的私用函数,这样可以复用。copy code会造成代码凌乱,还会由于未改关键的变量找出运行结果的不可测性且造成bug寻找的死角(不会想到这是由于copy code 造成)。

相关文章
|
25天前
|
算法 数据挖掘 开发者
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
LeetCode题目55:跳跃游戏【python5种算法贪心/回溯/动态规划/优化贪心/索引哈希映射 详解】
|
29天前
|
算法 JavaScript 前端开发
【经典算法】LCR187:破冰游戏(约瑟夫问题,Java/C/Python3/JavaScript实现含注释说明,Easy)
【经典算法】LCR187:破冰游戏(约瑟夫问题,Java/C/Python3/JavaScript实现含注释说明,Easy)
22 1
|
21天前
|
算法
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏
【经典LeetCode算法题目专栏分类】【第9期】深度优先搜索DFS与并查集:括号生成、岛屿问题、扫雷游戏
|
21天前
|
算法 机器人
【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
|
25天前
|
SQL 算法 数据可视化
python 贪心算法 动态规划实现 跳跃游戏ll【力扣题45】
python 贪心算法 动态规划实现 跳跃游戏ll【力扣题45】
|
2月前
|
算法 定位技术 C语言
推箱子游戏(算法设计)
推箱子游戏(算法设计)
|
2月前
|
存储 算法 PHP
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
21 1
开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里?
|
2月前
|
算法 JavaScript 前端开发
游戏物理系统 - 如何在JavaScript中实现基本的碰撞检测算法?
在JavaScript中实现2D矩形碰撞检测,常用AABB方法,适合简单游戏。创建Rectangle类,包含位置和尺寸属性,并定义`collidesWith`方法检查两矩形是否相交。通过比较边界位置判断碰撞,当四条边界条件均满足时,认定发生碰撞。基础算法适用于初级需求,复杂场景可采用更高级的碰撞检测库。
30 1
|
2月前
|
机器学习/深度学习 算法 测试技术
【动态规划】【C++算法】1563 石子游戏 V
【动态规划】【C++算法】1563 石子游戏 V
|
2月前
|
算法 测试技术 vr&ar
【动态规划】【C++算法】1340. 跳跃游戏 V
【动态规划】【C++算法】1340. 跳跃游戏 V