Как после проигрыша копейщиков добавить ещё одного и начать битву снова?
Нужно чтоб программа проводила битвы прибавляла копейщиков пока они не убьют дракона.
public static void main(String[] args) {
int zdorovie_drakona = 500;
int ataka_brakona = 55;
int zdorovie_kop = 10;
int ataka_kop = 10;
int kopeyhiki = 11;
int sum = kopeyhiki * zdorovie_kop;
System.out.println("Копейщиков: " + kopeyhiki);
do {
if (sum > 0 || zdorovie_drakona <= 0) {
System.out.println("Копейщики атакуют (ущерб: " + sum + ") - у дракона осталось " + (zdorovie_drakona - sum) + " HP");
zdorovie_drakona = zdorovie_drakona - sum;
sum = sum - ataka_brakona;
int kopsum = sum / zdorovie_kop;
System.out.println("Дракон атакует (ущерб: " + ataka_brakona + ") - осталось " + (kopsum) + " копейщиков");
if ((zdorovie_drakona - sum) <= 0) {
System.out.println("Копейщики атаковали, дракон побеждён!");
break;
} else if (kopsum <= 0) {
System.out.println("Дракон победил " + kopeyhiki + " копейщика, добавим еще одного и попробуем снова.");
kopeyhiki++;
}
}
} while (zdorovie_drakona >= 0);
}
помогите я не знаю как после проигрыша копейщиков добавить ещё одного и начать битву снова.
Ответы (1 шт):
Автор решения: Vadik
→ Ссылка
В случае проигрыша сделайте выход из цикла break. Чтобы программа начиналась заново, оберните весь код программы в бесконечный цикл while (true).
При этом переменную kopeyhiki нужно вынести из цикла, а в случае победы над драконом завершить программу с помощью return.
Схематично получится так:
int kopeyhiki = 11;
while (true) {
int zdorovie_drakona = 500;
while (true) {
if (win) {
System.out.println("Копейщики атаковали, дракон побеждён!");
return;
}
if (fail) {
System.out.println("Дракон победил " + kopeyhiki + " копейщика.");
kopeyhiki++;
break;
}
}
}