Python中的扑克游戏,转弯

Python中的扑克游戏,转弯,python,poker,Python,Poker,我正在写一个扑克游戏,我很难创建一个轮次函数,其中一个玩家可以提高,然后另一个玩家调用,然后再次提高,然后是另一个等等。我不知道如何组织这个。到目前为止,我有: 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.getT

我正在写一个扑克游戏,我很难创建一个轮次函数,其中一个玩家可以提高,然后另一个玩家调用,然后再次提高,然后是另一个等等。我不知道如何组织这个。到目前为止,我有:

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

我如何让它两圈,每个玩家一圈,但是如果一个玩家举起,允许它再次循环,以便另一个玩家可以选择呼叫或折叠。。。等等?

首先想到的是使用布尔值。制作一个函数来检查回合是否完全结束,并制作另一个布尔值来检查玩家是否已经升起

布尔playerRaise在玩家加薪之前为假,只有当所有玩家都响应加薪时才变为真。你可以通过使用玩家数量和测量有多少回应来检查这一点。每当玩家举起球时,此项重置

函数checkTurn只会检查playerRaise是否变为false,因为如果它为false,那么我们就可以确定该回合已经完成


我只是想大声说出来,但这似乎是一个可行的解决方案,你觉得怎么样?

我的建议?跟踪每个人投入的总赌注和到目前为止的最大赌注,然后无限期循环直到你找到一个总赌注正好是最大值的玩家。其他人必须呼叫/提高/折叠。你还可以追踪每个人是否都有一个回合来处理盲目下注的情况。最大值是多少?到目前为止最高的下注。在一个有大小盲板的游戏中,该值从大盲板开始,如果没有盲板,则从零开始。然后在加码或初始下注时更改该值。反复循环你的玩家,直到你找到一个没有折叠的玩家,他的总赌注等于最大值。这意味着他们不需要打电话/举起/折叠。听起来不错。然而,让我们假设第一个玩家提高。然后,第二名球员也会打电话和加薪。现在,我必须得到第一个玩家的回应。这可能会循环一段时间,所以我不确定我能去哪里。第一个玩家提升->playRaise=true |检查回合->它循环,因为playRaise=true |第二个玩家提升->playRaise=true+重置要响应的玩家数量|检查回合->它循环,因为playRaise=true我想如果你问的是这样的话,循环会起作用。。。?