Загрузка данных


# === ОСНОВНАЯ ПРОГРАММА ===
print('Игра "Крестики-Нолики"')

while True:
    print('Каким знаком вы будете играть? (X или O)')
    playerLetter = input().upper()
    while playerLetter not in ['X', 'O']:
        print('Пожалуйста, введите X или O')
        playerLetter = input().upper()
    
    if playerLetter == 'X':
        computerLetter = 'O'
    else:
        computerLetter = 'X'
    
    # Определение первого хода
    if random.randint(0, 1) == 0:
        turn = 'компьютер'
    else:
        turn = 'игрок'
    print('Первым будет ходить ' + turn)
    
    board = [' '] * 10  # индекс 0 не используется
    
    gameEnded = False
    while not gameEnded:
        if turn == 'игрок':
            drawBoard(board)
            print('Ваш ход (1-9): ')
            try:
                move = int(input())
            except ValueError:
                print('Введите число от 1 до 9')
                continue
            
            if move < 1 or move > 9 or board[move] != ' ':
                print('Некорректный ход. Выберите свободную ячейку от 1 до 9.')
                continue
            
            board[move] = playerLetter
            
            if isWinner(board, playerLetter):
                drawBoard(board)
                print('Поздравляю!!! Вы победили в игре!')
                gameEnded = True
            elif isBoardFull(board):
                drawBoard(board)
                print('Ничья. В следующий раз сыграете лучше!')
                gameEnded = True
            else:
                turn = 'компьютер'
        
        else:  # ход компьютера
            move = getComputerMove(board)
            board[move] = computerLetter
            
            if isWinner(board, computerLetter):
                drawBoard(board)
                print('Компьютер победил! Вы поиграли...')
                gameEnded = True
            elif isBoardFull(board):
                drawBoard(board)
                print('Ничья. В следующий раз сыграете лучше!')
                gameEnded = True
            else:
                turn = 'игрок'
    
    print('Вы хотите сыграть еще раз? (да или нет)')
    answer = input().lower()
    if answer != 'да':
        break