我只是在玩Java,尝试实现一个小型的Dungeon游戏。
Ma当前的问题是我有一个“ Monster”类和一个“ Trap”类。此外,我有一个“遭遇”类,其中随机选择一个怪物或陷阱并返回以与英雄的属性进行比较。
我真的不知道如何将这个怪物或陷阱转化为遭遇,所以我可以使用它。
这是我目前遇到的方法:
public Encounter generate(){
Encounter encounter = new encounter();
Trap trap1 = new Trap(random, trap1);
Monster monster1 = new Monster(random, random);
if (random > 5){
encounter = (Encounter) Monster; (?) //this is where I need help
.....
好吧,我希望我能彻底解释这个问题。。在此先感谢您的帮助!
(我在其他地方看过,但没有找到解决方案,虽然看起来不够辛苦,或者根本不了解关键因素,请原谅)
最佳答案
因此,您有一个Encounter类,它既可以是陷阱也可以是怪物,最好的事情是陷阱和怪物都从遭遇中继承(或实现接口遭遇),因此它们有一些共享的方法,那么您可以将它们强制转换,但是如果它们不实现公共接口或共享公共超类,则不能强制转换它们。