Для игры мне нужно два вида: массив объектов (Room.enemies) на атрибуте скорости и объект игрока с его атрибутом скорости, чтобы я мог знать, в каком порядке мне нужно запускать методы атаки.
Например, в массиве room.enemies у меня есть гоблин (скорость 10), паук (скорость 8), гоблин (скорость 10), и у игрока есть скорость 12, я хотел бы сначала выполнить атаку врага от игрока и затем выполните метод атакующего игрока три раза (гоблин, гоблин, гоблин).
import java.util.Random;
public class Battle {
private boolean attackPlayer(Player player, Enemy enemy) {
int edamage = 0;
int eamplifier = enemy.getDamage() - player.getDefense();
Random dice = new Random();
for (int i=1; i < enemy.getAgility(); i++) {
edamage += dice.nextInt(10) + eamplifier;
}
if (edamage < 0) {
edamage = 0;
}
return player.takeDamage(edamage);
}
private boolean attackEnemy(Player player, Enemy enemy) {
int damage = 0;
int amplifier = player.getDamage() - enemy.getDefense();
Random dice = new Random();
for (int i=1; i < player.getAgility(); i++) {
damage += dice.nextInt(10) + amplifier;
}
if (damage < 0) {
damage = 0;
}
return enemy.takeDamage(damage);
}
private void gameturn(Player player, Room room) {
}
}