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

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

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

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

  • Мы продолжаем написание шахматных алгоритмов.
    На этом уроке мы будем защищать короля от ШАХа.
  • Дата отправки отчёта: 9 марта 2018 г.
  • Задание выполнено: за 1 час. 28 мин.
  • Чему научился: Повторил теорию линейного мата)
  • Что было сложным: Поставить мат)
  • Оценка видео-уроку:
Отчёт от 14981 за Шахматы по сети / Алгоритмы. Защита короля




Оцени работу

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

8380. --
zhikharevav
zhikharevav
ответить
→  DimanDOS  # Шахматы по сети / Алгоритмы. Защита короля / 2018-03-11 09:52

Молодец!!!  До  этого  отчёта  не  знал  о  линейном  мате,  так  что  сразу  полез  в  википедию  и  прочитал,  что  это  такое,  так  что  теперь  немного знаю об этом ))) Если честно, то прочитав выражение "линейный мат", решил, что это о русском мате, и подумал, что урок сложный попался ))))) Спасибо, в общем )))))))


  • Отчёт оценивали:
    6452Кирилл Шмойлов+1   17443WildOrc+1   1Евгений Волосатов+1   16533Андрей Шевченко+1   8932Алекс+1   16218Дмитрий+1   459Сергей Сергеевич+1   8275Tekashnik+1   10558Иван Воронин+1   14854Madoschi0   5502Антон Кравченко0   3922Александр+1   10494Алексей В.+1   9156Dimon+1   16880Константин+1   9014Николай Денисов+1   16396Денис+1   8380zhikharevav+1  

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





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

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

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

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


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



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