我只是在玩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类,它既可以是陷阱也可以是怪物,最好的事情是陷阱和怪物都从遭遇中继承(或实现接口遭遇),因此它们有一些共享的方法,那么您可以将它们强制转换,但是如果它们不实现公共接口或共享公共超类,则不能强制转换它们。

10-05 19:17