如何在玩家之间进行轮换

2024-09-23 21:26:04 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有list个玩家,list_of_players = [1,2,3,4],每个数字代表一个玩家。基本上,我想做的是每次run变为True(在程序中,每次按回车键run都变为true)时,通过while run:传递每个播放器。所以第一回合我希望player变成1,当循环中断,你再按回车键时,我希望player变成2等。当它到达player=4时,我希望4通过循环,将player=4重置为player=1(第二回合)。我试过很多方法,但都不管用。所以问题是我该怎么做? 感谢所有的帮助。你知道吗

    while run:
        message.append(display_turn(player))
        new_position = return_postion(player) + int(rolled_number[-1])
        updating_position(player,new_position)
        if level_1[return_postion(player)]== 15:
            message.append('You landed on a trap')
            updating_health(player,0,15)
        break

Tags: ofrunmessagenewreturn玩家positionlist
1条回答
网友
1楼 · 发布于 2024-09-23 21:26:04

你在找模运算符

max_players = 4

player = 0

while True:
    print("player {} turn".format(player+1))

    input("enter for next {}".format("player" if player + 1 < max_players else "round"))
    player = (player + 1) % max_players

输出

player 1 turn
enter for next player 
player 2 turn
enter for next player 
player 3 turn
enter for next player 
player 4 turn
enter for next round 
player 1 turn
enter for next player 
player 2 turn
enter for next player 
player 3 turn
enter for next player 
player 4 turn
enter for next round  
...

相关问题 更多 >