首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android跳跃游戏:人工智能根据规则生成级别

Android跳跃游戏:人工智能根据规则生成级别
EN

Stack Overflow用户
提问于 2013-12-12 22:21:26
回答 1查看 418关注 0票数 1

我在做一个机器人游戏就像涂鸦跳跃。到目前为止,我随机创建每个级别,使用我想要的不同类型的平台的百分比:

f.e.

  • 一级: 100%稳定平台
  • 第2级: 80 %稳定平台,20%破坏平台
  • X级: 40 %稳定,10%稳定但跳跃后溶解,10%稳定但移动,20%断裂,10%爆炸,10%垂直移动等。

现在,我创建每种类型的正确数量,对它们进行洗牌,然后循环遍历列表以捕捉任何不一致之处。就像有两个互相冲撞的平台,我不能从一个跳到另一个。我还将对象放置在平台上以跳高。如果有一个对象,下面的平台应该更远一些。

这一切都是可行的,但它只是简单地合并在一起,变得更加复杂,我想添加更多的东西。

有没有办法用A.I.解决这个问题?一些我可以有一套规则,它会产生一个随机的平台/对象组合,尊重这些规则?有人能把我引向正确的方向吗?

编辑

有一种情况,我认为状态机解决方案不起作用,当我创建一个稳定的,破裂的,稳定的,我不能从1到达3平台的时候,我就不得不在第一个平台上增加一个弹簧,但是在创建第一个平台时,我对下一个状态没有任何了解。有什么想法吗?

假设我处于一种状态,有三种不同的转换选项:在我的情况下,转换是什么?我是否必须随机选择下一个州,并检查这是否是一个选项(根据我的百分比)?

@Carlos:你说过:“对象的集合,可以分类,这样规则就可以面向类别”。您这是什么意思?

EN

回答 1

Stack Overflow用户

发布于 2013-12-12 22:38:39

我认为你正在取得很好的进步,这是合乎逻辑的,它变得更加复杂,因为你增加了“魔术”到你的游戏。根据我的经验,游戏中更难的部分是为对象、敌人和英雄设计规则。

为此,状态机图(如Mealy或Moore)应该允许满足您的需要。如果您的模型变得更加复杂,或者您正在转向类似事件的编程模型,您可以尝试基于系统的马尔可夫链。

一旦你掌握了这一点,你就开始构建游戏的主循环,它应该是这样的:

  • 初始化

循环:

  • 更新英雄位置
  • 更新敌人位置
  • 更新对象位置
  • 检查碰撞英雄-敌人
  • 检查碰撞英雄对象
  • 检查碰撞敌人-对象(如果需要的话)
  • 检查级别条件(例如win级)

循环直到条件中断

在此之后,您可以添加一些多线程,但我建议您首先在功能上取得进展,然后提高性能。

继续说下去。致以问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20555482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档