1

但是在我赢了比赛之后,(我每次都有电脑打印号码)电脑不断地挑选号码,试图获得一个位置,即使没有剩下的了。我不知道该怎么做,非常感谢任何帮助。

if board[computer] != 'X' and board[computer] != 'O':
        print computer
        board[computer] = 'O'
    else:
        while board[computer] == 'O' or board[computer] == 'X':
            computer = random.randint(0, 8)
            print computer
            if board[computer] != 'X' and board[computer] != 'O':
                board[computer] = 'O'
                break
4

2 回答 2

1

你需要看看你的逻辑......

你的时候说...board[computer] == 'O' or board[computer] == 'X'

和你的 break if 语句:

if board[computer] != 'X' and board[computer] != 'O':

既不检查董事会是否已满。

您需要循环浏览您的“板”并检查它是否已满

例如...

emptyposition = True
for position in board :
    if not position == Null : # Your board position is empty 
        emptyposition = False


if not emptyposition :
    break
于 2012-11-29T02:52:31.540 回答
0

一开始,游戏还没有结束。当有人获胜时,游戏就结束了。当打出 9 个棋子时,游戏结束。如果游戏结束了,就不要再玩了。

于 2012-11-29T02:48:23.870 回答