1.首先我们可以先分析贪吃蛇游戏进行过程中会遇到一些怎么的情况:
蛇头能直接无障碍地找到食物
蛇头不能直接无障碍地找到食物,但能无障碍地找到蛇尾
蛇头不能找到蛇尾也不能找到食物
2.发现问题就要解决问题
情况1:
有没有发现,无论多直接地可以吃到食物,蛇都会“贴着自己的身体去吃食物”,这或许是实现“满屏智能蛇”的关键一步,使智能蛇走最优路径。
情况2:
蛇头只要跟着自己的尾巴走就永远不可能死!于是我们就可以预想一下:在这种情况下我们可以去追随自己的尾巴,然后最终都会回到第一种情况,接着就是重复情况一。
情况3:
这种时候必须经过情况2才可能回到情况1,那么要过多久才能回到情况2呢?我们又不能无限地跟着自己的尾巴走,只能保持情况3走下去直到遇到了情况2。
但是我们怎样才能保证可以回到情况2呢?
所以我们换一种思路:走到最远边界处,然后开始S形地拐回来,这样可以做到给达到情况2留下最多的“等待时间”!
解决了以上问题,那么智能蛇就可以搞定了。