|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 2
|
|||||||||||
Необходимо написать программу-игру, в которой ведьмак пытается убить грифона20.03.2022, 09:25. Показов 2564. Ответов 2
Метки нет (Все метки)
Добрый день! Я недавно начал изучать JS и столкнулся с вот такой задачей, в ней у меня не получается реализовать метод changeHP. А из за него не получатся до конца решить задачу. Если не трудно помогите пожалуйста
Цель задания: Необходимо написать программу-игру, в которой ведьмак пытается убить грифона и информация о битве выводится в консоль. Исходные данные ведьмака и грифона указаны выше, и их можно изменять по своему желанию для проверки тех или иных ветвлений в программе. Указания: Игровой цикл реализуется с помощью бесконечного цикла. Сообщения, выводимые в консоль, должны быть максимально информативны. Они могут содержать в себе информацию о том, сколько осталось HP у грифона, у ведьмака, сколько было нанесено урона, и так далее. Можно использовать разделители (строки типа "============"), чтоб было понятно, когда закончился один ход и начался следующий. Уровень 1 На этом уровне достаточно сделать главный игровой цикл, за который производится только ход ведьмака. Алгоритм игры на данном этапе следующий: Игровой цикл: Ведьмак пытается попасть по грифону. Вероятность успеха: 75%. Если ведьмак попал: Рассчитывается урон из формулы: урон = сила ведьмака + оружие ведьмака - защита грифона У грифона отнимается здоровье, равное нанесенному урону с помощью метода changeHP (см. ниже указания). Отображается сообщение о нанесенном уроне и оставшейся HP грифона. Если ведьмак не попал: Отображается сообщение о том, что ведьмак не попал по грифону. Если у грифона больше нет жизненной энергии: Отобразить сообщение, что ведьмак победил. Выйти из игрового цикла. Указания: Для вывода информации о ведьмаке и грифоне, реализовать у них методы getStatus, которые должны возвращать сводную информацию в произвольном виде. Пример: > Witcher.getStatus(); < Witcher: 850 HP > Griffin.getStatus(); < Griffin: 1250 HP Реализовать метод changeHP у ведьмака и грифона, который будет принимать один аргумент - количество HP, которое нужно отнять. Этот метод надо написать так, чтобы количество HP не могло стать меньше нуля. Уровень 2 Добавить ход грифона. Ход грифона производится после хода ведьмака и проверки на то, что у грифона число HP не упало до нуля. Грифон может делать одно из двух действий (с одинаковым шансом): Атаковать: Урон рассчитывается из формулы урон = сила грифона + оружие грифона - защита ведьмака Нанесенный урон вычитается из здоровья ведьмака Вывести сообщение о нанесенном уроне и оставшейся HP ведьмака Летать: Вывести сообщение о том, что грифон не стал атаковать ведьмака. Затем, в основной цикл после действия грифона добавить: Проверять, если у ведьмака закончилась жизненная энергия: Вывести сообщение о том, что ведьмак проиграл. Выйти из игрового цикла Указания: Вынести действия ведьмака и грифона в отдельные функции. Использовать метод changeHP для изменения здоровья ведьмака. Использовать метод getStatus для отображения здоровья ведьмака. Уровень 3 Добавить возможность выбирать игроку (с помощью prompt), что ведьмак будет делать: Атаковать (в этом случае производятся все действия, как и в 1-м уровне задания) (то есть, с 75% шансом он может попасть, а может не попасть, и т.п.) Использовать знак "Игни". При этом, ведьмак наносит урон грифону, который рассчитывается с помощью метода getIgniDamage (см. ниже). "Промахнуться" при этом нельзя. После вызова метода, нанести полученное значение урона грифону с помощью changeHP, а затем вывести два значения - сколько урона нанесено и информацию о жизненной энергии грифона. Слушать Лютика. При этом, ведьмак не атакует, а в консоль выводится одно случайное сообщение из массива (см. ниже) Убежать. При этом игра заканчивается, отобразить в консоли сообщение, а также информацию о жизненной энергии ведьмака и грифона. Указания: Выбор действия нужно сделать с помощью prompt, который принимает числовые значения (например, 1 - атаковать, 2 - знак "Игни", и т.п.) Если значение не совпало ни с одним действием, спросить игрока заново. Во всех случаях, даже если ведьмак выбрал пункт "Слушать Лютика", после действия ведьмака должно происходить действие грифона, как описано во втором уровне этого задания. То есть, вы улучшаете только ход ведьмака, грифон же по-прежнему на каждом ходе действует автоматически. Создать метод getIgniDamage, который возвращает случайное число от 150 до 200. Случайные сообщения Лютика: Хватит валять дурака, пора уже тушить пожар в этой программе. Говорят, грифон никогда не наступит на лежащего ведьмака. Когда скромняга бард, отдыхал от дел, с Геральтом из Ривии, он песню эту пел... Трус умирает сто раз. Мужественный человек – лишь однажды. Людям для жизни необходимы три вещи: еда, питье и сплетни. Вот мой код: В нём скорей всего много ошибок, но я только начал изучать JS, по этому прошу отнестись с пониманием.
0
|
|||||||||||
| 20.03.2022, 09:25 | |
|
Ответы с готовыми решениями:
2
Написать программу, в которой необходимо создать структуру, элементами которой являются фамилия студента и оценки.
|
|
|
||||||
| 20.03.2022, 14:34 | ||||||
Сообщение было отмечено Danchik_2002 как решение
Решение
Так лучше..?
0
|
||||||
|
0 / 0 / 0
Регистрация: 19.03.2022
Сообщений: 2
|
|
| 20.03.2022, 15:44 [ТС] | |
|
Спасибо большое!
0
|
|
| 20.03.2022, 15:44 | |
|
Помогаю со студенческими работами здесь
3
Написать игру “Угадай число!”. Компьютер загадывает число в определенном диапазоне, а пользователь пытается его угадать Написать игру в которой имитируется бросание кубиков
написать на Pascal игру, в которой есть кораблики, соревнующиеся между собой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
|
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора
Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если. . .
|
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|