关键构思
(1)蛇每走一步,就应用BFS测算游戏页面中每一个部位(蛇身以外)抵达食物的最短路径算法长;
(2)将蛇的安全性界定为蛇是不是能够跟随蛇尾健身运动 ,即蛇头和蛇尾间是不是存有途径;
(3)蛇每一次行動前先运用虚似的蛇开展探察,若虚似的蛇吃了食物后是安全性的,真蛇才行動;
(4)若蛇和食物中间不会有途径或是吃了食物后并不安全 ,就跟随蛇尾走;
(5)若蛇和食物中间 、蛇和蛇尾中间均不会有途径 ,就随意挑一步行得通的来走;
(6)确保总体目标是食物时蛇走最短路径算法,总体目标是蛇尾时蛇走最多途径。
存在的不足
因为食物是任意出現的,若虚似的蛇跑一遍发觉去吃食物是不安全的 ,真蛇就不容易去吃食物,只是挑选追着蛇尾跑,若一直这般 ,就深陷了无限循环,蛇一直追着蛇尾跑跑跑 。。。
直至你停止手机游戏已经 。 。。
开发环境
Python版本:3.5.4
有关控制模块:
pygame控制模块及其一些Python内置的控制模块。
自然环境构建
安裝Python并加上到系统变量,pip安装必须的有关控制模块就可以 。
运作方法
在cmd窗口运作AI_snake.py
文档就可以。
結果展现
动态图一直提交不成功。 。。
因此 随意截好多个图~
大量
(1)为了更好地确保编码简单易懂 ,所出示的编码信息冗余较高(例如开展了多余的反复测算),有兴趣爱好者可对编码开展提升;
(2)有关文档中也出示了一般版本的贪吃蛇小游戏(Normal_snake.py)。