Python中的扑克牌游戏,实现轮次处理
我正在写一个扑克游戏,但在创建一个处理回合的功能时遇到了问题。这个功能需要让一个玩家加注,然后另一个玩家跟注,再然后再加注,依此类推。我不太确定该怎么组织这个逻辑。目前我有这样的代码:
def turn(playerBank,label):
#playerBank is just the player's balance (whoever's turn it is) and label is just tkinter text.
win.getMouse()
action = ent.getText()
if action == 'check':
pass
elif action == 'call':
playerBank = playerBank - cashMoney
pool = pool + cashMoney
elif action == 'raise':
cashMoney = cash.getText()
playerBank = playerBank - cashMoney
pool = pool + cashMoney
elif action == 'fold':
break
我该如何让每个玩家轮流进行两次操作呢?如果一个玩家加注了,应该让这个过程再循环一次,这样另一个玩家就可以选择跟注或者弃牌等等?
1 个回答
0
首先想到的就是用布尔值。可以写一个函数来检查回合是否完全结束,再写一个布尔值来检查玩家是否加注。
这个布尔值叫做playerRaise,初始值是false,表示还没有玩家加注。只有当所有玩家都对加注做出反应时,它才会变成true。你可以通过玩家的数量来检查有多少人回应了加注。每当有玩家加注时,这个计数就会重置。
checkTurn这个函数就是用来检查playerRaise是否变成了false。如果是false,那就说明这个回合肯定结束了。
我只是随便想想,但这似乎是个可行的解决方案,你觉得怎么样?