Проверка на выход из рабочего поля двумерного массива шахматного поля 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()