Мы продолжаем написание шахматных алгоритмов. На этом уроке мы будем защищать короля от ШАХа.
Дата отправки отчёта:
17 марта 2018 г.
Задание выполнено: за
12 час. 26 мин.
Чему научился:
Программировать проверку шаха
Что было сложным: Понять сак работает метод IsCheck(); Слишком уж фантастично все получается Непонятно, почему в качестве самостоятельного задания указано: 1. (no items)
В методе CanEatKing() неудачное имя Square badKing На мой взгляд следовало бы назвать Square squareForBadKing
Да, такое имя будет более точным. Описание уроков делает Иван, он за мной не поспевает, а вы его уже догнали.
Отчёт оценивали: 6452. Кирилл Шмойлов+117443. WildOrc+18932. Алекс+110558. Иван Воронин+1459. Сергей Сергеевич+11. Евгений Волосатов+1791. Валерий Жданов+18275. Tekashnik+14814. Дмитрий+19014. Николай Денисов+19156. Dimon+111582. Родион+116396. Денис+116533. Андрей Шевченко+116218. Дмитрий+19913. vip+110494. Алексей В.+12639. Морозов Юрий Александрович+113417. Chip+116066. Bodrik_torf+116880. Константин+19980. Timoha+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Подготовил FEN для тестирования;
Дописал функцию Chess().YieldValidMoves();
Реализовал функции IsCheckAfterMove(), CanEatKing(), FindBadKing() и IsCheck() в классе Board();
Доработал функцию Moves().CanKingCastle();
Создал конструктор FigureMoving() для пустого хода;
Протестировал работу до мата. Трудности: Ничего. Ждем большого тестирования =)
Научился: Оказалось, что проверка на шах ломает введённое копирование параметров из board в nextBoard, так что пока вернул ресурсоёмкую генерацию всех параметров при пересоздании доски, но позже вернусь к этому вопросу.
Ещё нашёл и исправил ошибку с упущенными скобками, которые не позволяли ладье совершить рокировку. Ничто так не позволяет понять строение проекта, как дебаггинг :)