写好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 造成)。

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

  1. 【强化学习】手把手教你实现游戏通关AI(2)——Q-Learning

    系列文章目录 在本系列文章中笔者将手把手带领大家实现基于强化学习的通关类小游戏,笔者将考虑多种方案,让角色顺利通关.本文将讲述如何使用Q-Learning算法实现AI通关. 完整代码已上传至githu ...

  2. noj数据结构稀疏矩阵的加法十字链表_一个算法毁了一款好游戏?算法和数据结构到底有多重要?...

    来源 | 异步 | 文末赠书 前段时间大火的国产游戏--<太吾绘卷>,由于创新的玩法和精良的制作一度广受好评,然而随着玩家游戏的深入和时长的积累,发现该游戏在玩的过程中游戏外的问题很多很多 ...

  3. 游戏与算法的必经之路

    前言 作为一个在IT行业工作十五年的老兵,笔者在这里将自己多年的学习游戏算法经验分享给读者,希望能够帮助那些想学习算法提升自己的读者.算法是IT产品研发的核心,在IT的任何领域都离不开算法,目前比较流 ...

  4. java实现抽奖游戏_Java实现游戏抽奖算法

    常用抽奖算法对比 基础的游戏抽奖算法通常要求实现在指定奖品的集合中,每个奖品根据对对应概率进行抽取.个人了解的主要有以下几中抽奖算法: 随机数一一对应 算法思想 这种算法思想最为简单.将n个奖品编号0 ...

  5. html5 游戏 算法,JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】...

    JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解[圆形情况] 发布时间:2020-10-10 13:42:43 来源:脚本之家 阅读:95 作者:krapnik 本文实例讲述了JS/HTML ...

  6. 【强化学习】手把手教你实现游戏通关AI(1)——游戏界面实现

    系列文章目录 在本系列文章中笔者将手把手带领大家实现基于强化学习的通关类小游戏,笔者将考虑多种方案,让角色顺利通关. 完整代码已上传至github:https://github.com/TommyGo ...

  7. 游戏抽奖网站用java怎么做,Java实现游戏抽奖算法

    常用抽奖算法对比 基础的游戏抽奖算法通常要求实现在指定奖品的集合中,每个奖品根据对对应概率进行抽取.个人了解的主要有以下几中抽奖算法: 随机数一一对应 算法思想 这种算法思想最为简单.将n个奖品编号0 ...

  8. 吴昊品游戏核心算法 Round 5 ——(转载)关于无禁手下先手必胜的证明

    关于五子棋先手必胜的证明,用人工的方式过于复杂,其难度相当于证明四色定理的正确性或者是若儿当定理的正确性.但是,如果采用计算机来解决,则复杂程度 会降低许多.由于很难地毯式地枚举到所有可能的情形,这一 ...

  9. java实现抽奖需求分析_Java开发游戏抽奖算法有哪些?

    Java开发游戏抽奖算法有哪些?抽奖算法根据需求而定,游戏抽奖算法在指定奖品的集合中,每个奖品根据对对应概率进行抽取.Java开发游戏抽奖算法主要有随机数一一对应.离散法Alias算法等. 一.随机数 ...

最新文章

  1. 【转】C#中的线程 入门
  2. spring ioc加载流程
  3. python(1):数据类型/string/list/dict/set等
  4. java result元素_Java JDBC 中获取 ResultSet 的大小
  5. saiku连mysql 使用_saiku应用的调试
  6. 淘宝flexible.js的使用
  7. Struts2.0中ActionInvocation使用
  8. 怎样将数据发送到前端_大数据从哪里来?
  9. 整人c语言代码大全,(C语言整人代码大全.doc
  10. 今天和大家分享几个可以接私活的网站(偏软件)(转载21ic)
  11. 【DS3231 RTC实时时钟模块与Arduino接口构建数字时钟】
  12. 一款 Java 开源的 Spring Boot 即时通讯 IM 聊天系统(源码自取)
  13. Qt Creator使用Valgrind代码分析工具
  14. tortoise使用
  15. Java http响应报文_java中HTTP响应报文是什么意思?详细图解
  16. Meego sailfish
  17. crh寄存器_STM32 学习笔记(寄存器)---2
  18. 《点燃你,温暖我》 李询爱心代码
  19. 圣诞节来了,怎能还没有圣诞树呢 快来为心爱的她送上专属的圣诞礼物叭~
  20. Java 最常见 200+ 面试题全解析:面试必备(2019)

热门文章

  1. html页面打印插件,分享8款网站开发中最好用的打印页面插件
  2. 【软件测试】POST请求包含哪些参数
  3. 波特率dlm_ARM学习随笔(13)UART的理解
  4. 入库出库JAVA技术详情_基于Java_EE的入库出库管理系统
  5. Scratch(三十一):掌握打字技巧
  6. 圆周率一千万亿位_目前圆周率已经达到十万亿位了,为何还要算?有什么用处?...
  7. 如何快速开设海外银行账户
  8. 【知识图谱】知识图谱数据库提供一站式全域行业数据融合
  9. CAPI 初探及使用小结(4)
  10. 事件委托、动画、插件