#02 Программирование шахмат на C# - Позиции и направления
00:00 Начало работы над проектом • Приветствие и объявление темы видео: «Шахматная логика». • Создание проекта пользовательского интерфейса Chess. • Удаление первого класса и создание перечисления Player. 00:58 Перечисление игроков • Перечисление Player используется для запоминания хода игрока и цвета фигур. • Значения перечисления: None, White, Black. • Значение None полезно в случае ничьей. 01:30 Метод расширения для игрока • Добавление статического класса PlayerExtensions и метода opponent. • Метод opponent возвращает оппонента игрока. • Использование switch для компактности кода. 04:03 Класс позиции • Класс Position представляет позицию на доске. • Свойства: строка и столбец. • Конструктор, принимающий строку и столбец. 05:07 Метод цветового оформления квадратов • Метод возвращает значение Player по сумме строк и столбцов. • Если сумма чётная, квадрат белый, если нечётная — чёрный. 06:09 Реализация equals и хэш-кода • Перезапись equals и получение хэш-кода для использования класса Position в словаре. • Генерация операторов с помощью Visual Studio. 07:24 Класс направления • Класс Direction представляет направление движения фигур. • Конструктор инициализирует значения разности строк и столбцов. • Переопределение операторов + и * для сложения и масштабирования направлений. 10:26 Основные направления • Создание направлений: север, юг, восток, запад. • Диагональные направления: северо-восток, северо-запад, юго-восток, юго-запад. 12:42 Операция + для позиции и направления • Перегрузка оператора + для позиции и направления. • Возврат новой позиции после одного шага в заданном направлении. 13:53 Заключение • Подведение итогов: использование классов Position и Direction для выражения ходов. • Анонс следующей части: создание классов для фигур и шахматной доски.
00:00 Начало работы над проектом • Приветствие и объявление темы видео: «Шахматная логика». • Создание проекта пользовательского интерфейса Chess. • Удаление первого класса и создание перечисления Player. 00:58 Перечисление игроков • Перечисление Player используется для запоминания хода игрока и цвета фигур. • Значения перечисления: None, White, Black. • Значение None полезно в случае ничьей. 01:30 Метод расширения для игрока • Добавление статического класса PlayerExtensions и метода opponent. • Метод opponent возвращает оппонента игрока. • Использование switch для компактности кода. 04:03 Класс позиции • Класс Position представляет позицию на доске. • Свойства: строка и столбец. • Конструктор, принимающий строку и столбец. 05:07 Метод цветового оформления квадратов • Метод возвращает значение Player по сумме строк и столбцов. • Если сумма чётная, квадрат белый, если нечётная — чёрный. 06:09 Реализация equals и хэш-кода • Перезапись equals и получение хэш-кода для использования класса Position в словаре. • Генерация операторов с помощью Visual Studio. 07:24 Класс направления • Класс Direction представляет направление движения фигур. • Конструктор инициализирует значения разности строк и столбцов. • Переопределение операторов + и * для сложения и масштабирования направлений. 10:26 Основные направления • Создание направлений: север, юг, восток, запад. • Диагональные направления: северо-восток, северо-запад, юго-восток, юго-запад. 12:42 Операция + для позиции и направления • Перегрузка оператора + для позиции и направления. • Возврат новой позиции после одного шага в заданном направлении. 13:53 Заключение • Подведение итогов: использование классов Position и Direction для выражения ходов. • Анонс следующей части: создание классов для фигур и шахматной доски.




