我正在创建一个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;
}
我有一个Game类,我计划初始化Rooms,我还有一个Input类,用于检查用户输入并执行操作。我的问题是我不知道如何处理项目列表。我不想为每个房间创建一个新房间和多个新列表。我觉得这会很快变得混乱。有没有办法以更清洁的方式获得同样的想法?我认为每个房间都有自己的课程。感谢。
答案 0 :(得分:0)
在一天结束时,创建级别将涉及一堆硬编码信息。如果做错了,这可能会很混乱。一种对我来说效果很好的方法是将房间的初始项目序列化为文本文件,然后创建一个处理基于文本文件初始化所有房间的类。这样,代码中的硬编码项目数据就行了,并且所有级别设置信息都在一个地方。