Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с задачей на JAVA, пожалуйста!

whyexcellent Radcliffe Ученик (110), на голосовании 1 год назад
Есть два юнита, каждый из них называется «Воин». Каждому устанавливается здоровье в 100 очков. Они бьют друг друга в случайном порядке. Тот, кто бьёт, здоровья не теряет. У того, кого бьют, оно уменьшается на 20 очков от одного удара. После каждого удара надо выводить сообщение, какой юнит атаковал и сколько у противника осталось здоровья. Как только у кого-то заканчивается ресурс здоровья, программа завершается сообщением о том, кто одержал победу.
Голосование за лучший ответ
Sergio 2.1 Оракул (67303) 1 год назад
 public class Warrior { 
private String name;
private int health;

public Warrior(String name) {
this.name = name;
this.health = 100;
}

public void attack(Warrior opponent) {
opponent.health -= 20;
System.out.println(this.name + " атаковал, у " + opponent.name + " осталось " + opponent.health + " здоровья.");
}

public boolean isAlive() {
return this.health > 0;
}

public static void main(String[] args) {
Warrior warrior1 = new Warrior("Воин 1");
Warrior warrior2 = new Warrior("Воин 2");

while (true) {
warrior1.attack(warrior2);
if (!warrior2.isAlive()) {
System.out.println(warrior1.name + " одержал победу!");
break;
}

warrior2.attack(warrior1);
if (!warrior1.isAlive()) {
System.out.println(warrior2.name + " одержал победу!");
break;
}
}
}
}
whyexcellent RadcliffeУченик (110) 1 год назад
спасибо! Но как мне сделать так, чтобы атака была рандомной ? Т.е чтобы они били друг друга в рандомном порядке.
whyexcellent Radcliffe, класс Random в пакете классов java.util:
 int maxRandomNumber = 12;

Random rand = new Random();
System.out.println(rand.nextInt(maxRandomNumber)); 
Таким образом, в консоль может вывидиться число от 0 до 11. Дальше сам можешь реализовать так.
Похожие вопросы