Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Шахматы по сети / Алгоритмы. Защита короля

  • Мы продолжаем написание шахматных алгоритмов.
    На этом уроке мы будем защищать короля от ШАХа.
  • Дата отправки отчёта: 12 сентября 2018 г.
  • Задание выполнено: за 16 час. 12 мин.
  • Чему научился: Дописал функцию Chess().YieldValidMoves()
    Реализовал функцию Board().IsCheckAfterMove()
    Реализовал вспомогательную функцию Board().CanEatKing()
    Реализовал вспомогательную функцию Board().FindBadKing()
    Доработал функцию Moves().CanKingCastle()
    Реализовал конструктор FigureMoving() для пустого хода
    Реализовал функцию Board().IsCheck()
    Протестировал работу текущего функционала
  • Что было сложным: Всё норм
  • Оценка видео-уроку:
Отчёт от 18783 за Шахматы по сети / Алгоритмы. Защита короля




Оцени работу

 
Сохранить страницу:

  • Отчёт оценивали:
    3922Александр+1   10670Сергей Соколов+1   17606Виктор+1   18681alklokov+1   18493Evgenii Kudriavtcev+1   9913vip+1   1295Дмитрий Че+1   19475Konstantin+1   4814Дмитрий+1   6452Кирилл Шмойлов+1   9752chokayes+1   17947Dmitry Sinitsin+1   16218Дмитрий+1   18131Александр+1   7119Новопашин Владимир+1   16548Hofflin+1   791Валерий Жданов+1   1Евгений Волосатов+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Подготовил FEN для тестирования; Дописал функцию Chess().YieldValidMoves(); Реализовал функции IsCheckAfterMove(), CanEatKing(), FindBadKing() и IsCheck() в классе Board(); Доработал функцию Moves().CanKingCastle(); Создал конструктор FigureMoving() для пустого хода; Протестировал работу до мата.
Трудности: Ничего. Ждем большого тестирования =)



Научился: Оказалось, что проверка на шах ломает введённое копирование параметров из board в nextBoard, так что пока вернул ресурсоёмкую генерацию всех параметров при пересоздании доски, но позже вернусь к этому вопросу. Ещё нашёл и исправил ошибку с упущенными скобками, которые не позволяли ладье совершить рокировку. Ничто так не позволяет понять строение проекта, как дебаггинг :)