广告位

您现在的位置是:浙江福利彩票 > java >

用java写一个贪食蛇的简单AI

2019-12-26 13:33java 人已围观

简介除了JS还用了什么?你帖子里说的还用了大数据?怎么实现的能不能具体的说说 ?光看你一顿展示了,没有写一点技术方面的东西? 人做这样的事情还是很有难度的。 今天我们考虑用java写一个贪食蛇的简单AI,来实现上面图片中的吃满屏幕的情况。 如果一开始就想一...

  除了JS还用了什么?你帖子里说的还用了大数据?怎么实现的能不能具体的说说 ?光看你一顿展示了,没有写一点技术方面的东西?

  人做这样的事情还是很有难度的。 今天我们考虑用java写一个贪食蛇的简单AI,来实现上面图片中的吃满屏幕的情况。

  如果一开始就想一次写好AI,会不知道从哪里开始写,所以我们先从简单的开始,然后慢慢改进。

  当然,只停下来想想是没有用的,实践出真知。现在蛇必须会一项技能,叫分身术,这个分身术有点厉害,这个分身可以进入另一个平行世间,分身在平行世界里面无论做了什么都不会影响蛇自己的世间。但是分身在平行世界了中了陷阱,它就回到现实世界并告诉蛇,前面的路不安全。

  蛇看到食物就直奔食物去了,也没想想如果吃了食物是不是还有活路。蛇总要为自己的下一步行动做考虑,这样才能活的久一点。

  用爆力破解法可以遇到蛇吃满屏幕的情况。如果想写每次都能吃满屏幕,还是有很多细节需要考虑。个人能力有限,很多细节考虑不到。欢迎大家吐槽和建议

  看到美食,让分身探路,没有危险,朝美食走最短距离,有危险。走蛇头到蛇尾的最远距离(为什么是最远距离。最远距离蛇身会紧紧挨在一起,可以空出空地来),直到蛇可以安全的吃食物;

  贪食蛇网上代码也很多,大家也写了无数遍了,在这里就不详细描述,主要说下AI的思路。

  仔细看第一幅图,我们可以发现,那条蛇迷人的步伐都只是为了追着自己的尾巴。。*蛇头每走一步,蛇尾就空出一步,所以蛇头到蛇尾有路径就算安全*,那危险就是蛇头找不到蛇尾。

  我们现在先让蛇学聪明点,让蛇每走一步就停下来,想想人生,欣赏下风景,看看前面通往美食的路上是否充满陷阱。

  楼主想图片上的运算符 java里面没有啊 是c和c++的是我导入错误吗? 你是怎么处理的 请告知一下谢谢

  (这里 我们还可以 进一步思考,让分身再分身一个分身到另一个平行世界...可以用递归来做,好复杂,本人能力有限,尝试了一下就放弃了...)

  当然还有看不到美食的情况,美食随机出现在蛇身围起来的封闭空间里了。这个时候 蛇走蛇尾的最远距离,直到蛇头和美食间有最短距离。

  现在我们的蛇吃食物的策略就是,看到食物,让分身到平行世界里走一步看有没有危险,如果有危险,就告诉蛇前面的路不能走。如果没有危险,蛇就朝食物走一步。

  我们先用BFS算法搜到蛇头到食物间的最短距离,然后让蛇按这个最短路径去吃食物。

Tags:

上一篇:没有了

下一篇:没有了

广告位
    广告位

本栏推荐

    广告位

标签云

站点信息

  • 文章统计7篇文章
  • 标签管理标签云
  • 微信公众号:扫描二维码,关注我们