Текстовый бой - как посчитать урон? - PascalABC.NET
Формулировка задачи:
У меня есть два числа, hp и damage. Какой код нужно прописать чтобы из hp вычиталось damage, до тех пор пока hp не станет равно нулю. Нужно учить циклы или что-то другое?
Решение задачи: «Текстовый бой - как посчитать урон?»
textual
Листинг программы
while hp>0 do begin ..... if (условие) then hp:=hp-damage; ... end;
Объяснение кода листинга программы
hp- это переменная, которая отслеживает текущее количество здоровья персонажа. Изначально она установлена в некоторое положительное число.damage- это переменная, которая отслеживает урон, наносимый персонажу. Изначально она установлена в ноль.условие- это булево выражение, которое определяет, был ли нанесен урон персонажу. Если это выражение истинно, то выполняется следующий блок кода.- Если
условиеистинно, то текущее значениеhpуменьшается на значениеdamage. Это означает, что персонажу был нанесен урон. - Код в блоке
...может содержать другие действия, которые могут влиять на значенияhpиdamage, но они не относятся к расчету урона. - Цикл
while hp>0 doвыполняется до тех пор, покаhpбольше нуля. Это означает, что бой продолжается, пока персонаж не будет побежден. - В конце каждого хода персонажа (или в начале, в зависимости от логики игры), значение
damageможет быть обновлено в соответствии с новой информацией о противнике или оружии персонажа. - Если значение
damageбольше текущего значенияhp, то персонаж побежден. - Если значение
damageменьше или равно текущего значенияhp, то персонаж получает урон, и значениеhpуменьшается наdamage. - Значение
damageдолжно быть обновлено в соответствии с атакой противника или оружием персонажа. - Значение
hpдолжно быть обновлено в соответствии с уклонением, броней или другими факторами, которые могут влиять на урон, полученный персонажем. - Значения
hpиdamageмогут быть обновлены в любое время в соответствии с логикой игры. - Если значение
damageбольше текущего значенияhp, то персонаж побежден. - Если значение
damageменьше или равно текущего значенияhp, то персонаж получает урон, и значениеhpуменьшается наdamage. - Значение
damageдолжно быть обновлено в соответствии с атакой противника или оружием персонажа. - Значение
hpдолжно быть обновлено в соответствии с уклонением, броней или другими факторами, которые могут влиять на урон, полученный персонажем. - Значения
hpиdamageмогут быть обновлены в любое время в соответствии с логикой игры. - Если значение
damageбольше текущего значенияhp, то персонаж побежден. - Если значение
damageменьше или равно текущего значенияhp, то персонаж получает урон, и значениеhpуменьшается наdamage. - Значение
damageдолжно быть обновлено в соответствии с атакой противника или оружием персонажа.