要做出一个项目,在打代码之前,要做的就是设计项目的实现原理。但是在白天,因为各种各样琐碎的事情影响,可能无法集中精力思考。所以,在晚上睡觉的时候,就可以思考这个项目的实现原理。
在思考过程中,一个又一个的问题会冒出来然后被解决,一个又一个的bug也会随之而来随后被解决。
在一开始的时候,可以思考一些基础功能(如初始化、单独每个组件实现功能)该如何实现;然后可以思考该功能实现过程中可能会出现的问题,该如何处理这个问题(最好立刻解决,暂时想不到可以先做个标记);最后再思考将这些基础功能结合在一起,会有什么冲突、可能会出现什么bug,然后尝试将这些bug解决掉。
下面附上贪吃蛇设计思路的初稿及思考过程分析的图片。
如上图,我先思考了贪吃蛇界面如何初始化的问题,然后思考贪吃蛇(组件)是如何实现起功能(移动)的,然后我就想到可以蛇身不动,蛇头向前延伸(将前方空白化为自身),蛇尾则不停将自己擦除。
但此时问题出现了:蛇头的移动是会变换方向的,所以蛇身会变得弯弯曲曲,蛇尾总不能一直往一个方向擦除自身吧?该如何跟上蛇身的方向呢?我想到了第一个解决方法:无视一切,直接将四周全部擦除不就好了吗,反正空白处擦除也是空白(不变),只有蛇身擦除才会消失(变化