0

私は、ラウンドごとに 1 から 3 の間の数字を選択し、2 人の対戦相手もそうするという出力を得ようとしています。プレーヤーの番号が一意である場合、プレーヤーはその数のステップを進めます。他のプレイヤーも同じ番号を選択した場合、それらのプレイヤーはどちらも移動しません。最初に 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

しばらく試してみましたが、うまくいかないようです.さまざまなスタイルとそれにアプローチする方法についてさまざまな方法を試しています...しかし、これはこれまでに思いついた中で最も安定したものです...

出力例 = Choice = プレイヤーからの入力 (私)

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 に答える