BERE1337
15.03.2022 10:42

При разработке компьтерных игр зачастую создаётся сложная система классов. в этой вам будет необходимо сделать небольшую заготовку, которую потом можно будет использовать для создания своей игры. реализуйте класс weapon для оружия, который при инициализации должен принимать имя оружия name, наносимый урон damage, а также радиус, на котором оружие может достать до врага – range. в классе weapon должны быть реализованы следующие методы: hit(actor, target) – удар персонажем actor персонажа target. метод должен проверять, жив ли персонаж target, если нет, то выводить сообщение «враг уже повержен», иначе должна проводится проверка расстояния от actor до target. если расстояние больше range оружия, тогда надо выводить сообщение «враг слишком далеко для оружия ». в случае, если target жив и оружие имеет достаточный range, вывести сообщение «врагу нанесен урон оружием в размере » и нанести урон target. к строке – при к строке должно возвращаться имя оружия. реализуйте класс basecharacter для создания базовых персонажей, который при инициализации должен принимать pos_x и pos_y – позицию персонажа в мире, hp – количество жизней персонажа. класс basecharacter должен реализовывать методы: move(delta_x, delta_y) – для перемещения персонажа на delta_x и delta_y в игровом мире. is_alive() – проверка, жив ли персонаж. возвращает true, если жив, иначе – false. get_damage(amount) – убавляет количество жизней персонажа на amount. при достижении 0 или отрицательного значения персонаж считается мёртвым. get_coords() – возвращает кортеж с текущими координатами персонажа. реализуйте класс baseenemy для создания противников, который расширяет класс basecharacter. при инициализации он должен принимать pos_x и pos_y – позицию персонажа в мире, weapon – оружие, hp – количество жизней персо

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
whiteandblackca
13.05.2022 18:51

#include <stdio.h>

int main()

{

 int S, P;

 printf("Введите сумму\n");

 scanf("%d", &S);

 if (S > 1500)

 {

   P = 8;

   S = S / 100 * P;

   printf("Ваша скидка %d\n", P);

   printf("Сумма скидки %d\n", S);

 }

 else if (S > 1000)

 {

   P = 5;

   S = S / 100 * P;

   printf("Ваша скидка %d\n", P);

   printf("Сумма скидки %d\n", S);

 }

 else if (S > 500)

 {

   P = 3;

   S = S / 100 * P;

   printf("Ваша скидка %d\n", P);

   printf("Сумма скидки %d\n", S);

 }

 else

 {

   printf("Для вашей суммы не предусмотренна скидка\n");

 }

 return 0;

}

Объяснение:

Пропущен header, отсутствуют скобки после if, отсутствует ";", END??? Зачем?? Точно нужно было написать на "C"?

0,0(0 оценок)
Ответ:
миша1078
22.10.2020 20:27
Для начала вычислим расстояния между точками, это сделать легко через вычисление длян векторов
обозвав точки в порядке следования A B C D получим
AB = 72,6645917899
AC = 123,0197463824
AD = 323,1683462222
BC = 87,105520491
BD = 362,136715758
CD = 310,3290415027

т.к. маршрут кольцевой, то из какой деревни начинать не существенно, будем считать, что всегда выходим из А, тогда существует всего 6 маршрутов

A-b-d-c-a 868,1500954331
A-b-c-d-a 793,2675000058
A-c-d-b-a 868,1500954331
A-c-b-d-a 895,4303288536
A-d-b-c-a 895,4303288536
A-d-c-b-a 793,2675000058

наиболее оптимальных 2 A-b-c-d-a и A-d-c-b-a, что логично т.к. это мы ходим в разные стороны, да и собственно маршрутов-то оказывается разных всего 3 :)

ответ 793,2675000058
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота