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