Ну я вижу это так:
1. Создаем массив описывающий щахматную доску:
Код:
Var
Desk: Array[0..7,0..7] of Integer;
Выбираем тип Integer потому-что тогда мы сможем записать в ячейку номер хода.
Заполняем массив Desk нулями.
2. Создаем массив из 8 элементов описывающих возможные ходы относительно текущей позиции на шахматной доске:
Код:
Const
MoveDir: Array[1..8] of TPoint = ((X:2;Y:1),(X:1;Y:2),(X:-1;Y:2),(X:-2;Y:1),(X:-2;Y:-1),(X:-1;Y:-2),(X:1;Y:-2),(X:2;Y:-1));
Далее в бесконечном цикле начинаем проверять, является ли значение ячейки при ходе коня 0.
Это конечно очень куцее описание, но я думаю немножко поможет.