我正在尝试创建一个RPG游戏,并且让代码更加简洁。我遇到了一个我无法解决的问题,而且我也对它进行了一些研究,但似乎无法解决这个问题。如何从导入文件中的函数导入列表?
我有我的主要代码为DragonFightingRPG.py
与我在同一目录(prints.py
和options.py
)导入的其他文件。 我想从另一个文件中导入一个列表,因此它可以检查用户是否输入了其中一个答案,并且可以相应地回答。
DragonFightingRPG.py
import prints
import options
class Player(object):
def __init__(self):
self.name = None
self.gold = None
self.maxhealth = 100
self.health = 100
def get_name(self):
self.name = input("Hey there! What's your name?\n~~> ")
print("Nice name, {0}!".format(self.name))
def give_gold(self):
print("Since you are new around here, 100 gold doubloons have been given to you!")
self.gold = 100
def gold_counter(self):
print("You currently have {0} gold!".format(player.gold))
player = Player()
def start():
player.get_name()
player.give_gold()
gold_counter()
prints.intro()
def gold_counter():
while True:
option = input("Do you want to see your balance?\n~~> ").upper()
if option in {options.yes_opt}:
print("You currently have {0} gold.".format(player.gold))
elif option in {options.no_opt}:
print("You can check your balance later in the game.")
else:
print("Please try again.")
continue
break
start()
prints.py
class Player(object):
def __init__(self):
self.name = None
self.gold = None
self.maxhealth = 100
self.health = 100
def get_name(self):
self.name = input("Hey there! What's your name?\n~~> ")
print("Nice name, {0}!".format(self.name))
def give_gold(self):
print("Since you are new around here, 100 gold doubloons have been given to you!")
self.gold = 100
def gold_counter(self):
print("You currently have {0} gold!".format(player.gold))
def intro():
print("Narrator: Uhhhm...")
print("N: Let me check my list...")
print("N: Ah! Yes! {0}, that's right. I heard you were supposed to be arriving today.".format(player.name))
print("N: Welcome to... THE DRAGON FIGHTER GAME!")
print("N: I know, it isn't the most imaginative name.")
print("N: Don't look at me like that, I tried my hardest!")
print("N: Anywho, let's carry on.")
print("N: For some stupid reason, the creator of this game didn't give me an actual name, so\nmy name is just \"Narrator\" or \"N\".")
print("N:")
player = Player()
options.py
def yes_opt():
{"Y", "YE", "YES", "YEAH", "PLEASE", "YES PLEASE"}
def no_opt():
{"N", "NO", "NOPE"}
的我正在努力的部分是elif option in {options.no_opt}:
和if option in {options.yes_opt}:
。它可以工作,如果我只是在主代码中输入列表,但我想尝试从其他文件导入它。有什么想法吗?
当你想要的清单进口的,你为什么把它放在一个函数? 'yes_opt = {“Y”,“YE”,“是”,“YEAH”,“请”,“是请”}'有什么问题? – dhke