私はJavaでRPGダンジョンゲームを構築しています。私はデータ構造の作成に専念しています。RPG Gameアイテムを格納するための良いJavaデータ構造は何ですか?
ダンジョンにデータをコピーするためにコピーできるオブジェクトがたくさんあります。例えば、パンのThingオブジェクトと、剣Thingオブジェクト、チェーンメールのThingオブジェクト、モンスターのThing(s)などがあります。これらを中央のライブラリに保存してから、特定のオブジェクトを取得することができますクエリ。だから、さびた剣が1のminLevel
、3のmaxLevel
、希少性(3%)のprobability
、および[type.SWORD,type.WEAPON,type.ITEM,TYPE.EQUIP]
を持っているでしょう
int minLevel
int maxLevel
double probability
int[] types
:私は、次のフィールドを使用してそれらを保存したいです。より良い剣は、minLevel
2、maxLevel
10、希少度(1%)である。
次に、ライブラリーからランダムtype.SWORD
を取得し、私はレベル3にいると言いたいと思います。確率が高いほど、より良い剣よりも錆びた剣を取得する必要があります。私がレベル10を要求している図書館からtype.SWORD
を取得した場合、私はより良い剣だけを返すでしょう。
これは意味があると思います。
EDIT 初期化段階で、すべての基本オブジェクトが作成されます。利用可能な武器、装甲、食糧、ポーション、ワンド、ゲームにユニークなグラフィックタイルを持つすべての基本的な可能なものがあります。そして、オブジェクトをどこかに配置したいときは、利用可能なもののコピーを作成し、統計情報を少し調整し、それを世界に打ち込みます。実際のアイテムはすべて、クラスCreature、Item、Equip(extends Item)、Weapon(extends Equip)、Armor(extends Equip)、Food(extends Item)などのルートThingクラスのサブクラスです。それらはライブラリデータベースでは異なるので、type.RARE、type.ARTIFACT、type.CURSEDなどの余分なタグを使用したいので、クラスの他に余分なタグが必要です。
ゲームでは、Androidおよびアプレットとして利用できるLIBGDXを使用します。私は何千もの良いタイルを持っている無料のRltileセットを使用します。私はPubnubまたはGoogle App Engineを使用してマルチプレーヤーのサポートを提供します。私は3つの答えを考えることができ
のArrayList - http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html – Coffee
あなたの世界では、データベースを持っています作成時に存在する固定オブジェクトの数それとも、必要なときにオブジェクトから作成されたオブジェクトですか? – sarnold
それぞれにはネストされた型のセットがありますか?すなわち、剣、武器、アイテム、装備? –