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

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

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

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

  • Мы продолжаем написание шахматных алгоритмов.
    На этом уроке мы будем защищать короля от ШАХа.
  • Дата отправки отчёта: 15 июня 2024 г.
  • Задание выполнено: за 7 час. 8 мин.
  • Чему научился: Прогнал через дебагер игру и сейчас получается, что из-за проверки на шах и потенциального хода, который запускает функцию Move, а та в свою очередь запускает конструктор NextBoard, где задаются жизненно важные для игры состояния помимо самой доски, доска, а следовательно и все остальное пересоздается перед каждой проверкой любого потенциального хода из ранее оставшихся. Странно, что программа вообще работает, там ведь и генерация FEN и цвет игрока и номер хода и много чего ещё. Выглядит так себе.
  • Оценка видео-уроку:
Отчёт от 37216 за Шахматы по сети / Алгоритмы. Защита короля




Оцени работу

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

  • Отчёт оценивали:
    25450MaxB+1   3506Алексей|BrisK|Кривицкий+1  

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





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

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

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

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


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



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