贪吃蛇的进阶——智能蛇

时间:2022-01-20 04:03:19
    说到贪吃蛇大家都或多或少的有一些游戏体验, 无论你是贪吃蛇菜鸡还是大神都会被这个一时间火爆网络的智能蛇折服。 看着铺满屏幕的贪吃蛇强迫症患者是不是感觉超级爽呢嘿嘿~

贪吃蛇的进阶——智能蛇

    首先将贪吃蛇赋予智能, 最困难的地方在于不要只为了眼前的利益——直接快速的吃到食物而葬送自己的生命, 所以简简单单的让蛇头向着食物的方向走这样的贪吃蛇是活不了多长的。

首先介绍一种脑残算法:就是让蛇头紧挨着蛇身一列一列的扫屏。 这样蛇头早晚会走过放置食物的随机位置, 吃到食物。 不会误打误撞而白白丧命。 但是这种算法耗时长效率低, 而且对于出现一段时间后消失的食物有可能出现总也吃不到食物的情况(想象食物跟着蛇尾走)。

接着介绍一下观察上图的智能贪吃蛇的一些算法剖析和心得。

首先, 蛇头总是挨着蛇身走, 这样不仅使整个画面清晰, 而且为贪吃蛇节约可以行走的空间, 减少被自己的身子围起来而无法行走的空间。
其次,当蛇往当前移动方向的相反方向去吃食物时会在图像的边缘预留一行或一列给自己逃生,防止因逃出画面或者将自己困在两侧的身子中而牺牲。
然后,尽量为大块的空间流出至少两行或两列的进出口, 使得贪吃蛇可以进入其中吃东西或者放自己多余的身子。
当贪吃蛇为了吃到食物而没有贴着身子走的时候, 吃到食物后立即贴着身子走或者掉头。


最后, 像余阳老师说的那样贪吃蛇游戏有很多不同的版本, 也有不同的难易设计, 希望能在丰富知识的同时多多实践, 发现更多可以优化的点进而使优化改良贪吃蛇贯穿着大学四年。
希望有所帮助, 感谢阅读~