Новое видео

00:00 Введение Обсуждение сценариев при которых ни у одного из игроков не остаётся фигур для мата. Пример: если у обоих игроков остался только король игра никогда не закончится. Решение: игра должна завершиться ничьей из-за недостаточного количества фигур. 01:01 Создание класса Counting Класс Counting хранит информацию о количестве фигур каждого типа у обоих игроков. Добавляются словари для белых и чёрных фигур. Ключ словаря тип фигуры значение количество фигур этого типа. Также добавляется свойство для общего количества фигур на доске. 02:04 Конструктор и метод increment В конструкторе добавляются записи для каждого типа фигур в оба словаря. Метод increment увеличивает количество фигур соответствующего типа в зависимости от цвета. Увеличивается общее количество фигур. 03:42 Методы white и black Метод white возвращает количество белых фигур определённого типа. Метод black возвращает количество чёрных фигур определённого типа. 04:43 Метод count pieces Метод count pieces возвращает количество всех активных фигур на доске. Создаётся новый счётчик и проходится по всем занятым позициям на доске. Для каждой позиции увеличивается счётчик для цвета и типа фигуры. 05:54 Метод insufficient material Метод insufficient material возвращает true если оставшихся фигур недостаточно для мата. Проверяются различные сценарии: только короли король и слон против короля король и конь против короля король и слон против короля и слона. Для проверки сценариев используются вспомогательные методы. 13:08 Проверка на окончание игры В классе состояния игры проверяется достаточно ли оставшихся фигур для мата после каждого хода. Если нет устанавливается результат как ничья с причиной недостаток материала. 14:00 Тестирование и заключение Тестирование сценариев король против короля король против короля и слона король против короля и коня король и слон против короля и слона. Обсуждение мёртвых позиций когда ни один из игроков не может поставить мат. Анонс следующего видео о добавлении нового правила для ничьей в таких партиях.,
Присоединяйтесь к обсуждению
Новое видео