#07 Программирование шахмат на C# - Обработка ходов

00:00 Введение • Завершение генерации возможных ходов для шахматных фигур. • Обучение текущего игрока выбирать и выполнять ход. • Процесс: игрок нажимает на фигуру, программа подсвечивает возможные ходы, игрок выбирает ход. 00:33 Отмена хода • Возможность отмены хода путём повторного нажатия на ту же фигуру или на клетку, на которую фигура не может переместиться. 01:03 Добавление сетки для подсвеченных квадратов • Создание сетки highlight grid для отображения зелёных квадратов, показывающих возможные ходы. • Размещение сетки над сеткой с фигурами. • Задание размеров сетки: 8 строк и столбцов. 01:44 Обработка нажатия на клетку • Регистрация обработчика события mouse down для сеток с фигурами. 02:16 Структура данных • Добавление двумерного массива прямоугольников для подсвеченных квадратов. • Использование словаря move cache и переменной selected position. 03:17 Процесс перемещения фигуры • Игрок нажимает на фигуру, её положение сохраняется в selected position. • Запрос у игрового состояния возможных ходов для выделенной фигуры. • Сохранение ходов в кэше и отображение их на экране с помощью подсвеченных квадратов. 04:07 Создание подсвеченных квадратов • Метод Initialize board для создания подсвеченных квадратов. • Добавление прямоугольников в массив highlights и сетку подсвеченных квадратов. 05:13 Методы для работы с кэшем ходов • Метод cache moves для сохранения допустимых ходов в кэше. • Метод show highlights для отображения подсвеченных квадратов. • Метод highlight to transparent для скрытия подсвеченных квадратов. 08:05 Обработка ввода пользователя • Обработчик события mouse down для сетки доски. • Преобразование точки щелчка в позицию на доске с помощью метода to square position. 10:38 Обработка выбора фигуры • Методы on from position selected и on to position selected в зависимости от выбранной фигуры. • Получение допустимых ходов для фигуры на выбранном квадрате. 13:13 Выполнение хода • Метод handle move для выполнения хода и перерисовки игрового поля. 14:33 Добавление курсоров • Создание двух курсоров: белого и чёрного для обозначения очереди хода. • Загрузка курсоров с помощью потока и настройка их размера. 17:40 Установка курсоров • Метод set cursor для установки курсора в зависимости от текущего игрока. • Вызов метода в конструкторе при запуске игры и после хода. 19:03 Заключение • Проверка работы игры. • Упоминание о проблеме с недопустимыми ходами и обещание исправить её в следующей части.

Иконка канала Ленинский Букварь
256 подписчиков
12+
4 просмотра
месяц назад
12+
4 просмотра
месяц назад

00:00 Введение • Завершение генерации возможных ходов для шахматных фигур. • Обучение текущего игрока выбирать и выполнять ход. • Процесс: игрок нажимает на фигуру, программа подсвечивает возможные ходы, игрок выбирает ход. 00:33 Отмена хода • Возможность отмены хода путём повторного нажатия на ту же фигуру или на клетку, на которую фигура не может переместиться. 01:03 Добавление сетки для подсвеченных квадратов • Создание сетки highlight grid для отображения зелёных квадратов, показывающих возможные ходы. • Размещение сетки над сеткой с фигурами. • Задание размеров сетки: 8 строк и столбцов. 01:44 Обработка нажатия на клетку • Регистрация обработчика события mouse down для сеток с фигурами. 02:16 Структура данных • Добавление двумерного массива прямоугольников для подсвеченных квадратов. • Использование словаря move cache и переменной selected position. 03:17 Процесс перемещения фигуры • Игрок нажимает на фигуру, её положение сохраняется в selected position. • Запрос у игрового состояния возможных ходов для выделенной фигуры. • Сохранение ходов в кэше и отображение их на экране с помощью подсвеченных квадратов. 04:07 Создание подсвеченных квадратов • Метод Initialize board для создания подсвеченных квадратов. • Добавление прямоугольников в массив highlights и сетку подсвеченных квадратов. 05:13 Методы для работы с кэшем ходов • Метод cache moves для сохранения допустимых ходов в кэше. • Метод show highlights для отображения подсвеченных квадратов. • Метод highlight to transparent для скрытия подсвеченных квадратов. 08:05 Обработка ввода пользователя • Обработчик события mouse down для сетки доски. • Преобразование точки щелчка в позицию на доске с помощью метода to square position. 10:38 Обработка выбора фигуры • Методы on from position selected и on to position selected в зависимости от выбранной фигуры. • Получение допустимых ходов для фигуры на выбранном квадрате. 13:13 Выполнение хода • Метод handle move для выполнения хода и перерисовки игрового поля. 14:33 Добавление курсоров • Создание двух курсоров: белого и чёрного для обозначения очереди хода. • Загрузка курсоров с помощью потока и настройка их размера. 17:40 Установка курсоров • Метод set cursor для установки курсора в зависимости от текущего игрока. • Вызов метода в конструкторе при запуске игры и после хода. 19:03 Заключение • Проверка работы игры. • Упоминание о проблеме с недопустимыми ходами и обещание исправить её в следующей части.

, чтобы оставлять комментарии