Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 December 11

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
qwerty
и в данном случае вызов метода fire зависит от типа ружья, значит позднее связывание
класс Оружие:
  метод Использовать() = 0;
класс Чувак:
  поле Оружие ствол = новый Пистолет();
  метод Убивать():
        ствол.Использовать();
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
На пальцах чисто
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
вбивцю на пальцах сделал
источник

J

Jmik in IT KPI C/C++ ХВ (не UB)
Alexander Pavlyuchuk
вбивцю на пальцах сделал
🌚👉🏿👉🏿 пиу - пиу
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
так то можно в качестве оружия использовать любой подходящий предмет, так что можно сразу базовый клас ставить
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
Jmik
Мб все же разделить оружие
На оружие дальнего и ближнего боя?
ну так тоже можно
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
ну в целом, для меня важно лишь понимание
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
если понимать, то с генерацией примеров проблем не будет
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
qwerty
ну ок, имеется чувак, который может стрелять, и классы для каждого вида оружия(в них переопределен метод fire, который является виртуальным в базовом), теперь этому чуваку подсовываем оружие и если подсовываем нож, то метод fire для ножа режет, если гранату, то метод fire - бросает
Подсовываем мы ему конкретное оружие
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
А метод вызываем оружия в общем
источник

J

Jmik in IT KPI C/C++ ХВ (не UB)
qwerty
ну так тоже можно
Можно вообще делать класс экипировка [имеет вес]
От него классы
Снаряжение и оружие

Снаряжение [имеет характеристики и функции onEquip, onDamage, onMove,  (позволит реализовать баффы аля ускорение при получении дамага)

Оружие бывает
Ближним, стрелковым, метательным
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
да, как-то так
weapon* bullshit = new knife()
Person Ruslan = new Person()
Ruslan.fire(bullshit)
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
и @stormtrooper1337  режет
источник

J

Jmik in IT KPI C/C++ ХВ (не UB)
qwerty
да, как-то так
weapon* bullshit = new knife()
Person Ruslan = new Person()
Ruslan.fire(bullshit)
Лучше ruslan.equip(bullshit)
источник

J

Jmik in IT KPI C/C++ ХВ (не UB)
А equip - принимает любую экипировку
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
да это кажется уже детали реализации
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
согласен
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
ну можно уже если заморачиваться то делать инвентарь
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
слоты для оружия
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
нож
источник