最近一周的任务为构造贪吃蛇,最好可以让他自己走,这就需要他自己拥有人工智能一样的思维,才能根据时刻自己的位置,选择自己将要走的路。
所以,首先我们需要打出我们的地图。
根据这个map地图,我们可以时刻观测到贪吃蛇的行动,并且通过对这个字符串的改变,从而让贪吃蛇动起来。
当然,我们的贪吃蛇还需要随机出现的事物,并且贪吃蛇吃掉食物之后可以变长,这需要构造字符串来进行这个过程。
这里是主函数,可以看到贪吃蛇前进需要调用的函数,并且一旦吃到了食物,则会在函数中插入一个位置。
而对于类似于人工智能的“智能蛇”则需要看似它自己思考的能力。
这里,就需要分析一下,贪吃蛇的想法了,即既不能咬到自己,又不能碰到周围的围墙,更要走最近的距离吃到食物。
贪吃蛇有这么几种走法,首先,分析到蛇头和食物之间没有障碍,则先走到食物所在的行,之后转弯吃到食物。
如果分析到蛇头距离蛇尾很近,则可以追着蛇尾走,直到贪吃蛇到食物所形成的矩形范围内没有障碍,之后在调用之前的吃法吃到食物。
贪吃蛇还可以贴着自己的身体返回到之前的位置,当贪吃蛇被自己环绕之后,贪吃蛇可以“脱险”。