简单Ai贪食蛇

上述简单的做了个一个可以接受键盘输入的贪食蛇。再加上一些条件判断,以及一些界面上的修饰就能做出效果不错的贪食蛇。

但是正如我之前说过的一样,这样的一个贪食蛇,适合于初学界面的同学来练手,而对于我个人而言,有挑战的在于如何做一个简单的由电脑控制的贪食蛇。可能的话,也想由这个项目为缘起,碰碰买了3年也没看过的算法导论。

好了,废话不多说,直接开始正经的工作。

Ai贪食蛇的表象:

1.能够以最快的路径吃到果食。

2.并且不至于一头撞死在游戏的边界上。

3.最好别自己吃到自己的尾巴。

4.也最好别吃到对手的尾巴。因为在双人贪食蛇中,这意味着gameover。

好了,简单的需求就在上面4条。想要做出来可并不是一件简单的事对我来说。我只好先捡着最容易的先动手,然后看看自己能深入到什么程度。1,2来看应该是比较简单的。3,4难度高了点。那么我先来实现1和2。

 

电脑控制的蛇为了获得准确的判断,它必须知道食物的位置,以及边界的位置。进一步分析,如果蛇朝着任何方向的运动步长是一样的话,那么在一个如果蛇的不能走斜线的矩阵中,对于蛇而言是无所谓最短距离这一说的。所以不用考虑1的影响。这个时候再分析,发现问题简单的过分了,再不考虑3的情况下,蛇只需要看到哪有食物就往哪走即可。走的方式可以固定为走直角的两边。(没有考虑边界的原因是,食物总是在边界内的)。

这个分析清楚了,那再加一点难度,考虑3的存在。该怎么办呢?

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(简单Ai贪食蛇)