2011-01-19 11 views
1

私の友人の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'タグは削除されました。 –

+0

今後、どのタグを使用する必要がありますか?私はRPゲームなどを使用しますか? – Gurnarok

答えて

3

スキルは通常、ゲーム内のアクションのいくつかの種類の有効性を決定するために「データ」として使用されています。このように、スキルはデータ駆動型設計の容易な候補です。

ハードコーディングではなく、一連のデータからスキルを取り込む方法を使用し、読み込んだスキル値をゲームのメカニズムが探すようにしてください。XMLがこれに適しています。それは少し冗長ですが、多くのエディタ/ IDEがそれを認識し、javaにはパーサのサポートが組み込まれています。

+0

キャラクタークラスとレースで同じ方法を使用すべきですか?またはそれらをハードコードする必要がありますか? – Gurnarok

+0

同じです。クラス/レースは、いくつかのゲーム内の効果にマップされたデータです。これらの種類のデータ中心のモデルを使用すると、現在実装されているクラス/レースに基づいて新しいクラス/レースを追加するのは簡単です。 – James

+0

ありがとう、ありがとう:)今は、すべてを実装して作業命令にする方法だけを理解する必要があります。ドローイングボードに! – Gurnarok

1

まあ、私はむしろクラスの代わりにXMLをしたいと思います。
主に、スキル値を微調整するたびにゲームを再コンパイルする必要がないためです。

あなたが望む高度に応じて、RunUOをチェックしてください。 Ultima Onlineサーバーをシミュレートするオープンソースのmmorpgプロジェクトです。

2

私はAion-lightningプロジェクトのXMLリーダーを使用します。それは、xmlファイルの大きなセットのために使いやすく、スコープが簡単です。

+0

このプログラムに関するリンクとソースを含めてください。 –

関連する問題