Здравствуйте!
Пытаюсь сделать систему инвентаря главного персонажа для игры в жанре RPG.
Интересует вопрос, как правильно спроектировать инвентарь главного героя, как хранить вещи (оружие, броня и прочее), как выбирать вещи из инвентаря. Как это все разумно организовать в объектно-ориентированном подходе?
Пока что я сделал такой набросок:
class Hero:
def __init__(self, name, hp = 100):
self.name = name
self.hp = hp
self.weapons = [] # инвентарь с оружием
self.armor = [] # инвентарь с броней
# добавить предмет в инвентарь
def take(self, item):
if isinstance(item, Weapon):
self.weapons.append(item.__dict__)
elif isinstance(item, Armor):
self.armor.append(item.__dict__)
class Weapon:
pass
class Sword(Weapon):
def __init__(self, name = 'Меч', damage = 30):
self.name = name
self.damage = damage
class Bow(Weapon):
def __init__(self, name = 'Лук', damage = 20):
self.name = name
self.damage = damage
class Armor:
pass
Буду рад увидеть ваши примеры и советы (желательно на Python, но и другие языки сгодятся, хоть псевдокод).