Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем проверку может ли Knight пойти с одной клетки на другую.
Дата отправки отчёта:
19 июля 2018 г.
Задание выполнено: за
14 мин.
Чему научился:
Убрал немного лишних скобок, по сравнению с вариантом ЕВ где их нет вообще. Но не все
Что было сложным:
Тут нужно понимать приоритеты логических операций. По идее && выполняется первой, а потом ||. Но чтоб точно было все без разночтений пару скобок решено оставить.
Научился: Добавил на доску белого и чёрного коней
Реализовал функцию Moves().CanKnightMove()
Доработал функцию CanFigureMove()
Протестировал работу текущего функционала
Научился: Изменил FEN доски (добавил только коней для теста);
Остальное была ДЗ: Реализовал функцию возможности хода коня Moves().CanKnightMove();
Изменил функцию CanFigureMove();
Протестировал работу;
Пока оставил свой вариант хода коня, ошибок пока не было;
...
return (fm.AbsDeltaX >= 1 && fm.AbsDeltaX <= 2 && fm.AbsDeltaX + fm.AbsDeltaY == 3);
...
Убедился в правильности своих ответов на предыдущий вопрос про сложность реализации. Трудности: Легко, было сделано самостоятельно.