好的,我正在为一个学校项目做一个文本迷宫游戏。 我用x位置和y位置的列表来定义世界障碍,列表中的值的位置可以用来匹配这两个值并创建坐标。 这可能更有效,但至少它是有效的。现在,我通过将玩家和敌人的X和Y值保存在两个变量中来跟踪他们。这也很好。你知道吗
然而,为了使移动工作,我使用了一个功能,首先检查是否有任何地形的球员想要去。这很好,但问题是我不知道如何从函数中修改全局变量“PlayerX”和“PlayerY”。你知道吗
我已经尝试过“global”关键字,但是它让编写代码变得有点困难,因为每当我用协作者编写新的东西时,我都需要注意它。我还阅读了其他一些我认为可以解决同样问题的主题,但似乎没有一个真正适合我的问题(或者更可能的情况:我不能很好地理解它,以至于我可以适当地将它应用到我的问题中)
def UpMove():
reference = []
listPosition = 0
movePossible = False
for x in worldObsY:
if x == playerY + 1:
reference.append(listPosition)
listPosition += 1
for x in reference:
if worldObsX[x] == playerX:
movePossible = False
else:
movePossible = True
if movePossible == True:
print ("You moved")
return playerY + 1
else:
print ("There's terrain there. Try a different way")
return playerY
只需对X和Y值进行全局编辑就非常方便了。我想尝试把变量放在我的运动循环中(直到玩家死了或者走出迷宫为止),但是这个问题似乎有一个非常简单的解决方案,我只是没有看到,所以在我尝试各种愚蠢的东西之前,我想我会在这里提出一个问题。。。你知道吗
好吧,只是不要使用全局变量。你可以这样把它们传过来:
相关问题 更多 >
编程相关推荐