Я пытаюсь создать мастера генерации персонажей для игры. В одном классе я вычисляю атрибуты персонажа. В другом классе я показываю пользователю, какие специальности доступны в зависимости от атрибутов персонажа. Однако я не могу вспомнить, как передавать переменные между различными классами.
Вот пример того, что у меня есть:
class BasicInfoPage(wx.wizard.WizardPageSimple):
def __init__(self, parent, title):
wiz.WizardPageSimple.__init__(self, parent)
self.next = self.prev = None
self.sizer = makePageTitle(self, title)
<---snip--->
self.intelligence = self.genAttribs()
class MOS(wx.wizard.WizardPageSimple):
def __init__(self, parent, title):
wiz.WizardPageSimple.__init__(self, parent)
self.next = self.prev = None
self.sizer = makePageTitle(self, title)
def eligibleMOS(self, event):
if self.intelligence >= 12:
self.MOS_list.append("Analyst")
Проблема в том, что я не могу понять, как использовать переменную «интеллект» из класса BasicInfoPage в класс MOS. Я пробовал несколько разных вещей со всего Интернета, но, похоже, ничего не работает. Чего мне не хватает?
Редактировать После публикации я понял, что не очень хорошо объяснил. Я пытаюсь создать компьютерную версию РПГ «Сумерки 2000» 1980-х годов.
Я использую wxPython для создания мастера; родительский класс моих классов - это Wizard из wxPython. Этот мастер проведет пользователя по созданию персонажа, поэтому страница «Основная информация» (класс BasicInfoPage) позволяет пользователю дать имя персонажа и «перекат» для атрибутов персонажа. Отсюда и «самоинтеллект».
Я пытаюсь использовать созданные ею атрибуты для дальнейшей страницы в мастере, где пользователь выбирает специальность персонажа. Доступные особенности зависят от атрибутов, которыми обладает персонаж, например, если интеллект достаточно высок, персонаж может быть Intel Anaylst.
Прошло несколько лет с тех пор, как я программировал, особенно с идеями ООП. Вот почему я запутался в том, как создать глобальную переменную с классами и методами.