我正在用Java构建一个RPG地牢游戏,并且我一直在创建一个数据结构。什么是一个好的Java数据结构来存储RPG游戏物品?
我有很多事物可以复制到地牢里。例如,有面包Thing物体,剑Thing物体,连锁邮件Thing物体,怪物Thing(s)等。我想将它们存储在中央图书馆,然后能够使用某些查询。我想用下面的字段来存储他们:
int minLevel
int maxLevel
double probability
int[] types
所以生了锈的剑将有1 minLevel
,稀有性(3%),以及[type.SWORD,type.WEAPON,type.ITEM,TYPE.EQUIP]
的3 maxLevel
,一个probability
。更好的剑会有minLevel
2,maxLevel
10,稀有(1%)。
然后我想从库中检索一个随机type.SWORD
并说我在3级。根据他们的概率,我应该比更好的剑更频繁地生锈的剑。如果我从请求10级的图书馆中检索到type.SWORD
,我只能找回更好的剑。
我希望这是有道理的。
编辑 在初始阶段,所有的基本对象都将被创建。像可用的武器,盔甲,食品,药水,魔杖,所有可能的东西,在游戏中都有独特的图形拼图。然后,当我想在某个地方放置一个物体时,我只是制作一件可用物品的副本,稍微调整一下它的统计数据,然后在世界上放下它。实际物品都是根类物品的所有子类,例如类生物,物品,装备(延伸物品),武器(延伸装备),装甲(延长装备),食物(延伸物品)等。但是我想标记他们在库数据库中不同,我想使用额外的标签,如type.RARE,type.ARTIFACT,type.CURSED,所以我想要额外的标签,除了类。
游戏使用LIBGDX可在Android和Applet上使用。我使用免费的Rltile套装,它有成千上万的优质瓷砖。我将使用Pubnub或Google App Engine提供多人游戏支持。
的ArrayList - http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html – Coffee 2012-04-01 01:09:30
将你的世界有一个数据库在创作时出现的固定物品?或者当物体被需要时从空中创建物体? – sarnold 2012-04-01 01:12:42
所以每个东西都有一组嵌套类型?即剑,武器,物品,装备? – 2012-04-01 02:19:04