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'

そしてあなたの休憩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 に答える