1

我正在玩一个基于 2d 瓷砖的游戏,您需要在其中处理您正在建造的行星基地中的气压,并想看看我是否可以制作一个简单的系统来在封闭的真空中分散气体。对于游戏循环的每个滴答声,气体都会向外蠕动并填充各个方向的空单元格。如果您的结构中有一个洞,气体应该会泄漏出来(理想情况下是高速)。

我做了一个粗略的尝试,遵循以下逻辑:

  • 考虑一个单元格 (C)
  • 查看它以北的单元格(N)
  • 如果 N 的气体比 C 多,计算差值 (dN)。
  • 从 N 中去除 1/4 dN,在 C 中添加 1/4 dN
  • 对 C 的南部、西部和东部的单元格重复此操作。

现在这种工作,但不是很顺利。由于大量气体被困在气体含量相似的细胞中,系统很快就停滞不前,而在云的边缘,每个滴答声几乎没有进展。如果封闭结构中有一个洞,气体逸出会非常缓慢,必须等待单个细胞的差异开始吸收内容物。

现在我希望我的解决方案需要相当复杂,也许考虑细胞簇并将它们与其他簇进行比较,但我不知道如何去做。谁能指出我更好的解决方案的方向?

这是我希望它如何工作的插图。当我完成它时,我意识到它可能有点缺陷。 http://imgur.com/a/pQ841

4

0 回答 0