我正在用java制作Roguelike游戏,我希望每个生物都有身体部位(如矮人要塞)。我只是想知道实现这一点的最佳方法是什么。
问问题
465 次
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 回答