Формулировка задания: "Определить,
допустим ли указанный ход пешкой в
заданной корректной шахматной позиции.
Заметим, что если после вашего хода ваша
пешка атакована, то ваш ход недопустим".
Постановка:
Дана шахматная доска 8x8 полей и две
группы фигур – «черные» и «белые». Обе
группы имеют одинаковый состав (по 16
фигур): 1 король, 1 ферзь, 2 слона, 2 коня,
2 ладьи и 8 пешек.
Подзадачи:
Задать шахматную расстановку;
Проверить корректность шахматной
расстановки;
Проверить возможность хода одной из 8
белых пешек: если клетка, на которую
должна быть переставлена пешка, занята,
то ход считать недопустимым. Иначе
проверить, находится ли клетка, на
которую должна быть переставлена пешка,
в области атаки какой-либо из черных
фигур. Если находится, то считать ход
недопустимым, иначе – допустимым.
Соглашения:
В решении задачи будем использовать
каноническую шахматную разметку доски
по горизонталям и вертикалям: вертикали
от ‘a’ до ‘h’
слева направо, горизонтали – от 8 до 1
сверху вниз;
Будем использовать нумерацию клеток
парой вертикаль – горизонталь без
разделения названия вертикалей и
горизонталей дополнительными символами,
например, a1, h7 и т.д.;
Фигурами игрока будем считать белые
фигуры, фигурами противника – черные;
Шахматной расстановкой будем считать
размещение белых и черных фигур на
шахматной доске;
Канонической шахматной расстановкой
будем считать следующее расположение
фигур:
Для белых:
Король – e1;
Ферзь – d1;
Слон №1 – c1;
Слон №2 – f1;
Конь №1 – b1;
Конь №2 – g1;
Ладья №1 – a1;
Ладья №2 – h1;
Пешки №1-8 – a2, b2, c2, d2, e2, f2, g2,
h2;
Для черных:
Король – e8;
Ферзь – d8;
Слон №1 – f8;
Слон №2 – c8;
Конь №1 – g8;
Конь №2 – b8;
Ладья №1 – h8;
Ладья №2 – a8;
Пешки №1-8 – h7, g7, f7, e7, d7, c7, b7,
a7;
Нумерация белых и черных
фигур является «зеркальной» (см. п. 5);
Корректной шахматной расстановкой
будем считать расстановку фигур, в
которой каждая фигура стоит на одной
из 64 клеток, и ни на какой клетке не
стоят две фигуры;
Будем считать, что любой ход белой пешки
в заданной расстановке является первым,
т.е. белая пешка может сделать ход на 1
или 2 клетки вперед из исходного
положения;
Исключим из рассмотрения «взятие на
проходе», т.к. данный элемент является
тактическим приёмом и в шахматных
правилах предусмотрено использование
«взятия на проходе» только для
канонической шахматной расстановки.