首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保持一个要在整个程序中读写的经验变量(python 3)

保持一个要在整个程序中读写的经验变量(python 3)
EN

Stack Overflow用户
提问于 2014-06-26 20:26:51
回答 1查看 41关注 0票数 0

在我的“游戏”中,我一直试图找到一种方法来获得一个经验变量,而这正是我想要去工作的。我最近发现,我能够导入我创建的不同的Python文件,这使得文件更加整洁,而不是把所有的东西都放在一个文件中。不过,我想我很难弄清楚如何让全局变量工作。如果有人可以给我一个解决方案,而不用使用外部模块,或创建一个单独的文件,这将是很好的。我希望所有变量都留在.py文件中。

这是我认为有用的东西。也许它会起作用,我只是不知道如何正确地去做。我希望有三个(或更多)文件。文件1将是主文件。这将有主菜单,并允许玩家去其他事件。文件2将包含变量player_experience,并将等于0(但将添加到整个游戏中)。文件3+将是可以完成的事件,作为回报,提供经验。我需要这个经验变量能够在所有文件中被读取,并且可以在任何需要的时候被添加到其中。

我认为,通过在所有文件的顶部使用“全局player_experience”可以使此工作,但我无法让它工作。

如果有任何不同,我只是在我的文件中使用定义。例如:

代码语言:javascript
复制
#file1.py
print('what do you want to do? 1 - game, 2 - check experience')
donow = input()
if donow == '1':
    game() 
if donow == '2':
    check_experience() #just pretend this is defined somewhere

check_experience函数只会打印出玩家的体验。但我希望这个功能能够在所有文件中使用。(我认为只要在文件中定义函数,并在需要时导入函数,就可以做到这一点)

代码语言:javascript
复制
#file2.py
print('yay you beat the game, here's 500 experience')
player_experience += 500
print('You now have',player_experience,'experience.')

很抱歉,如果这是一个常见的问题,我已经尝试做了我自己的研究,但我无法找到任何东西,不创建一个单独的配置类型文件,这是有点超出我的能力。我很感激给予我的任何帮助,如果我能做些什么使这成为一个“更好”的问题,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2014-06-26 21:38:02

您需要导入您的迷你游戏功能,并使用它来更新主文件中的全局体验变量。

/main.py

代码语言:javascript
复制
from minigame import game
exp = 0
exp += game()
print(exp)

/minigame.py

代码语言:javascript
复制
def game():
    '''This function can not reference `exp`. If `exp` were defined in
    this module, it'd be a different `exp` in a different namespace.'''
    score = 0
    ...
    return score
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24439615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档