I'm making a text-based rpg game in Python as a self-project.
I have a class called Character inside the file char.py and a player object is created from it inside the file mapAndclasses.py . For the fight sequence, which I put in a separate file, I need to obtain the Character object from mapAndclasses.py . However, I have no idea how to use objects globally. Is it possible to do so? thank you ;-;!!
Char.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])