2011-01-19 56 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文件集。