智能蛇的功能
像人一样能预判下一步情况的结果,向食物逼近又保证自己不会死亡
我们要做的,便是通过算法使之具有 “感知 - 决策 - 行动” 的能力
我是这样想的:
蛇要找食物,短的时候可以将蛇头位置沿直线向食物靠近,之后就考虑向食物逼近时不要到自己身体,不碰壁。但这样实际是件困难的事,向食物逼近路线直的话,吃食物简单,但蛇会很容易死;有个不死的方法就是蛇尽量追着自己尾巴走,就不会吃到身体了。
我的想法就是,保持蛇在追赶身体时,向食物靠近,吃到食物。
要注意的问题大致有下:
1. 蛇的身体以及地图的边界是不可接触的格子,相当于障碍物;
2. 因为贪吃蛇移动是一个动态的过程,所以每走一步,要重新进行寻路;
3. 吃完食物蛇的长度变长,蛇尾巴位置不变,因此食物跟尾巴之间要留有空隙;
4. 如果一直跟着尾巴走,就永远不会没有路;
5. 随机出现的食物位置可能会堵住蛇头部到尾巴的路径,使得头部没有办法找到尾巴,但只要食物与尾巴之间有空隙,吃掉食物是安全的,而且可以重新找到从头部到尾巴的路径。
在初步学习会的,成果大概就是这些,由于代码水平有待提升。只能等我好好学习一段时间,再展示我的产品了。
字符游戏-智能蛇学习
最新推荐文章于 2024-11-11 08:49:27 发布