0

我正在用java制作Roguelike游戏,我希望每个生物都有身体部位(如矮人要塞)。我只是想知道实现这一点的最佳方法是什么。

4

2 回答 2

0

像 Java 中的大多数东西一样,您可以开始在对象中对其进行建模。从您的要求中取出所有适当的名词(生物和身体部位)并找出它们的关系(一个生物有几个身体部位)。

public class Creature {
    private ArrayList<BodyPart> bodyParts;
        // could be array instead
}

public class BodyPart {
    public int health;
}

至于如何在你的 rougelike 游戏中使用它,这取决于你想如何编写你的实际游戏。


编辑:

这是帮助您入门的要点:https ://gist.github.com/spoike/5023039

于 2013-02-24T07:10:25.770 回答
0

首先,我建议采用基于原型的对象模型。这通常比固定的 OOP 风格的继承层次结构更灵活。例如,在我的 roguelike Tyrant中,所有游戏对象都有一个 HashMap 属性。

然后,我将为原型中的每个生物定义身体部位列表。通过这种方式,您可以为不同的生物定义不同的身体部位配置(例如,有些可能有翅膀......)

最后,我将使用组合来实现身体部位,即一个生物有一个身体部位列表(ArrayList也许?),这些身体部位对应于原型中定义的身体部位列表。这些身体部位本身应该是有效的游戏对象(即它们有自己的原型,它们可以与生物分离并散布在地图上等......)。首次创建生物时,您将创建必要的身体部位作为生物初始化的一部分。

于 2013-02-24T08:09:59.043 回答