试图使用另一个类

时间:2017-04-04 19:33:36

标签: java

public class Boss{

public void Attack1(){
    int randomspace = (int )(Math.random() * 3 + 1);
    System.out.println("Attacking space " + randomspace);
    if(space == randomspace){
        //Something right here to kill the player
    }
  }
}

但是空间在另一个名为Player

的类中
public class Player {
    int space = 1;
}

我考虑过制作一个单独的空间变量并同时更改它们,但是Boss类如何知道何时与Player类同时递增/递减。为简单起见,将它保存在一个类中会更容易。

编辑:我想通了。 public class Boss extends Player{并解决了我的问题

1 个答案:

答案 0 :(得分:1)

使用参数。 (并小写你的方法)

老板会攻击一个空间。

public void attack(int space){
    if(space == randomspace){
        //Something right here to kill the player
    }

如果您需要播放器,那么您应该使用一些抽象类,比如Unit,然后使用Hero作为主要部分。

然后你可以

public void attack(Unit unit){
    if(unit.getSpace() == randomspace){
        //Something right here to kill the player
    }

理想情况下,unit.getSpace()也可能来自某个Board类,其中包含有关Unit类型的所有信息

然后,您在其他地方的逻辑说boss.attack(player)boss.attack(player.getSpace())