Сколько ударов нужно?
Пора браться за небольшой проект! В этом мини-проекте вы самостоятельно напишете целую программу, используя то, что узнали в первых трёх уроках: вывод, переменные, арифметику и условия.
Упражнения здесь немного отличаются от прежних. Задание говорит, что должна вывести программа, а не как её написать. Правильных способов много, так что выбирайте тот, который понятен вам. Если застряли, вернитесь к уроку, где вы изучали то, что вам нужно.
Проект. Игры — одна из главных областей, где применяют C++. За три упражнения вы напишете сердце небольшой ролевой игры: бой героя с драконом. Ваша программа посчитает, как пройдёт бой, кто в нём победит и что получит герой за победу. Каждое упражнение продолжает предыдущее: в редакторе уже стоит готовая программа с предыдущего шага, и она может отличаться от вашей. Это нормально.
Данные. Переменные в начале main описывают бойцов: heroAttack — сколько здоровья отнимает у дракона один удар героя, dragonHealth — сколько здоровья у дракона, а dragonAttack — сколько здоровья отнимает у героя один удар дракона. В настоящей игре эти значения брались бы из самой игры. Здесь программа берёт их из переменных, и ваш код должен работать с переменными, а не с их числами, скопированными в него: если изменить переменную, программа всё равно должна выводить верный результат. Чтобы это проверить, каждое упражнение запускает вашу программу ещё и с другими значениями, и с ними она тоже должна справиться.
Задача. Первым бьёт герой. Каждый удар отнимает у дракона heroAttack здоровья, и дракон повержен, когда его здоровье падает до 0 или ниже. После каждого удара, который его не победил, дракон отвечает ударом. При 150 здоровья дракон выдерживает 6 ударов по 23, ведь 6 × 23 — это всего 138. 7-й удар его побеждает. Значит, дракон отвечает 6 раз, и герой теряет 6 × 18 = 108 здоровья. Программа выводит:
Ударов героя: 7
Ударов дракона: 6
Получено урона: 108Совет: вспомните / и % из урока о переменных. Первый подсказывает, сколько целых ударов помещается в здоровье дракона, а второй — остаётся ли после них немного здоровья, ради которого нужен ещё один удар.
Остерегайтесь боя, в котором удары отнимают у дракона ровно всё здоровье. При heroAttack = 25 6 ударов отнимают ровно 150 здоровья, поэтому герою нужно всего 6 ударов, а дракон отвечает 5 раз.
Задание
- 1
Выведите, сколько ударов нужно герою, чтобы победить дракона, как в примере.
- 2
Ниже выведите, сколько раз дракон отвечает ударом и сколько здоровья теряет герой.