При разработке компьтерных игр зачастую создаётся сложная система классов. в этой вам будет необходимо сделать небольшую заготовку, которую потом можно будет использовать для создания своей игры. реализуйте класс 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 – количество жизней персо
a) 5 * 2 - 4
Решение:
Умножение имеет более высокий приоритет, чем вычитание. Поэтому, сначала выполним вычисление умножения: 5 * 2 = 10.
Затем, выполним вычитание: 10 - 4 = 6.
Ответ: 6.
б) 7 * х + 2
Решение:
Умножение имеет более высокий приоритет, чем сложение. Поэтому, сначала выполним вычисление умножения: 7 * х = 7х.
Затем, выполним сложение: 7х + 2.
Ответ: 7х + 2.
в) 8 * х - 3 * (х + у)
Решение:
Выполним умножение: 8 * х = 8х и 3 * (х + у) = 3х + 3у.
Затем, выполним вычитание: 8х - (3х + 3у).
Для выполнения операции в скобках, умножение 3 на каждый из элементов внутри скобок:
8х - 3х - 3у = 5х - 3у.
Ответ: 5х - 3у.
г) v^2 * х * у^2 * х * у
Решение:
По правилам алгебры, умножение можно проводить в любом порядке.
Выполним умножение: v^2 * х = v^2х, у^2 * х = у^2х, v^2х * у^2х = (vх * у)^2х.
Ответ: (vх * у)^2х.
2. Переведем запись с языка Pascal в нормальную форму:
f = (3 * x + 4 * y)/(2 * sqr(к) - 4 * t / y)
Решение:
Нормализация выражения подразумевает разделение на более простые составляющие.
Заменим sqr(к) на к^2, чтобы выразить возведение в квадрат в общепринятой форме:
f = (3 * x + 4 * y)/(2 * к^2 - 4 * t / y)
Затем, выполним умножение и деление в числителе и знаменателе:
f = (3 * x + 4 * y)/(2к^2 - (4 * t) / y)
Ответ: f = (3 * x + 4 * y)/(2к^2 - 4t/y).
Таким образом, мы записали выражения по правилам языка Pascal и перевели запись с языка Pascal в нормальную форму.