我尝试从列表中随机获取字符串,然后使用从列表中产生的字符串来查找与来自不同模块的字符串同名的列表,以确定在战斗实例中敌人的统计信息
例如,我有一级敌人列表,可能类似于:
Lv1MonsterList = ["goblinlv1", "banditLv1", "elementalLv1"]
我有一个变量集,可以从列表中随机选择一个:
trueMonster = random.choice(Lv1MonsterList)
然后在另一个模块(globalvarDB
)中,我为第一个列表中的每个字符串都有一个列表,其中包含了敌人的统计信息。例如:
goblinLv1 = [1,2,3,4,5]
banditLv1 = [1,2,3,4,5]
elementalLv1 = [1,2,3,4,5]
因此,我想使用trueMonster
的值从另一个模块中的对应表中获取所有信息。这可能吗
是的,这是可能的。您需要非常简单地组织文件结构
让我们把你的“敌人名单”文件命名为
enemylist.py
。然后,您希望将enemylist.py
放在与globalvarDB
相同的目录中:有了它,您现在可以在
enemylist.py
中执行以下操作:例如,现在
goblinlv1
将在调用它时解析为[1,2,3,4,5]
。如果trueMonster
现在设置为goblinlv1
,那么它也将解析为[1,2,3,4,5]
请注意,这里不再处理字符串,而是直接引用所需的列表(这是一种很好的做法,因为它避免了一层混淆)
基本技术是完全相同的-一个简单的
import
语句将解决所有问题-但是还有其他方法来组织文件结构,例如将
globalvarDB
放在PYTHONPATH
上,以便Python可以在系统的任何位置访问它将它放在自己的文件夹(比如
utils
)中,并在根目录中声明一个空的__init__.py
文件,因此在这种情况下,您希望在
enemylist.py
中执行from utils.globalvar import ...
相关问题 更多 >
编程相关推荐