По заданным координатам двух клеток шахматной доски необходимо определить список шахматных фигур, которые могут перемещаться при игре за «белых» по правилам шахмат из первой координаты во вторую без взятия фигуры соперника.
Напомним, что для игры в шахматы используется доска размером 8х8. При этом горизонтальная координата нумеруется английскими буквами от «A» до «H», а вертикальная – цифрами от 1 до 8 снизу вверх. Таким образом, координата клетки состоит из буквы и цифры. Например, «H1» и «A8» – правый нижний и левый верхний углы соответственно.
Всего существует 6 шахматных фигур: ладья, слон, конь, ферзь, король и пешка. Опишем правила выполнения хода без взятия на свободной доске:
король ходит на расстояние 1 по вертикали, горизонтали или диагонали; ферзь ходит на любое расстояние по вертикали, горизонтали или диагонали; ладья ходит на любое расстояние по вертикали или горизонтали; слон ходит на любое расстояние по диагонали; к
Программа
{
покажись;
в_точку ( -125 ,-100 );
опусти_перо;
вперед ( 100 );
вправо ( 90 );
вперед ( 50 );
вправо ( 90 );
вперед ( 100 );
подними_перо;
в_точку ( -55 ,-50 );
опусти_перо;
вперед ( 50 );
влево ( 90 );
вперед ( 27 );
влево ( 90 );
вперед ( 50 );
влево ( 90 );
вперед ( 27 );
подними_перо;
в_точку ( -10 ,-100 );
опусти_перо;
вправо ( 105 );
вперед ( 52 );
вправо ( 150 );
вперед ( 52 );
вправо ( 15 );
подними_перо;
в_точку ( 35 ,-50 );
опусти_перо;
вперед ( 50 );
влево ( 150 );
вперед ( 54 );
вправо ( 150 );
вперед ( 50 );
подними_перо;
в_точку ( 80 ,-50 );
опусти_перо;
вперед ( 50 );
влево ( 180 );
вперед ( 25 );
вправо ( 90 );
вперед ( 27 );
влево ( 90 );
вперед ( 25 );
влево ( 180 );
вперед ( 50 );
подними_перо;
в_точку ( 125 ,-100 );
опусти_перо;
вправо ( 195 );
вперед ( 52 );
вправо ( 150 );
вперед ( 52 );
вправо ( 15 );
влево ( 90 );
подними_перо;
в_точку ( 125 ,-75 );
опусти_перо;
вперед ( 27 );
подними_перо;
в_точку ( 175 ,-100 );
}