Я довольно плохо знаком с Python, особенно с классами / объектами и терминологией. Но я хочу сделать следующее: у меня есть один объект «герой». Этот объект имеет переменную "здоровье" и список "инвентарь". Я создаю объект в моем основном файле игры (называемом «game.py»). Затем я импортирую другой файл (скажем, «minigame.py»), который я хочу выполнить.
Моя проблема в том, что я хотел бы иметь возможность использовать объект «герой», его переменную здоровья и список инвентаря в скрипте мини-игры, вносить в него изменения и передавать его обратно в основной файл игры. Но когда я пытаюсь импортировать «героя», он просто создает еще один объект класса.
Можно ли как-нибудь разрешить сценариям взаимодействовать так, как я описал? Использовать объект и вносить в него изменения в другом скрипте?
# game.py
class Hero(object):
instruction1 = "\nYou need to set your hero's name"
name = ""
health = 100
inventory = []
def __init__(self):
self.setting()
def setting(self):
self.set_name()
print('\nHi', self.name, '\n')
self.status()
def set_name(self):
print(self.instruction1)
self.name = input('')
def status(self):
print('Your health stat is: ', self.health)
def show_inventory(self):
print("Your current inventory contains: ", self.inventory)
hero=Hero()
import minigame
, а затем в моей программе «мини-игры» я попытался импортировать героя, но когда я запускаю код, он просто создает новый:
# minigame.py
print("\nminigame starts here\n")
from game import hero
Затем я запускаю »game.py ", и результат выглядит так:
Вам необходимо установить ссылку на имя вашего героя
Привет ссылка
Ваш показатель здоровья: 100
мини-игра начинается здесь
Вам нужно указать имя своего героя zelda
Hi zelda
Ваш показатель здоровья: 100