Мы продолжаем написание шахматных алгоритмов. На этом уроке мы будем защищать короля от ШАХа.
Дата отправки отчёта:
1 марта 2018 г.
Задание выполнено: за
2 час. 55 мин.
Чему научился:
всё понятно
Что было сложным:
ничего
Оценка видео-уроку:
Оцени работу
Сохранить страницу:
Отчёт оценивали: 8275. Tekashnik+11. Евгений Волосатов+16452. Кирилл Шмойлов+116218. Дмитрий+19980. Timoha+13922. Александр+1459. Сергей Сергеевич+110558. Иван Воронин+116533. Андрей Шевченко+14395. Денис+18932. Алекс+19156. Dimon+11901. Neverwinter 2+11710. Степан+116568. Игорь Тюлькин+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Подготовил FEN для тестирования;
Дописал функцию Chess().YieldValidMoves();
Реализовал функции IsCheckAfterMove(), CanEatKing(), FindBadKing() и IsCheck() в классе Board();
Доработал функцию Moves().CanKingCastle();
Создал конструктор FigureMoving() для пустого хода;
Протестировал работу до мата. Трудности: Ничего. Ждем большого тестирования =)
Научился: Оказалось, что проверка на шах ломает введённое копирование параметров из board в nextBoard, так что пока вернул ресурсоёмкую генерацию всех параметров при пересоздании доски, но позже вернусь к этому вопросу.
Ещё нашёл и исправил ошибку с упущенными скобками, которые не позволяли ладье совершить рокировку. Ничто так не позволяет понять строение проекта, как дебаггинг :)