我在java中制作Roguelike游戏,我希望每个生物都有身体部位(如矮人要塞)。我只是想知道实现这个的最佳方法是什么。
答案 0 :(得分:0)
与Java中的大多数内容一样,您可以开始在对象中对其进行建模。从你的要求(生物和 bodypart )中取出所有合适的名词并找出他们的关系(生物有几个 bodyparts )。
public class Creature {
private ArrayList<BodyPart> bodyParts;
// could be array instead
}
public class BodyPart {
public int health;
}
至于如何在你的胭脂游戏中使用它取决于你想要如何编写你的实际游戏。
修改:
以下是帮助您入门的要点:https://gist.github.com/spoike/5023039
答案 1 :(得分:0)
首先,我建议采用prototype-based object model。这通常比固定的OOP样式的继承层次更灵活。在我的roguelike Tyrant中,所有游戏对象都有一个属性的HashMap,例如。
然后,我将为原型中的每个生物定义身体部位列表。这样你就可以为不同的生物定义不同的身体部位配置(例如,有些可能有翅膀......)
最后,我会使用组合来实现身体部位,即一个生物有一个列表(也许是ArrayList
?)的身体部位,对应于在原型。这些身体部位本身应该是有效的游戏对象(即它们有自己的原型,它们可以与生物分开并分散在地图上等等)。首次创建生物时,您将创建必要的身体部位作为生物初始化的一部分。