そこで、Monopoly を Python で作成することにしましたが、プレイヤーの場所を更新するのに問題があります。プレイヤーを反復処理し、それぞれのサイコロを振ってから、プレイヤーの位置を更新する for ループを作成しました。問題は、ロケーション変数が最新のロケーションを保持していないことです。for ループの開始時に 0 にリセットされ続けます。これが私のコードです:
player1location = 0
def turn(numberPlayers, player, player1location, Board):
for player in range(numberPlayers):
player = 'Player'+str(player+1)
print 'It\'s', player, 'turn!'
print player1location
rollDice = raw_input('Press Enter to roll the dice!')
diceRoll = random.randint(1,6)
print player, 'rolled a', diceRoll
player1location = player1location + diceRoll
print 'You landed on', player1location
print '\n'
while True:
turn(numberPlayers, player, player1location, Board)
必要に応じてさらに多くのコードを提供できますが、プレイヤーの位置を制御するのはこれだけだと思います。ありがとう!
編集:どうやら、グローバル変数ではなくローカル変数を変更しているようです。代わりにグローバル変数を変更するにはどうすればよいですか?