忙碌的一周又过去了,代码谁都会写,重要的是思维,同一个功能每个人都有每个人的实现方法,所以要先去想自己怎么去实现这个功能,在摸不到头绪的时候去参考别人的代码,然后回来再想自己的代码怎么实现。
游戏开发的重点就是把一个游戏拆开,怎么去实现它。
贪吃蛇的玩法:按键控制它得移动,吃到食物之后,食物消失,它会在身体的末端增加一个身体,当撞到墙或者自己身体的时候,游戏结束
相对,要实现的功能也就显而易见了
先分析游戏里用到的对象
1.蛇头
2.蛇身子
3.食物
4.地面
5.墙
再分析游戏的功能怎么实现
1键盘控制它得移动--------可以使用InPut.GetKey来实现它的移动
2.吃到食物后,食物消失,也就是食物跟蛇头相接触后,食物消失---------可以采用碰撞检测或触发检测来实现,很明显,我们不需要食物跟蛇头产生“碰撞”效果,所以采用触发检测来实现
3.蛇在吃到食物之后,它得身体会增长1-------可以把身体做成预设体,在蛇头跟食物相接触的时候,实例化一个身子
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">4.</span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">当撞到墙或者自己身体的时候,游戏结束----同样可以采用触发检测的方法来实现</span>
游戏的实现方法大体都分析明白了,但是有一个问题,蛇头移动,身体跟着它动,这要怎么实现,也就是一个跟着一个移动的实现方法
这也算是游戏的核心算法了吧,跟数据结构里的链表是不是很像,头把它的位置传给第一个身子,第一个身子把它得位置传给第二个身子