AI贪吃蛇(二)

本文探讨了AI应用于贪吃蛇游戏的两种策略:路径规划和博弈思想。作者通过改进路径规划算法,确保AI能始终找到尾巴,避免了死循环问题。同时,提出了将贪吃蛇游戏视作博弈的思考,尽管未进行实践,但指出可能需要搜索博弈树来寻找最优解。此外,文章提供了AI贪吃蛇的JavaScript代码和在线演示。
摘要由CSDN通过智能技术生成

前言

之前写过一篇关于贪吃蛇AI的博客,当时虽然取得了一些成果,但是也存在许多问题,所以最近又花了三天时间重新思考了一下。以下是之前博客存在的一些问题:

  • 策略不对,只要存在找不到尾巴的情况就可能失败,所以这次的AI能保证始终找到尾巴。
  • 编程思路不对,当时用C语言编写的,原有的游戏规则和AI部分有耦合,所以甚至出现了吃自己身体的状况,这是完全可以避免的。

以上两个问题是最主要的,其他地方也还是有可取之处的。下面是本次的成果。

思路

首先,我在网上找了一份贪吃蛇游戏的成品,然后在此代码的基础之上修改,添加一个AI,在每次游戏刷新时更新方向,这样,只要返回的方向错误,游戏一定会终止。同时,这种思路也比较符合实际:实际中我们玩贪吃蛇游戏其实就是通过键盘向游戏返回一个方向。现在不过是由AI负责返回方向。

AI算法

角度一:路径规划

这也是我本次采用的策略,如果看过上文提到的博客,就应该比较清楚,但是具体的策略有了变化,伪代码如下:

if (蛇身长度 > N && 策略1可行) {
    执行策略1;
} else if (策略2可行) {
    执行策略2;
} else 
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值