用户:
Chengxuyee_已退查看:4 回复:5 评论:4 创建时间:2020-08-03T12:49:10
大家好我是编程中手。
(还是那个已经腻了的台词,却想不起来其他的了)。今天我要教大家怎样制作模板贪吃猴中的简易AI。
好,接下来开始我们的
A I 三 部 曲
第一步:准备工作
首先,我们进入kitten。
点击“新建”。
选择模板“贪吃猴”。
这样子,我们就进入贪吃猴模板中啦!
第二步:分析已有积木。
虽说你可能已经迫不及待想做AI了,但是我们还需要分析一下模板里已有积木可以实现什么功能。这里我将会把所有角色积木的注释以图片展示。








第三步:制作AI
接下来就要正式开始制作AI啦!
首先,我们需要复制一个闪电猴角色。选中“闪电猴”并右键,点击复制。
更改“闪电猴(1)”的名字,改成“AI猴”
接下来,需要更改一下数据了。把变量“得分”改成“闪电猴得分”,并且新建变量“AI猴得分”。
随后,删除积木,只保留这些:
(别忘了把“当作为克隆体启动时”中的“闪电猴得分”改成“AI猴得分”哦
)
接下来我们就需要自己写代码啦~
首先为了分辨闪电猴与AI猴,我们需要把AI猴的颜色换一换。
在外观模块中找到“将 颜色 特效设置为 10”积木。
拼接“当开始被点击”积木,并修改数值为“150”。
现在,我们已经能将闪电猴与AI猴分辨开来了。(大家有没有发现,身体也同样变色了呢?)我们运行一下试试。
可是AI猴还不能自动吃电池。所以现在我们要给他加上这个功能。上图。

这个积木可以让AI猴根据自身xy坐标与电池xy坐标的情况进行转向。我们运行试试。
这里产生了一个bug。AI猴在与电池的y坐标相等后,却没有进行上下移动,一直在左右转。(AI猴:好晕
)这是怎么回事?
难道转弯积木除了差错?问题就出再这块积木上
这里是“移动3步”,而不是“移动1步”。也就是说,AI猴必须初始 x坐标0 - 电池x坐标 是3的倍数 才可以上下转弯,否则就会一直“兜圈子”。这里需要更改一下移动积木。
有点看不清哈,可以按ctrl+鼠标滚轮 放大缩小。
这样,我们的AI就做完啦!
拓 展
一.胜负判定
现在,我们要做一个胜负判定。如果闪电猴的分数先等于30,那么就闪电猴赢。如果AI猴的分数先等于30,那么就AI猴赢。添加角色“胜利”‘失败’
删除声音“糟糕了”,添加声音“成功”,“失败”(最短的那两个)
在成功失败角色中编程。



这样子,作品就能判断胜负了。
二.降低难度。
不知大家有没有觉得AI猴太厉害了。这里就把他的技巧降低一点,让它每5秒出错一次。让AI猴每隔一段时间就误转向。但是,经过思考可以想到,直接编写错误转向积木是不行的,因为上面的转弯积木在重复执行。所以我们需要在AI猴错误专项时,设置一个变量来声明在错误转向,提醒正确转弯的积木先停止运行一段时间。


三.循环播放音乐
现在,我们看看背景里有什么积木吧。
大家有没有发现一个问题,这里并没有循环播放音乐。有时候玩到一半就没音乐了。所以这里要让它循环播放。
好啦,本期教程就结束啦。顺带一说,作者把本教程的AI和拓展全都放到一个作品里发布了哦,你们可以去看看。(作品内积木包含注释)链接:https://shequ.codemao.cn/work/55830334。拜拜~