Python的新手,我的代码有什么问题?如何让游戏存储黄金值,并开始新的迭代,直到用户退出?



我知道这可能还不够,但我正在尝试创建一个掷骰子游戏,如果你掷了某个数字,它会添加到另一个变量中,就像游戏中的货币一样。我在关于添加gold的elif语句中不断收到无效语法错误。

import random 
num = random.randint(1, 7)
def dice_roll():
gold = 0
if num == 2:
gold = (gold + 2)
gold = gold
print (gold)
print ('You Win!')
else:
print ('Loser')
dice_roll()

我将您的代码封装在一个小类中,并进行了一些更改。我为用户累积的黄金量保留了一个全局计数器

import random
class RollGame:
def __init__(self, gold_increment=2):
self.accumulated_gold = 0
self.gold_increment = gold_increment
def dice_roll(self):
num = random.randint(1, 7)
if num == 2:
self.accumulated_gold = self.accumulated_gold + self.gold_increment
print 'Accumulated Gold: {}'.format(self.accumulated_gold)
print ('You Win!')
else:
print ('Loser')
def play(self):
while True:
choice = raw_input('play? (Y/N)  ')
if choice in ['y', 'Y']:
self.dice_roll()
game = RollGame()
game.play()
game_2 = RollGame(gold_increment=9)  # if you want gold to increment by 9 each time

示例游戏:

play? (Y/N)  y
Loser
play? (Y/N)  y
Loser
play? (Y/N)  y
Accumulated Gold: 2
You Win!
play? (Y/N)  y
Loser

最新更新