2017-01-29 4 views
1

私はJavaテキストアドベンチャーを作成しており、できるだけオブジェクト指向にしようとしています。私は部屋とその部屋で利用可能なアイテムを扱う方法を議論しています。Javaテキストアドベンチャーのクラスとリストを整理する方法

String name; 
String description; 
List<Item> avaliableItems; 
List<Item> inspectableItems; 

Room(String name, String description, List<Item> avaliableItems, List<Item> inspectableItems,) { 
    this.name = name; 
    this.description = description; 
    this.avaliableItems = avaliableItems; 
    this.inspectableItems = inspectableItems; 
} 

は私が部屋を初期化し、私はまた、ユーザー入力をチェックし、アクションを実行し、入力クラスを持っている上、計画ゲームのクラスを持っています。現在、私はこのように設定する部屋のクラスを持っています。私の問題は、私はItemリストで何をすべきか分かりません。私は新しい部屋と各部屋のための複数の新しいリストを作成する必要はありません。私はこれが非常に手早く乱雑になるような気がします。同じアイデアをよりクリーンな方法で得る方法はありますか?自分のクラスを持っている各部屋は私が思うには船外になるでしょう。ありがとう。

+0

どのようなアイテムがどの部屋で利用可能であるかはどのように判断しますか? –

+0

何かの設定ファイルやデータベースを検討する必要があるかもしれません。 – MadProgrammer

+0

@ToddSewellプレイヤーがその部屋で拾うことができるものは何でも。 – conyare

答えて

0

レベル作成では、ハードコードされた情報が多数含まれています。それが間違っていれば、それは面倒かもしれません。私にとってうまくいったアプローチの1つは、最初のアイテムを持つ部屋をテキストファイルにシリアライズし、テキストファイルに基づいてすべての部屋を初期化する1つのクラスを作成することです。こうすることで、コード内のハードコードされた項目データの行に線がなくなり、すべてのレベル設定情報が1か所にまとめられます。

関連する問題