Проверка на выход из рабочего поля двумерного массива шахматного поля Python

Условие такое: пользователь вводит координаты расположения коня и ферзя на шахматной доске, закончить программу после столкновения их друг с другом. Занимаюсь с двумерными списками первый раз. Для того чтобы проверить входит ли в поле моя фигура я прописал условие при котором (как я думаю) будет проверка на то, чтобы фигура не выходила за пределы поля, а если выходит, то поменять координаты на противоположные. Выдает ошибку на 52 строке: TypeError: '<' not supported between instances of 'list' and 'str' Кто-нибудь подскажите как проверить не выходит ли моя фигура за игровое поле и как сделать, чтобы "Ферзь" бил коня по обратной главной диагонали(т.е. Ферзь на точках 8 8, Конь 1 1 и Ферзь его не бьет)

import os
import time
import random


def cout():
    os.system('cls||clear')
    for line in range(10):
        print(*a[line])


a = [['_|', 1, 2, 3, 4, 5, 6, 7, 8],
     ['  ________________'],
     ['1|', 0, 0, 0, 0, 0, 0, 0, 0],
     ['2|', 0, 0, 0, 0, 0, 0, 0, 0],
     ['3|', 0, 0, 0, 0, 0, 0, 0, 0],
     ['4|', 0, 0, 0, 0, 0, 0, 0, 0],
     ['5|', 0, 0, 0, 0, 0, 0, 0, 0],
     ['6|', 0, 0, 0, 0, 0, 0, 0, 0],
     ['7|', 0, 0, 0, 0, 0, 0, 0, 0],
     ['8|', 0, 0, 0, 0, 0, 0, 0, 0]]
cout()

queenY = int(input('Введите координату Ферзя по Oy: ')) + 1
queenX = int(input('Введите координату Ферзя по Ox: '))
queenY1 = queenY
queenX1 = queenX
a[queenY][queenX] = 1
cout()

horseY = int(input('Введите координату Коня по Oy: ')) + 1
horseY1 = horseY
horseX = int(input('Введите координату Коня по Ox: '))
horseX1 = horseX
a[horseY][horseX] = 2
cout()
list_horseX = [-2, 2]
list_horseY = [-1, 1]
for i in range(10 - 1, -1, -1):

    if (queenX == horseX or queenY == horseY or queenX + queenY == 9):
        queenY = horseY
        queenX = horseX
        a[queenY][queenX] = 1
        a[queenY1][queenX1] = 0
        cout()
        print('Ферзь побил Коня')
        exit(0)

    queenX += random.randrange(-5, 5)
    queenY += random.randrange(-5, 5)
    if a[0:1] < a[queenX] <= a[2:9][7] and a[0:2] <= a[queenY] <= a[9]:
        queenY = queenY
        queenX = queenX
    else:
        queenX = -queenX
        queenY = -queenY

    queenX1 = queenX
    queenY1 = queenY
    a[queenY][queenX] = 1
    a[queenY1][queenX1] = 0

    horseX = horseX + random.choice(list_horseX)
    horseY = horseY + random.choice(list_horseY)
    if a[1] <= a[horseX] <= a[2:9][8] and a[2] <= a[horseY] <= a[9]:
        horseX = horseX
        horseY = horseY
    else:
        horseY = -horseY
        horseX = -horseX
    a[horseY1][horseX1] = 0
    a[horseY][horseX] = 2
    horseY1 = horseY
    horseX1 = horseX

    if horseX == queenX and horseY == queenY:
        cout()
        print('Конь побил Ферзя')
        exit(0)

    time.sleep(1)
    cout()   

Ответы (0 шт):