【发布时间】:2016-09-03 11:57:56
【问题描述】:
我正在制作一个使用父级运行攻击类的游戏,如下所示
public String attack(int damage, int extradamage, String type) {
int hitpossibility;
hitpossibility = (int) ((Math.random() * 100) + 1);
if (type.compareTo("Ranged") == 0) {
weaponnoise = "twang!";
}else{
weaponnoise = "swing!";
}
if (chancetohit >= hitpossibility) {
for (int x = 0; x < damage; x++) {
result = result + (int) ((Math.random() * 6) + 1);
}
result = result + extradamage;
return weaponnoise + " The " + name + " did " + +result + " damage";
}
return weaponnoise +"The " +name+" missed!";
}
我有多种不同的武器,我想使用并在这方面取得了成功,但是我有一把匕首,我想每回合攻击两次,而不是像其他人那样攻击一次。这是我用来设置匕首伤害值的类:
public class Dagger extends Blade {
public Dagger() {
super();
damage = 1;
extradamage = -1;
chancetohit = 75;
}
public String attack(int damage, int extradamage, String type) {
return super.attack(damage, extradamage, type);
}
然后我有一个运行它的类,目前它这样做:
for (int l = 0; l < 2; l++) {
System.out.println(pointy.attack(pointy.damage, pointy.extradamage, pointy.getType()));
monsterhealth = monsterhealth - pointy.result;
System.out.println(monsterhealth);
pointy.result = 0;
}
我希望它在同一行上攻击两次,而不是打印两次攻击。我想知道我可以在匕首类中改变什么,这将允许我这样做。 任何帮助当然感谢您!
【问题讨论】:
-
只调用两次成员函数?
-
我在哪里称呼它,匕首类还是主类?
-
好的,谢谢兄弟!完美运行
标签: java inheritance methods