【问题标题】:grid based world for ant simulation基于网格的蚂蚁模拟世界
【发布时间】:2015-12-29 13:17:30
【问题描述】:

我必须为一门课程创建一个蚂蚁模拟。

我必须使用“二维离散(基于网格)世界”来放置蚂蚁。问题是我不知道那是怎么回事。

我只需要有人解释并告诉我那是什么。提前非常感谢!

【问题讨论】:

  • 你真的需要展示你自己的一些作品,因为我们不能只为你做这件事,但我建议你根据最终的复杂性来研究二维数组。跨度>
  • 我会把我的工作放在这里,但我所追求的基于网格的世界没有任何意义。但感谢您为我指明正确的方向。
  • 嗯,没问题,就像我说的,这取决于最终的复杂程度。如果它只是一个简单的模拟,一个具有各种表示“世界对象”的 int 值的 2D 数组会很好,如果不是,那么可能值得看看 XNA 和关于 2D 瓦片引擎的各种教程。
  • 是的,它应该是非常基本的,就像蚂蚁应该四处走动并寻找食物和巢穴。如果你愿意,我可以把我目前拥有的东西发给你。

标签: c# simulation


【解决方案1】:

是的,它应该是非常基本的,就像蚂蚁应该四处走动并寻找食物和巢穴。 -D戈布尔

决定在评论中发布对上述内容的回复,就像我说的那样,如果不发布自己的代码,您将无法获得所需的确切代码,但您需要做的(和研究)是。

  1. 模拟您的世界。 (有更好的方法可以做到这一点,但对于一个简单的世界,请查看具有表示图块的 int 值的二维数组,例如 0 = 空、1 = 蚂蚁、2 = 食物、3 = 巢穴、4 = 障碍物)
  2. 将您的对象存储在某种具有属性的结构中。 (例如,您会想要一个具有各种动作的 Ant 对象,例如移动、吃东西等。但如果这是您的第一个 C# 项目之一,请随意忽略它,直到您稍微舒服一点)
  3. 游戏进度条,用于推进游戏、查看游戏状态管理或游戏循环。 (同样,这取决于经验,如果您想要一些简单的东西,基本循环就可以了)。
  4. 蚂蚁的基本 AI,它们会随机移动(除非它们试图撞到障碍物)还是会寻找最近的食物来源然后返回它们的巢穴? (如果是这样的话,那里有很多寻路示例)
  5. 绘制您的游戏,为此只需使用控制台即可,无需任何花哨的东西。有大量的 C# 控制台游戏示例将向您展示如何做到这一点。

如果您对这些术语中的每一个进行一些谷歌搜索,应该可以帮助您了解大部分情况。

【讨论】:

  • private Bitmap worldImage; public ASForm() { InitializeComponent(); randObjectForFood = new Random(); randObjectForNest = new Random(); randObjectForAnt = new Random(); int worldWidth; int worldHeight; worldWidth = 800; worldHeight = 800; worldImage = new Bitmap(worldWidth, worldHeight); 这是我为创建“世界”所做的工作,但它不是基于网格的世界。
  • 由于随机生成世界的代码只是一个嵌套循环并且相当基本,我已将其链接here 这将生成一个 10x10 的网格。在上面列出每个步骤之后,您的下一步可能是创建一个 Ant 对象here.
猜你喜欢
  • 2019-04-06
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 2021-12-12
  • 2015-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多