我正在创建一个基于文本的游戏,但我遇到了一些问题。这就是我目前所拥有的。到目前为止,我有一个战斗类,以及两个不同武器的两个类。我正在尝试为武器本身分配生命值。但我最大的问题是在战斗课上。我正在尝试创建它,以便在随机时间随机掉落武器以及随机武器。到目前为止,在战斗课上我有这个:
public class Combat {
final int chanceOfDrop = 3;
static Weapons[] wepArray = {new M4(), new M16()}
static boolean[] hasWeapon = {false, true};
public static int ranNumberGen(int chanceOfDrop) {
return (int) (Math.random()*1);
}
private void enemyDead() {
boolean canDrop = false;
if(ranNumberGen(chanceOfDrop)==0){
canDrop = true;
}
if(canDrop == true){
givePlayerWeapon(Weapon[Combat.ranNumberGen(Weapons.length)]);
}
private static void givePlayerWeapon(int w) {
hasWeapon[w] = true;
for w <(Weapons.length-1) {
if has weapon[w] {
System.out.println(wepArray[w].getWeaponName);
}
}
}
}
}
}
我在创建新的 M4() 时遇到问题,新的 M16() 显示类型不匹配:无法将 M4 形式转换为武器。我确实有一个名为 Weapons 的课程,这可能是问题吗?
这是我的 M4 类,M4 和 M16 类是相同的
public abstract class M4 {
private Integer weaponDamage = 5;
private Integer weaponAmmo = 25;
private String weaponName = "M4";
public M4(String name, int ammo, int damage) {
name = weaponName;
ammo = weaponAmmo;
damage = weaponDamage;
}
public String getWeaponName() {
return weaponName;
}
public Integer getAmmo() {
return weaponAmmo;
}
public Integer getDamage() {
return weaponDamage;
}
}
我不认为我在这里有任何问题。不过,也许我的问题就在于此。虽然,我有一个武器课,但什么都没有。我需要那个吗?