如何全局使用python中的对象?

2024-09-29 23:30:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python做一个基于文本的rpg游戏,作为一个自我项目。你知道吗

文件中有一个名为Character的类夏比在文件中创建一个播放器对象mapAndclasses.py文件. 对于战斗序列,我把它放在一个单独的文件中,我需要从mapAndclasses.py文件. 但是,我不知道如何全局使用对象。有可能吗?谢谢;-;!!你知道吗

你知道吗夏比你知道吗

#Char.py
class character:
def __init__(self,name,job,level,exp,curHp,maxHp,mana,strength,defence,magic,baseCrit,coordsX,coordsY):
    self.name = name
    self.job = job
    self.level = int(level)
    self.exp = float(exp)
    self.curHp = int(curHp)
    self.maxHp = int(maxHp)
    self.mana = int(mana)
    self.strength = int(strength)
    self.defence = int(defence)
    self.magic = int(magic)
    self.baseCrit = int(baseCrit)
    self.coordsX = int(coordsX)
    self.coordsY = int(coordsY)

def getCharacterInfo(self):
    print("Name:", self.name, "\t\tLevel:", self.level)
    print("Job:", self.job, "\t\tExperience:", self.exp)
    print("HP:",self.curHp, "/", self.maxHp)
    print("Mana:", self.mana)
    print("Str:",self.strength)
    print("Def:", self.mana)
    print("Magic:", self.mana)
    print("Base Crit:", self.baseCrit)

你知道吗mapAndclasses.py文件你知道吗

# Load player
def loadPlayer():

saveArray = []
with open("savefile.txt") as f:

    for line in f:
        var,val = line.strip().split("=")
        saveArray.append(val)

    f.close();

global inventory
inventory = Inventory.load()

global player
# player = name, job, level, exp, curhp, maxhp, mana, strength, defence, magic, baseCrit, x, y

player = character(saveArray[0],saveArray[1],saveArray[2],saveArray[3],
saveArray[4],saveArray[5],saveArray[6],saveArray[7],
saveArray[8],saveArray[9],saveArray[10], saveArray[11], saveArray[12])

# playerCoords = [row,column]
# player always starts from the left
global playerCoords
playerCoords = [player.getCoordsX(), player.getCoordsY()]

print("\nWelcome back " + saveArray[0])

Tags: 文件namepyselfjoblevelstrengthint
2条回答

创建一个新的Python文件,比如vars.py,并将所有变量放在那里。你知道吗

然后import vars它将是全局的。我希望这对你有帮助!你知道吗

  1. 在同一目录中创建一个新的空文件__init__.py。(这只是将目录标记为一个包,即告诉Python它可以从这里获取导入)。你知道吗
  2. fightSequence.py的顶部或您所称的任何地方,通过编写以下命令导入变量:import mapAndclasses.py。你知道吗
  3. 通过像mapAndclasses.variableName那样引用变量来使用它。你知道吗

相关问题 更多 >

    热门问题