どうすればいいのか、ちょっとだけ迷っています。私は 2 つの武器クラスを持っています。1 つは M16 用、もう 1 つは M4 用です。次に、Armory という名前のインターフェイスを実装するこれらのクラスを用意します。しかし、戦闘クラスに問題があります。戦闘クラスには、乱数を生成する乱数ジェネレーターがあり、その数に応じて、プレイヤーに武器を与えるか、何もしません。以下にコードを掲載します。
インターフェース:
public interface Armory {
public Integer weaponAmmo(int wepAmmo);
public Integer weaponDamage(int wepDamage);
public String weaponName(String wepName);
}
M4 クラス (M4 と M16 クラスは、ダメージと弾薬の量を除いて同じです):
public class M4 implements Armory {
public Integer weaponAmmo(int wepAmmo) {
wepAmmo = 10;
return wepAmmo;
}
public Integer weaponDamage(int wepDamage) {
wepDamage = 2;
return wepDamage;
}
public String weaponName(String wepName) {
wepName = "M4";
return wepName;
}
そして最後に、戦闘クラス(これは私が問題を抱えている場所です):
public class Combat {
final int chanceOfDrop = 3;
Weapons[] wepArray = {new M4(), new M16()}; //Issues here.. Don't really know how to implement this.
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(wepArray[Combat.ranNumberGen(wepArray.length)] } //Issues here also.
private static void givePlayerWeapon(int w) {
hasWeapon[w] = true;
for (int i = 0; i < hasWeapon.length; ++i)
{
if (hasWeapon[i]) System.out.println(( wepArray[i]).weaponName()); //And, last but not least, I am having Issues here
}
}
}
注: 私は武器クラスを持っていますが、そこには何もありません。何を入れたらいいのかさっぱりわかりません。
助言がありますか?
前もって感謝します: シャンダン