public void playTurn(Party hostiles) { if (isDead()) return; Party targetParty; Output.getInstance().separator(); Output.getInstance().warning(this + ", your turn has begun!"); callItemMenu(); int command = callAbilityMenu(); Output.getInstance().separator(); int target; if (_abilities.get(command).getAbilityType() == AbilityType.DEFENSIVE) targetParty = _party; else targetParty = hostiles; target = callTargetMenu(targetParty); while (targetParty.getParty().get(target).isDead()) { Output.getInstance().warning("You can't target a dead target!"); target = callTargetMenu(targetParty); } _abilities.get(command).castAbility(targetParty.getParty().get(target)); }
private int callTargetMenu(Party enemies) { Output.getInstance().info("List of avaiblable targets:"); Output.getInstance().orderedList(enemies.getParty().toArray()); Output.getInstance().prompt("Enter a number corresponding to the target chosen"); return InputUtil.getInput(0, enemies.getParty().size() - 1); }