Программа, которая является частью настольной игры, я пытаюсь создать это один, что:Логическая программа Error Game
1- попросить пользователя ввести значение здоровья вражескую базу (promptBaseHp()).
2- Программа генерирует множитель (2 или 3), а затем умножает его на значение здоровья базовой.
3 Значение запаса базы для врага должно быть 5,7,9,11,13 (поле массива указывает эти значения), и это то, где у меня возникают проблемы, мне нужно ПРОВЕРИТЬ ВХОД ПОЛЬЗОВАТЕЛЯ против допустимых значений (5 , 7,9,11,13).
Существует что-то неправильно, что я не могу понять, когда я запускаю программу, он предлагает пользователь дважды, даже если правильное значение (5,7,9,11,13) было введено. Может кто-то помочь мне получить функцию этой программы (справа введите значение, проверьте значение 5,7,9,11,13, а затем умножить его на 2 или 3)?
package game1;
import java.util.Scanner;
import java.util.Random;
public class Enemy {
private String [] armorTyper = { "Fire","Water","Nature","Steel","Scales","Flesh","Dark"};
private int [] hpValues = { 5, 7, 9, 11 ,13 };
private int enemyHP = 0 ;
Scanner scanner = new Scanner(System.in);
Random random = new Random();
public int getFinalHp(){
return enemyHP;
}
public int getMultiplier(){
int multiplier = random.nextInt(1) +2 ;
return multiplier;
}
public int promptBaseHp(){
System.out.println ("Enter base hp value (5 or 7 or 9 or 11 or 13): ");
int hpValue = scanner.nextInt();
System.out.println(" enemy base hp entered is :"+ hpValue);
return hpValue;
}
public void setBaseHp(){
boolean isAcc = comparing(promptBaseHp());
do{
if(isAcc == true){ enemyHP = getMultiplier() * promptBaseHp() ;
getFinalHp();
}
else{ System.out.println(" must be 5/7/9/11/13 ! ");
promptBaseHp();
isAcc = comparing(promptBaseHp());
}
}while (isAcc == false);
}
public boolean comparing(int val) {
boolean isAcc = false;
for (int value : hpValues){
isAcc = (val == value);
if (isAcc == true){ return isAcc; }
else { System.out.println("invalid entery !");
isAcc = false;}
}
return isAcc;
}
}
package game1;
public class Exceutor {
public static void main (String [] args){
Enemy enem = new Enemy();
enem.getMultiplier();
System.out.println(" enemy hp multiplier is :"+ enem.getMultiplier());
enem.setBaseHp();
enem.getFinalHp();
System.out.println(" enemy final hp is : "+ enem.getFinalHp());
}
}
Спасибо, что ценю это ... –