我目前正在编写一个函数来在Python3中玩Connect Four。我在很多方面都取得了不错的进步,但是在两名球员之间交替出现问题。
我想做的是运行一个函数,该函数会将筹码放置在当前玩家playturn(curr)的适当位置。所以我想说的是,虽然没有平局,没有赢家,但这场比赛将继续进行,并在两名玩家之间交替进行。
如果是玩家1的回合curr=1
,如果是玩家2的回合curr=2
。
我当前的代码不起作用,因为如果没有平局或没有获胜者,则不允许我在每个回合之后在玩家之间切换。我的逻辑是,如果curr=1
最初为1,那么在第一步之后我必须设置curr=2
。然后,当curr=2
时,我必须将curr equal切换回1。在下面的代码中,checkforwinner
和checkfortie
是两个函数,如果没有获胜者并且没有平局,它们将返回False。 playturn(curr)
将根据Player1或Player2选择的列将筹码放置在正确的列中。
curr=1
while checkforwinner==False and checkfortie==False:
if curr==1:
curr==2
print(playturn(curr))
if curr==2:
curr==1
print(playturn(curr))
有人可以解释为什么此代码不起作用以及如何解决该问题吗?
最佳答案
如果checkforwinner
和checkfortie
是函数,则需要在它们后面加上括号:
while checkforwinner()==False and checkfortie()==False:
另外,正如@jspcal所指出的那样,您希望使用单个“ =”分配值,并且仅将“ ==”用于布尔比较。
关于python - 在连接四个python游戏中的玩家之间交替,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50110321/