大家好我刚刚开始学习python并遇到了一个问题: 我正在写一个卡片游戏的代码,Whistful Hearts。 在这个游戏中有13个回合和4个玩家,每个玩家周围都会玩一张牌并且最高牌赢得比赛,并且获胜者领先下一轮。 所以,如果第一轮的订单是1234,并且所玩的牌是[2,3,10,A] 因此,玩家4赢得第一轮,下一轮的订单将是4123,并且玩的牌是[5,1,8,Q]。我只是想知道如何跟踪哪个牌被哪个牌手玩过,比如在第二轮玩家4玩5,玩家1玩1 ......等等,以及每轮玩的第一,第二......等等 如果不够清楚我很抱歉:(
答案 0 :(得分:1)
你可以使用元组列表,每个元组的第一个元素是玩家编号,第二个是玩牌,例如。
round1 = [(1, 2), (2, 3), (3, 10), (4, 'A')]
round2 = [(4, 5), (1, 1), (2, 8), (3, 'Q')]
然后你会有一个轮次列表来代表游戏的13轮:
rounds = [[(1, 2), (2, 3), (3, 10), (4, 'A')],
[(4, 5), (1, 1), (2, 8), (3, 'Q')],
...
[(3, 2), (4, 10), (1, 'K'), (2, 'J')]
也可以仅记录每一轮的球员数量,因为假设比赛始终在同一方向进行,剩下的球员可以从第一轮进行。您可以使用自定义类,命名元组,或者甚至通过将引导播放器存储在每个循环列表的第一个元素中来实现它,但我认为这会使它比它需要的更复杂。
P.S。标准套牌中没有1
张卡。