OK,上一篇博客我们见识了最弱智最初级版的字符型贪吃蛇,然后呢我们要将他升级,变成一个更机智也更贪吃的蛇,顺便也蹭一波AI的热度
变机智的关键就是要实现蛇蛇自己将所有的豆豆清屏,也就是要自己寻找食物
最容易想到的方法是每次都横扫一行或者一列,这样子可以不吃到自己或者撞到墙,但是这样子太慢,也不算智能。
然后想一下再机智一点的算法
先判断是否可以吃到食物
如果不能吃到食物,则让蛇头跟着蛇尾巴走——这样可以尽最大可能不会gg
如果能吃到食物,再判断会不会吃到自己的尾巴
-如果会的话,则解决方法如上,还是让蛇跟着蛇尾巴走,直到吃到食物。
-如果不会吃到自己的尾巴,就直接去吃食物即可,而且可以依靠最短路径过去。
其实,在追着自己尾巴走的时候,常常会遇到走哪个方向去找尾巴,其中最保险的是走离食物最远的方向去吃食物,则可以有足够大的空间去吃食物。
通过这样一种“保障”,智能蛇在不无脑的模式下应该是会比选择最短距离这种算法吃到的食物更多。
而这个就应该算是最高级的算法了吧(图源自网络)
有兴趣的同学可以把这个看完