0

我试图得到一个输出,即每一轮你选择一个介于 1 和 3 之间的数字,你的两个对手也是如此。如果一个玩家的号码是唯一的,那么他们会向前走那么多步。如果另一个玩家也选择了相同的数字,那么这些玩家都不会移动。第一个获得10或更多胜利的玩家,但可能有2或3个玩家同时过线,在这种情况下将有多个获胜者分享荣耀。


到目前为止我所拥有的。

def test():
print("Me\t\tPositions: 0\nGabriel\t\tPositions: 0\nJoy\t\tPositions: 0")
scoreLimit = 10       
wins = {"Me":'0', "Gabriel":'0', "Joy":'0'}

randomGuessP1 = randrange(1, 4) 
randomGuessP2 = randrange(1, 4)  

meGuess = input("Choices: ")
if meGuess != randomGuessP1 or randomGuessP2:
    meGuess += wins[key] --doesn't work.
for key in wins:
    print(key, wins[key])    
scoreLimit = 10

现在已经尝试了一段时间,但我似乎无法做到正确..我一直在改变不同的风格和不同的方法来处理它......但这是迄今为止我想出的最稳定的......

示例输出 = 选择 = 来自玩家(我)的输入

Me Position: 0
Gabriel Position: 0
Joy Position: 0
Choice: 2
Me : 2 -> 2
Gabriel : 3 -> 0
Joy : 3 -> 0
Choice: 3
Me : 3 -> 2
Gabriel : 1 -> 1
Joy : 3 -> 0
Choice: 3
Me : 3 -> 5
Gabriel : 1 -> 1
Joy : 1 -> 0
Choice: 2
Me : 2 -> 7
Gabriel : 1 -> 1
Joy : 1 -> 0
Choice: 1
Me : 1 -> 8
Gabriel : 2 -> 3Joy : 3 -> 3
Choice: 2
Me : 2 -> 8
Gabriel : 2 -> 3
Joy : 3 -> 6
Choice: 3
Me : 3 -> 11
Gabriel : 2 -> 5
Joy : 1 -> 7
The winner is: Me

真的不想要任何勺子喂食,但它会很好,如果不是,指向正确方向的点将是可爱的:)

4

1 回答 1

0

您需要Me为您的字典使用密钥,而不仅仅是“密钥”:

meGuess = input("Choices: ")
if meGuess != randomGuessP1 or randomGuessP2:
    meGuess += wins['Me'] # use 'Me' rather than key

至于您的游戏,您可以使用外循环进行多轮:

while max(wins.values()) < scoreLimit: # loop until someone has scoreLimit wins
    # your game logic goes here:
于 2013-07-20T14:12:22.670 回答