我正在制作一款基于文本的地板游戏。我希望所有的移动功能是在一个单独的python文件,但我有问题,让他们一起工作。
我的主游戏名为floors.py
,地图文件为floormap.py
。
我可以从floormap.py
中导入和运行floors.py
中的函数。
但我不知道如何在运行floormap.py
函数后返回floors.py
函数。下面是一个例子。当我运行这个命令时,我在终端中得到以下错误:
NameError: global name 'first_hall_1' is not defined
我确实得到这个工作使用:
from floormap import first_hall_1
但是我可以找到一种方法让函数再次在原始文件中被调用。
Floors.py:
import floormap
def first_hall_object():
grab = raw_input("Enter Command > ")
backward = ['back', 'Back', 'Backward', 'backward']
if any (s in grab for s in backward):
first_hall_1()
def walkin_hall():
print "whatever"
floormap.py:
import floors
def first_hall_1():
print "You are in front of the door again. It is locked."
walkin_hall()
您需要用模块名称floormap
来限定first_hall_1
。
def first_hall_object():
grab = raw_input("Enter Command > ")
backward = ['back', 'Back', 'Backward', 'backward']
if any (s in grab for s in backward):
floormap.first_hall_1() # <-----
walkin_hall()
调用相同:
def first_hall_1():
print "You are in front of the door again. It is locked."
floors.walkin_hall()