2013-02-24 66 views
0

我正在用java製作Roguelike遊戲,並且我希望每個生物都有身體部位(如矮人要塞)。我只是想知道實現它的最好方法是什麼。我如何在Java roguelike遊戲中實現身體部位

+0

http://en.wikipedia.org/wiki/Scene_graph – 2013-02-24 07:09:28

+0

有一個stackexchange遊戲開發相關的問題:http://gamedev.stackexchange.com – Spoike 2013-02-24 07:21:32

+1

胭脂是所有關於流浪..但真的,沒有合適的問題檢測到。 – 2013-02-24 07:23:04

回答

0

與Java中的大多數事情一樣,您可以開始在對象中對其進行建模。從你的要求(生物身體部分)所有適當的名詞,並找出它們之間的關係(一生物有幾個正文部分)。

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

public class BodyPart { 
    public int health; 
} 

至於如何在你的類似胭脂的遊戲中使用它取決於你想如何寫你的實際遊戲。


編輯:

這裏有一個要點,以幫助您開始:https://gist.github.com/spoike/5023039

+0

我怎麼能把15-20的身體部位加到生物上? 非常感謝您的回答 – user2103959 2013-02-24 07:15:00

+0

@ user2103959取決於您希望如何訪問這些正文部分。我可能會使用一個HashMap來允許你訪問bodypart。我更新了這個問題,希望你能夠解決這個問題。 – Spoike 2013-02-24 07:44:38

+0

謝謝,我想我會嘗試一個hashmap。 – user2103959 2013-02-24 09:30:32

0

首先,我建議採用prototype-based object model。這通常比固定的OOP風格的繼承層次更靈活。例如,在我的遊戲對象Tyrant中,所有遊戲對象都具有屬性的HashMap。

然後,我將定義原型中每個生物的身體部位列表。這樣,您就可以針對不同的動物定義不同的主體部分配置(例如有些人可能有翅膀....)

最後,我想用組成實現身體部位,即生物都有一個列表(ArrayList吧? )與原型中定義的身體部位列表相對應的身體部位。這些身體部位本身應該是有效的遊戲對象(即它們有自己的原型,它們可以與生物分離並散佈在地圖上等)。當一個生物第一次被創造時,你創造必要的身體部位作爲生物初始化的一部分。