【发布时间】:2015-09-30 12:47:03
【问题描述】:
我目前正在尝试制作一个简单的 RPG 式游戏。我希望怪物在地图上随机生成。我已经设置好了,所以当我想要一个生成它时,它会被添加到一个名为 monsters 的 ArrayList 中。当我完成时,我将拥有许多不同类型的monsters,并且每个都有自己的类(例如 Zombie、Ghost...)每个类都有一个绘制怪物的方法,称为 draw。我想知道我该怎么做。
Monsters 是一个ArrayList<Object>,因此它可以包含不同的类,但它不会让我这样做Monsters.get(i).draw();这真的可能吗,还是我很愚蠢。
【问题讨论】:
-
创建一个名为
Monster的接口,使用每个 怪物类型应具有的每个方法,然后将您的列表声明为List<Monster> monsters。 -
它是一个类型化的 ArrayList 吗? Monster 类是否共享一个带有 draw 方法的基础 Monster 类?
-
如果你发布一些你的实际代码,即使它不能正常工作,也会很有帮助。
-
@Tom:不是 OP 写的(我在编辑 cmets 中解释过)。它被编辑了。所以我把它拿出来,以免给那些阅读 OP 以这种方式编码的问题的人留下错误的印象。我们实际上并不知道 OP 的代码是什么样的。
-
@Tom:啊,我明白你现在在说什么了。过失!我把它回滚了。
标签: java class oop arraylist casting