Я делаю RPG и пытаюсь разбить вещи на несколько файлов, чтобы упорядочить вещи. (Я имею в виду, что создание одного персонажа занимало более 2000 строк.) Но это то, чего я никогда не делал, и я действительно не уверен, как это сделать. Так что, если бы я мог получить некоторые общие советы о том, как все настроить эффективно и т. Д., Я был бы очень признателен. Я действительно не смог найти много по этой теме, кроме страницы о модулях на сайте python, которую я прочитал, но я все еще немного неясен по этому поводу. Это определенно самая запутанная, наименее обсуждаемая вещь, с которой я когда-либо сталкивался в программировании ... и я очень не хочу задавать смутные вопросы, подобные этим, но я определенно не добиваюсь никакого прогресса самостоятельно, поэтому я ' Я надеюсь, что один из вас может поставить меня на правильный путь.
Я также приведу один конкретный пример.
Я хочу поместить все характеристики и навыки персонажа в один или два списка, чтобы мне было проще использовать их с функциями, и я понятия не имею, как использовать список из другого файла в качестве аргумента для функция. Это то, что я пробовал, и похоже, что это должно работать. Я импортирую этот файл в CharacterCreation, а затем просто использую «StatCalculations.LevelUp (PLAYERSTATLIST)», но в нем говорится, что «модуль» не имеет атрибута «LevelUp».
Что я делаю не так?
from CharacterCreation import BaseHEALTH, BaseMANA, BaseSTAMINA, BaseCAPACITY, BaseDEFENSE, STRENGTH, ENDURANCE, AGILITY, INTELLIGENCE, PERSONALITY, BaseSTRENGTH, BaseENDURANCE, BaseAGILITY, BaseINTELLIGENCE, BasePERSONALITY, PLAYERLEVEL, PLAYERNAME
def LevelUp(*PLAYERSTATLIST):
HEALTH = BaseHEALTH + ( ENDURANCE / 2 ) + ( STRENGTH / 5 )
MANA = BaseMANA + INTELLIGENCE + ( ENDURANCE / 10 )
STAMINA = BaseSTAMINA + ( STRENGTH / 5 ) + ( ENDURANCE / 5 )
CAPACITY = BaseCAPACITY + ( STRENGTH / 5 ) + ( ENDURANCE / 10 )
DEFENSE = BaseDEFENSE + ( ENDURANCE / 10 ) + ( AGILITY / 10 ) + ( STRENGTH / 10 )
PLAYERSTATLIST = [HEALTH, MANA, STAMINA, CAPACITY, DEFENSE, BaseHEALTH, BaseMANA, BaseSTAMINA, BaseCAPACITY, BaseDEFENSE, STRENGTH, ENDURANCE, AGILITY, INTELLIGENCE, PERSONALITY, BaseSTRENGTH, BaseENDURANCE, BaseAGILITY, BaseINTELLIGENCE, BasePERSONALITY, PLAYERLEVEL, PLAYERNAME]
return PLAYERSTATLIST