Мы приступаем к написанию шахматных алгоритмов. На этом уроке мы добавил в класс Board() необходимые свойства и реализуем парсинг передаваемого FEN.
Дата отправки отчёта:
18 июля 2018 г.
Задание выполнено: за
2 час. 29 мин.
Чему научился:
Красивому способу распарсить FEN, когда был на марафоне не понял его логику работы, сейчас при дебаге в голове прояснилось. Так же понравился метод Init() и фраза что комментарий нужно заменить понятным методом. Так же узнал про правило 50 ходов, про которое ранее не знал. Разбор видео Гарри Поттера тоже зашел) Использование видео попадает под добросовестное использование, ютуб ничего не скажет. А тут источник откуда эта идея появилась у Поттера: zen.yandex.ru/media/history_world/krovavye-shahmaty-inkvizitora-5a9fb94e8c8be3ce579424db
Что было сложным:
Мне все не давало покоя исправление в рабочем методе CanMoveFrom() и я взял обе части сравнения, получил их хеши и результат на скрине.
Трудности: Понять, как строка "lines[7 - y][x]" возвращает символ 114 'r'. Забыл, что мы раскладываем fen-нотацию, которая уже разложилась в массив. Пытался искать по всем классам эти данные. Как понял, оказалось, что это было очевидно.
Научился: Мне до сих пор эти шахматы кажутся небольшой магией и главное малым количеством кода - я в восхищении. Трудности: Да ничего. Я воспользовалься сниппетом forr - который формирует строку for от большего к меньшему и поэтому той проблемы как при ручном вводе я не получил. И вообще свойства с приватным сетом формирую через сниппет propg - быстро и удобно.