地形gen python约束

时间:2014-02-28 11:57:05

标签: python game-engine

在我的空闲时间我正在制作一个基于文本的/ ascii(现在)类似流氓的游戏作为一项研究(相关的因为问题的背景) 目前,我正在尝试生成将在世界上使用的地形/房间。 世界应该是“无止境的”。

生成随机地形不是大问题。 我正在努力寻找一种方法来维持添加约束,如: “平原不能靠近山”

我可以建立一个重要的决策树,但是,这意味着if currentTile == plain:如果不是在山旁边,如果是currentTile ==山:如果不是文本到平原。

这是不可维护的,因为每个规则都必须在2个地方实施。

我想知道这类问题的标准解决方案是什么?

问候

1 个答案:

答案 0 :(得分:1)

我不完全确定我会关注您的示例摘录,但您可以拥有2个元素集的列表,每个元素集包含不允许的组合。然后你可以查找

disallowed = [set(plain, mountains)]
if set(currentTile, newTile) not in disallowed:
    #rest of code