0

我必须制作一个纸牌游戏,其中起始玩家在每轮或迷你轮后改变(由我决定)但我不知道如何在 2 名玩家之间交替。在线阅读后,我尝试使用 itertools 中的循环功能,但这会产生更多问题......

问题是我不知道如何在不弄乱程序的其余部分(显示玩家的手和计分系统)的情况下在 2 名玩家之间交替

提前澄清一下,只要我不在起始玩家之间交替,我将提供的代码片段就可以完美地工作。

代码:

print("Player 1, your cards are: ", hands[0])
print("Player 2, your cards are: ", hands[1])

在这种情况下,如果我使用循环功能,我希望手索引相应地更改为播放器。

if cards.bigger_card(hands[0][play_1 - 1], hands[1][play_2 - 1], trump[0][1]) == 0:
    print("Congrats Player 2! You won this mini round.")
    score["score_2"] += 1
else:
    print("Congrats Player 1! You won this mini round.")
    score["score_1"] += 1

此处分数应根据赢得该回合的玩家更新。

4

1 回答 1

1

我不确定我是否充分理解了你的问题。但我会试试的。

要简单地在两个索引之间交替 ie 0, 1,您可以添加一个变量来存储当前轮次并像这样交替它:

currentTurn = 0
def switchTurn():
  return (currentTurn + 1) % 2

用法:

print(currentTurn)
# output: 0

switchTurn()
print(currentTurn)
# output: 1

print(hands[currentTurn])
# output player 2nd's hands (or cards)
于 2021-12-09T17:04:21.227 回答