1

我目前正在用 Python 制作游戏,现在我想添加一个商店。

我想用一个变量来做到这一点。我知道如何添加变量以及如何更改它们,但不知道如何增加或减少变量。

实际上我以前从未使用过变量。我读过它,但我记不太清了。

def level1():
os.system('cls')
gold = 500
print
print 'You have currently',
print (gold),
print 'gold'
time.sleep(3)
level2()

def level2():
print
print 'Congratulation! You completed the quest! You received 200 gold.'
time.sleep(2)
gold =+ 200
print 'You have now',
print (gold),
print 'gold.'
time.sleep(5)

结果是:

您目前有 500 金币

恭喜!你完成了任务!你获得了 200 金币。你现在有200金币。

我尝试了金 + 200、金 += 200 和金 =+ 200,但只有最后一个有效。

我也试过

print 'You have now' + gold + 'gold'

但由于某种原因,这不起作用。我也试过

print 'You have now' + (gold) + 'gold'

我不太确定这里出了什么问题,如果能得到所有帮助,我将不胜感激!

非常感谢。

编辑:

我忘了添加我的问题的很大一部分。我为此感到抱歉!

==================================================== =================================

在商店里,我会以不同的价格出售多种商品。并非所有物品都在游戏开始时可用。因此,我想要一个项目来检查用户有多少金币。如果用户的金币低于 x,则他无法购买该物品。

如果等级达到 04 级,该特定项目将被解锁。

4

1 回答 1

2

它应该是gold += 200而不是gold =+ 200

其次,它似乎gold是每个函数的局部变量,即分配gold给 500 inlevel1()不会将其设置为 in 的那个值level2。您需要将其作为参数传递,或者将其作为全局变量。

作为参数传递:

def level1(gold) :
  # do your stuff here
  level2(gold)

def level2(gold) :
  # do your stuff here

# entry point of your application
if __name__ == "__main__" :
  # initialize `gold` here
  gold = 500
  level1(gold)

要使用全局实例:

# global variable 
gold = 500

def level1() :
  # specify that you want to use the global instance of gold
  global gold
  # do your stuff here

def level2() :
  global gold
  # do your stuff here
于 2013-08-07T22:25:28.833 回答