2011-01-19 58 views
1

IM工作爲我的朋友一個RPG系統,我想知道如何使技能系統,我應該使用ArrayList技能作爲一種類型,寫每一個技能下去,到XML或一類?RPG技能系統

Skill s = new Skill(); 
ArrayList<Skill> skills = new ArrayList<Skill>(); 
s.name = "Dodge"; 
s.description = "Dodge a attack."; 
s.requirements = "Dex +30"; 
skills.put(s); 

或者類似的東西...

Dodge dodge = new Dodge(); 
Skill s = new Skill(); 
ArrayList<Skill> skills = new ArrayLst<Skill>(); 
s.name = dodge.getName(); 
s.description = dodge.getDescription(); 
s.requirements = dodge.getRequirements(); 
skills.put(s); 
+0

刪除了`rpg`標籤,因爲它指的是RPG編程語言不是縮寫角色扮演遊戲。 – 2011-01-19 17:50:32

+0

未來,我應該使用什麼標籤?我會使用RP遊戲還是其他的? – Gurnarok 2011-01-19 17:57:26

回答

3

技能在角色扮演遊戲通常被用作「數據」,以確定某種遊戲中的行動的有效性。因此,技能是數據驅動設計的簡單候選人。

而不是硬編碼它,使用某種方法從一組數據中填充技能,並讓遊戲機制在讀取這些技能值後查找這些技能值。XML是一個很好的選擇。這是一個有點冗長,但很多編輯/ IDE中認出它和Java具有解析器支持它內置的。

+0

我應該使用相同的方法進行角色類別和比賽嗎?或者我應該對它們進行硬編碼? – Gurnarok 2011-01-19 17:36:17

1

嗯,我寧願做,而不是一類XML。
主要是因爲每次調整技能值時都不必重新編譯遊戲。

根據如何推進你想要的話,看看RunUO。它是用於模擬Ultima Online服務器的開源MMORPG項目。

2

我會用從永恆之塔雷擊項目XML閱讀器。它很容易使用和範圍更大的XML文件集。