首页 > 解决方案 > 如何修复井字游戏检查赢功能中的运行时错误

问题描述

我正在使用 SimpleGUI 为我的 CompSci 类在 python 2 中编写井字游戏。我设置了一个二维数组,因此每当玩家在画布上的某个区域内单击时,它都会在该区域绘制一个 X 或一个 O,并且还将写入要设置为该字母的数组元素之一。这很好用。我定义了一个函数来检查数组的每一行以检查玩家是否赢了,它看起来像这样:

def checkRows():
    if len(set(grid[0])) == 1:
        winner = grid[0][0]
    if len(set(grid[1])) == 1:
        winner = grid[1][0]
    if len(set(grid[2])) == 1:
        winner = grid[2][0]

此外,我有一个计数器,每次填充一个正方形时递增一,最后有一个 while 循环运行 checkRows 函数,而计数器小于 9(因为 9 是需要填充的最大正方形数一名玩家获胜)。看起来像这样:

while counter < 9:
    checkRows()
    if winner == "X":
        frame.add_label("X wins!", 100)
    elif winner == "O":
        frame.add_label("O Wins!", 100)

每次我运行代码时,它都会引发运行时错误,说“TimeLimitError:程序超出运行时间限制。”,有时在函数的第一行,有时在函数的第二行。有谁知道这可能是什么原因?

标签: python

解决方案


推荐阅读