# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
3 теста |
|||
Мы начинаем создание клиент-серверной программы для игры в Шахматы по сети. Это комплекс программных решений с исользованием: C#, ASP.NET, MS-SQL, EF, Unity В результате мы создадим сервер, через который клиенты смогут играть друг с другом в шахматы со смартфона. Записаться на курс Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 8 мин. [Показать отчёт] Научился: Урок 1. |
|||||
2 | Доска. Установка Unity 3D |
|
|||
Цель этого урока - установить Unity и набрать несколько строчек шахматных терминов. Скачать Unity3D: unity3d.com/ru Набрать шахматные термины: videosharp.info/console/task/level=1766 Скачать архив с картинками: https://yadi.sk/d/irBRduLp3SseXY Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 16 мин. [Показать отчёт] Научился: Урок 2 |
|||||
3 | Доска. Фигуры |
|
|||
На этом уроке мы разместим доску с фигурами. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 24 мин. [Показать отчёт] Научился: Done! |
|||||
4 | Доска. Состояния переноса |
|
|||
На этом уроке мы начнём процесс Drag-n-Drop и обсудим все состояния, через которые проходит объект в процессе переноса. Создадим скрипт, класс, перечисление, конструктор и метод Action. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 15 мин. [Показать отчёт] Научился: Done! |
|||||
5 | Доска. Подцеп фигуры |
|
|||
На этом уроке мы найдём фигуру, по которой кликнул пользователь. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 24 мин. [Показать отчёт] Научился: Done! |
|||||
6 | Доска. Смещение |
|
|||
На этом уроке мы допишем перенос фигуры и учтём смещение при клике. Теперь вы сможете разыграть любую партию - сделайте скриншот интересной позиции! Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 13 мин. [Показать отчёт] Научился: Done! |
|||||
7 | Доска. Запуск на Windows |
|
|||
На этом уроке мы создадим независимый билд (рабочая версия) нашей игры для платформы Windows. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 8 мин. [Показать отчёт] Научился: Done! |
|||||
8 | Доска. ПЕРВЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Мы закончили первую часть курса, создали шахматную доску, запустили её на Windows. Напишите отзыв о первой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 3 мин. [Показать отчёт] Научился: Done! |
|||||
9 | Доска. VIP. Запуск на Android |
|
|||
На этом уроке мы запустим нашу доску на операционной системе Android. Приготовьте свой планшет/телефон и приступайте к эскпорту и запуску! * Выполнять этот урок не обязательно. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 23 мин. [Показать отчёт] Научился: Done! |
|||||
10 | Доска. VIP. Запуск в Интернете |
|
|||
На этом уроке мы отправим наш проект в Интернет. Для этого мы воспользуемся технологией WebGL. Генерация страницы занимает продолжительное время. Засеки момент начала и напиши в отчете сколько времени это заняло. * Выполнять этот урок необязательно. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 24 мин. [Показать отчёт] Научился: Done! |
|||||
11 |
![]() |
1 тест |
|||
На этом уроке мы познакомимся с архитектурой проекта, посмотрим на предстоящее путешествие с высоты птичьего полёта. Задание: написать, что для вас в этом плане самое простое, а что - самое сложное. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 28 мин. [Показать отчёт] Научился: Есть базовый опыт с Unity и немного ООП на C#. Купил курс ради практики ООП и клиент-сервера как раз. Так что здесь пока всё туманно. |
|||||
12 | Классы. Шахматная библиотека |
2 теста |
|||
На данном уроке мы начинаем создание шахматных классов на языке C#, которые позволят проверять правила игры. Для этого мы напишем библиотеку, которая сможет для любой шахматной позиции определить возможность любого хода. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 7 мин. [Показать отчёт] Научился: Done! Сложности: Не понимаю, как вывести доску. Догадываюсь, что надо преобразовать fen и расставить через двойной цикл. |
|||||
13 | Классы. Цветная фигура |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы рассмотри схему библиотеки dll, которая поможет нам сориентироваться в дальнейших действиях. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 день 2 час. 51 мин. [Показать отчёт] Научился: Done! |
|||||
14 | Классы. Квадратная площадь |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим структуру классов с минимально необходимым кодом. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 56 мин. [Показать отчёт] Научился: Done! |
|||||
15 | Классы. Фигурой марш! |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим классы для хранения и перемещения фигур по клеткам. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 20 мин. [Показать отчёт] Научился: Done! |
|||||
16 | Классы. Квадратная матрица |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим класс Board(), который будет заниматься доской и работать с FEN. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 19 час. 13 мин. [Показать отчёт] Научился: Done! |
|||||
17 | Классы. Стой, кто идёт! |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим класс Moves(), который будет заниматься проверкой возможности хода. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 40 мин. [Показать отчёт] Научился: Done! |
|||||
18 | Классы. Шахматная бюрократия |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы допишем класс Chess(). Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 14 мин. [Показать отчёт] Научился: Done! Сложности: Долго не мог разобраться с возвращаемым значением Fen для класса Chess. По идее, если он первичен, и дальше через его конструктор идёт создание новой доски, и уже туда посылается новый Fen, то не очень понятно зачем мы из класса Board берём значение Fen. Проверил, что может быть в момент хода используется ссылка напрямую Board.Fen, но нет, оттуда только проверка на цвет делается. К тому же нам путанится наблюдается. В вашем случае при инициализаци конструктора Chess(string fen) внутри него создаётся new Board (fen) - т.к. у вас и поле класса и название параметра с маленькой буквы, долго не мог какое значение берётся, но ведь берётся же в этом случае приоритет из параметра. А параметр fen по-умолчанию задан на стандартную позицию. Тогда зачем нужно поле Fen классу Chess, оно уже получается дублируется. Короче, я там поменял немного результат в расчёте на то, что каждый ход будет пересоздаваться класс Chess, и уже через него всё остальное. Если что потом переделаю обратно. |
|||||
19 | Классы. Консольная доска |
1 тест |
|||
Мы приступаем к написанию тестов для нашей библиотеки. На этом уроке мы создадим функционал для отображения доски и исправим старую ошибку копипаста. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 6 мин. [Показать отчёт] Научился: Done! Ткну пальцем в небо -- сложнее всего запрограммировать пешку, потому что у неё максимально не стандартное движение. Во-первых у неё есть строгий вектор движения. Плюс в зависимости от атаки и/или взятия на проходе, её ход может быть диагональным, т.к. атака это тоже ход в случае шахмат. А легче всего короля\ладью, в зависимости от того, учитывать ли шахи. Если без их учёта, думаю что короля, т.к. там тупо +1 во все стороны по прямой. Если с учётом, тогда потребуется дополнительная логика и, вероятно, проще будет ладья, т.к. там во все стороны по прямой до конца доски или встречи фигуры противоположенного класса. |
|||||
20 | Классы. ВТОРОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Мы создали все основные классы нашего проекта. Твоя задача - нарисовать UML схему созданных классов. Нарисовать схему значительно проще, когда проект уже готов. Поэтому задание не сложное, но очень, очень полезное и нужное. Используй иерархическую структуру Solution Explorer в VisualStudio. Нарисовать можно от руки, либо в сервисе draw.io. Можно использовать любой другой *не автоматический* инструмент рисования. Важно сделать это самостоятельно, а не сгенерить программой! Поэтому рисуй сам. * Не забывайте потом дорисовывать схему в процессе добавления новых методов в классах. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 38 мин. [Показать отчёт] Научился: Done! Сложности: Разобраться в соединениях одних классов с другими. |
|||||
21 | Алгоритмы. Волшебные шахматы |
1 тест |
|||
Мы приступаем к написанию шахматных алгоритмов. На этом уроке мы добавил в класс Board() необходимые свойства и реализуем парсинг передаваемого FEN. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 2 час. 56 мин. [Показать отчёт] Научился: Done! Сложности: Понять, как строка "lines[7 - y][x]" возвращает символ 114 'r'. Забыл, что мы раскладываем fen-нотацию, которая уже разложилась в массив. Пытался искать по всем классам эти данные. Как понял, оказалось, что это было очевидно. |
|||||
22 | Алгоритмы. Сборка фена |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем формирование текущей позиции в формате FEN. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 56 мин. [Показать отчёт] Научился: Done! Сложности: Перестала компилироваться программа. Никаких ошибок, ничего. В итоге чего я только не делал. Оказалось в ChessDemo функция Main НЕ была static. При этом до этого урока всё отлично работало. Не понимаю, что изменилось... |
|||||
23 | Алгоритмы. Генератор ходов |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы начинаем реализацию проверок можно ли пойти с одной клетки на другую. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 54 мин. [Показать отчёт] Научился: Done! Сложности: Осознание процесса реализации yield функции в разных местах программы и то как это записывается. |
|||||
24 | Алгоритмы. Куда идёт Король |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем проверку может ли King пойти с одной клетки на другую. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 36 мин. [Показать отчёт] Научился: Done! Проверка для коня: return FigureMoving.AbsDeltaX == 2 && FigureMoving.AbsDeltaY == 1 || FigureMoving.AbsDeltaY == 2 && FigureMoving.AbsDeltaX == 1; |
|||||
25 | Алгоритмы. Ночью с Конём |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем проверку может ли Knight пойти с одной клетки на другую. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 5 мин. [Показать отчёт] Научился: Done! |
|||||
26 | Алгоритмы. Дальнобойщики |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы переходим к дальнобойным фигурам. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 39 мин. [Показать отчёт] Научился: Done! |
|||||
27 | Алгоритмы. Храбрая пешка |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы приступаем к реализации алгоритмов самой сложной фигуры: Pawn. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 44 мин. [Показать отчёт] Научился: Done! Сложности: До решения, самым сложным было представить, как разбить действие пешки в рамках одной функции, но в итоге в очередной раз выяснилось, что мы ничем не ограничены и ничего нам не мешает вернуть логическое условие сразу с тремя методами. |
|||||
28 | Алгоритмы. Четвёртое превращение |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем превращение Pawn в одну из четырёх фигур: Queen, Knight, Bishop и Rook. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 35 мин. [Показать отчёт] Научился: Done! |
|||||
29 | Алгоритмы. Рефакторинг на доске |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы займёмся рефакторингом. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 31 мин. [Показать отчёт] Научился: Done! Сложности: Не понятно в чём фишка неизменяемости класса внутри класса. Зачем это, что даёт, где можно про этом подробнее почитать. |
|||||
30 | Алгоритмы. Допрыгалась! |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы займёмся взятием пешкой на проходе. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 57 мин. [Показать отчёт] Научился: Done! Сложности: Представить, что я могу сделать это всё самостоятельно. |
|||||
31 | Алгоритмы. Королевский паркур |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем рокировку. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 17 час. 21 мин. [Показать отчёт] Научился: Done! |
|||||
32 | Алгоритмы. Защита короля |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы будем защищать короля от ШАХа. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 7 час. 8 мин. [Показать отчёт] Научился: Прогнал через дебагер игру и сейчас получается, что из-за проверки на шах и потенциального хода, который запускает функцию Move, а та в свою очередь запускает конструктор NextBoard, где задаются жизненно важные для игры состояния помимо самой доски, доска, а следовательно и все остальное пересоздается перед каждой проверкой любого потенциального хода из ранее оставшихся. Странно, что программа вообще работает, там ведь и генерация FEN и цвет игрока и номер хода и много чего ещё. Выглядит так себе. |
|||||
33 | Алгоритмы. Шах и Мат! |
|
|||
Мы заканчиваем написание шахматных алгоритмов. На этом уроке мы реализуем возврат ситуации на доске. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 41 мин. [Показать отчёт] Научился: Done! |
|||||
34 | Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК |
|
|||
На этом уроке мы исправим одну ошибку и добавим ещё один вариант метода GetFigureAt(string xy). Ваше задание - записать подробный отзыв об алгоритмической части проекта. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 11 мин. [Показать отчёт] Научился: Как я уже писал ранее -- единственное что смущает, это реализация проверки ходов на шах, где создаётся новый Move. При том, что Move отвечает не только за генерацию новой доски, но и служебные функции. И при этом новый Move создаётся перед проверкой КАЖДОГО потенциального хода, коих могут быть десятки. Я не эксперт, но кажется что это мега расточительно и вообще не правильно. В остальном нахожусь под большим впечатлением. Очень лаконичные решения. Хочется продолжать дальше :-) |
|||||
35 | Алгоритмы. VIP. Шахматное супертестирование |
|
|||
На этом уроке мы проверим корректность ваших алгоритмов. Для этого мы прогоним супер-тест по генерации всех вариантов. * Выполнять этот урок необязательно. Ссылка: Сайт с результатами тестирования Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 8 мин. [Показать отчёт] Научился: Done Сложности: Разобраться как работает рекурсивный алгоритм |
|||||
36 | Алгоритмы. VIP. Можно пройти? |
|
|||
На этом уроке мы немного порефакторим и добавим очень полезную функцию. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 4 мин. [Показать отчёт] Научился: Done! |
|||||
37 | Алгоритмы. VIP. Как пройти в библиотеку |
|
|||
На этом уроке мы подготовим библиотеку ChessRules. Для этого мы скомпилируем её в необходимой версии .NET и проверим работоспособность в Unity проекте. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 21 мин. [Показать отчёт] Научился: Done! Сложности: Привет из 2024. Начал проект на .Net Core. Framework'a вообще не было в списке. Разобрался, как его переключить. Потом оказалось что 3.5 устарел, его нет в списке. Минимальный 4.0, благо Unity 2022 поддерживает 4.х, как я узнал из документации. Выставил Net Framework 4.8.1 (последний на сегодня из 4-ки), после чего весь синтаксический новодел отвалился и пришлось ручками править. В итоге всё получилось! |
|||||
38 | Интерфейс. План действий |
|
|||
На этом уроке мы обсудим дальнейший план действий.
Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 56 мин. [Показать отчёт] Научился: Done! |
|||||
39 | Интерфейс. Генерация объектов |
|
|||
На этом уроке мы сгенерируем шахматную доску с базовыми объектами на ней. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 41 мин. [Показать отчёт] Научился: Done! |
|||||
40 | Интерфейс. Начальная позиция |
|
|||
На этом уроке мы добавим ранее созданную библиотеку ChessRules.dll в проект на Unity. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 2 час. 6 мин. [Показать отчёт] Научился: Done! |
|||||
41 | Интерфейс. Ход делегата |
|
|||
На этом уроке мы активируем проверку ходов, которую реализовали в ChessRules.dll. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 21 мин. [Показать отчёт] Научился: Done! |
|||||
42 | Интерфейс. Проверка хода |
|
|||
Мы продолжаем реализацию необходимого функционала для активации проверки ходов на основе ChessRules.dll. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 31 мин. [Показать отчёт] Научился: Done! Вариант реализации. Создать панельку с 4 кнопками, по-умолчанию панелька не активана. Активируется при уведомлении о срабатывании метода Promotion. На панельке 4 кнопку. На всех ивенты по нажатию. Нажатие меняет спрайт и первую букву в зависимости от изображенной фигуры. После чего панелька снова становится неактивной. |
|||||
43 | Интерфейс. VIP. Клетки отправления |
|
|||
Это бонусный урок, выполнять его не обязательно. На данном уроке мы реализуем подсветку тех клеток, с которых можно ходить. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 20 мин. [Показать отчёт] Научился: Done! |
|||||
44 | Интерфейс. VIP. Клетки прибытия |
1 тест |
|||
Это бонусный урок, выполнять его не обязательно. На данном уроке мы реализуем подсветку тех клеток, на которые можно ходить. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 30 мин. [Показать отчёт] Научился: Done! |
|||||
45 | Интерфейс. Щепотка рефакторинга |
1 тест |
|||
На этом уроке мы начинаем подготовку к превращению пешки в одну из четырёх фигур. Для начала проведём небольшой рефакторинг. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 2 час. 53 мин. [Показать отчёт] Научился: Done! |
|||||
46 | Интерфейс. Выставка фигур |
|
|||
На этом уроке мы продолжаем подготовку к превращению пешки в одну из четырёх фигур. Теперь нам надо подготовить фигуры, в которые будем превращать. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 18 мин. [Показать отчёт] Научился: Done |
|||||
47 | Интерфейс. Долгожданное превращение |
|
|||
На этом уроке мы наконец превратим нашу пешку в одну из четырёх фигур. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 35 мин. [Показать отчёт] Научился: Done! Добавить условие через И, что белая пешка может идти только с 7 горизонтали (figure == "P" && e4[1] == '8' && e2[1] == '7'), а чёрная со 2-й. |
|||||
48 | Интерфейс. ЧЕТВЁРТЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о четвёртой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 6 мин. [Показать отчёт] Научился: Я уже был знаком с Unity и в целом ожидал, что здесь конкретно Unity часть скорее всего будет слабой. Так и вышло, но это совершенно не проблема. Более того, мне даже нравится, потому что такой подход позволяет сделать игру практически на чём угодно. То есть с самого начала мне наоборот было интересно, как можно сделать шахматы минимально используя инстументы Unity. И вся эта история с компиляцией и затем импортом библиотеки в движок, это всё мне было очень интересно. Ничего подобного раньше не видел. Жду недождусь, когда дойдём до серверной части, в ней я полный ноль. Благо, осталось совсем ничего :-) |
|||||
49 | База данных. Management в студию! |
|
|||
На этом уроке мы приступаем к созданию БД для нашего сервера шахматы онлайн. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 6 мин. [Показать отчёт] Научился: Done! |
|||||
50 | База данных. Планирование |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы спроектируем схему нашей БД. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 25 мин. [Показать отчёт] Научился: Done! |
|||||
51 | База данных. Упрощение |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы упростим схему нашей БД. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 12 мин. [Показать отчёт] Научился: Хотелось бы промежуточный вариант, чтобы понять, как создавать линки между разными таблицами. |
|||||
52 | База данных. Созидание |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы наконец создадим нашу базу данных для онлайн шахмат. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 14 мин. [Показать отчёт] Научился: Done! |
|||||
53 | База данных. VIP. Таблицы на вырост |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы создадим дополнительные таблицы, которые понадобятся для реализации полноценной онлайн игры. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 33 мин. [Показать отчёт] Научился: Done! |
|||||
54 | База данных. VIP. Красивая диаграма |
|
|||
На данном уроке мы нарисуем диаграмму нашей БД.
Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 15 мин. [Показать отчёт] Научился: Done! |
|||||
55 | База данных. ПЯТЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о пятой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 4 мин. [Показать отчёт] Научился: Очень хорошо, что мы сделали также и более сложную реализацию. По-крайней мере теперь понятно, как устанавливать связи между таблицами. Ощущения от пятой части положительные. |
|||||
56 | Сервер. Последняя версия |
|
|||
На данном уроке мы приступаем к созданию серверной части нашего онлайн проекта по шахматам. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 2 час. 38 мин. [Показать отчёт] Научился: Done! Сложности: Создать проект. После долгих плясок с бубном с разными web template (не .net framework), додумался зайти в установщике в сам asp.net и там поставить галочку - загрузить .net framework templates. Lol |
|||||
57 | Сервер. Райский Эдем - EDM |
|
|||
На этом уроке мы создадим EDM - Entity Data Model.
Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 16 мин. [Показать отчёт] Научился: Done! |
|||||
58 | Сервер. Новая игра на JSON |
|
|||
На этом уроке мы изменим формат вывода с XML на JSON.
Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 17 мин. [Показать отчёт] Научился: Done! |
|||||
59 | Сервер. Официант без логики |
|
|||
На этом уроке мы будем упрощать наш ChessController.
Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 18 мин. [Показать отчёт] Научился: Done! |
|||||
60 | Сервер. Ваш ход! |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы реализуем выполнение ходов. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 26 мин. [Показать отчёт] Научился: Может не стоит начинать новую игру сразу автоматически? В идеале оба игрока должны сначала подтвердить готовность, но тут понятно, что так не будет. Возможно сделать сначала пустой ход, а уже потом начать игру. Пустой ход мы однажды делали. |
|||||
61 | Сервер. Шахматная Идемпотентность |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы обсудим Шахматную Идемпотентность. Напишите своими словами, что такое Идемпотентность. Отчёт отправил: 37216. Aleksei Petrovskii Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Done! |
|||||
62 | Сервер. Китайская ничья |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы реализуем завершение игры при сдаче. |
|||||
63 | Сервер. ШЕСТОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о шестой части курса: что получилось, что было сложным, что ещё вы добавите в программу. |
|||||
64 | Хостинг. Регистрация аккаунта |
|
|||
Приступаем к размещению нашего сервера в интернете. Для этого нам потребуется Windows-хостинг с поддержкой ASP.NET Чтобы мы были на одной волне и смогли проработать всё вместе, пожалуйста зарегистрируйтесь на этом хостинг-сервисе: Ссылка для регистрации на хостинге: https://www.reg.ru/?rlink=reflink-30461 |
|||||
65 | Хостинг. Лучше заплатить |
|
|||
На этом уроке мы выберем план, доменное имя, укажем контактную информацию. |
|||||
66 | Хостинг. Доступ по FTP |
|
|||
На этом уроке мы установим пароль для подключения к хостингу по FTP. Напишите, какой FTP-клиент вы используете и приложите скриншот вашей FTP программы с подключением к хостингу. |
|||||
67 | Хостинг. Публикация проекта |
|
|||
На этом уроке мы настроим публикацию проекта из Visual Studio. Выполните все шаги и опубликуйте проект. Приложите скриншот Visual Studio с логами публикации и содержимое FTP каталога после публикации. |
|||||
68 | Хостинг. Перенос базы данных |
|
|||
На этом уроке мы перенесём базу данных на сервер и подключимся к ней из скрипта. |
|||||
69 | Хостинг. VIP. Двойные стандарты |
|
|||
На этом уроке мы обсудим нюансы с публикацией очередной версии серверной части на хостинге. |
|||||
70 | Хостинг. СЕДЬМОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
В этой части мы разместили сервер не хостинге. Шахматная серверная программа нашла пристанище в интернете. Наконец-таки можно будет переходить к игре по сети. Напишите в отчёте, всё ли получилось и по какому адресу можно найти ваш серверный API. |
|||||
71 | Клиент. Достучаться до облака |
|
|||
На этом уроке мы приступаем к завершающему этапу по созданию клиент-серверной игры "Онлайн шахматы". |
|||||
72 | Клиент. Дедовские методы |
|
|||
На этом уроке мы выделим FEN из полученной json строки. | |||||
73 | Клиент. Ход в мешке |
|
|||
На этом уроке мы научимся отправлять на сервер наш ход. | |||||
74 | Клиент. Серверные пешки |
|
|||
На этом уроке мы используем ранее созданный класс Client() в наш проект на Unity, чтобы можно было поиграть с GUI. |
|||||
75 | Клиент. Следы невиданных ходов |
|
|||
На этом уроке мы реализуем отправку хода через GUI. | |||||
76 | Клиент. Фоновое обновление |
|
|||
На этом уроке мы реализуем функцию обновления текущего состояния на доске. |
|||||
77 |
![]() |
|
|||
Поздравляю вас с завершением нашего эпического курса по созданию клиент-серверной игры в шахматы по сети! Запишите живое видео, где будет видно, что в игру можно поиграть с двух разных устройств/компьютеров. Расскажите на видео о своём подвиге. Чем курс понравился, что было сложно, что было интересно, что можно будет добавить. |
|||||
78 | Рефакторинг. С чего начать? |
|
|||
На этом уроке мы начинаем рефакторинг кода клиентской части на Unity. |
|||||
79 | Рефакторинг. Координатные трансформации |
|
|||
На этом уроке мы продолжаем рефакторинг и сейчас мы выделим статические элементы. |
|||||
80 | Рефакторинг. Чёрный ящик |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы займёмся словарями. |
|||||
81 | Рефакторинг. Интерфейсная прослойка |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим интерфейс ICreatable. |
|||||
82 | Рефакторинг. Ящик с фигурами |
1 тест |
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы сделаем класс Box() абстрактным. |
|||||
83 | Рефакторинг. Многоклеточная сущность |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс BoxSquares(). |
|||||
84 | Рефакторинг. Вынос переноса |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс Box().SetPosition(). |
|||||
85 | Рефакторинг. Спрайт, не дай себя заинтерфейсить |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс Box().SetSpriteAt(). |
|||||
86 | Рефакторинг. Клетка в клетке |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы перенесём и разделим класс ShowSquare(). |
|||||
87 | Рефакторинг. Шахматная независимость |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы перенесём некоторые функции в класс BoxSquares(). |
|||||
88 | Рефакторинг. Хоровод из четырёх фигур |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы порефакторим функционал превращения пешки. |
|||||
89 | Рефакторинг. Волшебник изумрудного ящика |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс BoxPromots(). |
|||||
90 | Рефакторинг. Потерянная пешка |
|
|||
На этом уроке мы вернёмся к нашей библиотеке для исправления старой ошибки: пешка может превратиться в чужую фигуру ил остаться пешкой. |
|||||
91 | Рефакторинг. Класс шахматной игры |
|
|||
ЭТОТ УРОК НУЖНО ПЕРЕЗАПИСАТЬ. ДЛЯ ЭТОГО МНЕ НУЖЕН ПРОЕКТ ДО ЕГО ВЫПОЛНЕНИЯ. ПОЖАЛУЙСТА ПЕРЕД ВЫПОЛНЕНИЕМ ЭТОГО УРОКА СОЗДАЙТЕ АРХИВ ПРОЕКТА И ПРИШЛИТЕ ЕГО МНЕ. Мы на финишной прямой нашего рефакторинга. На данном уроке мы вынесем логику игры в отдельный класс Game(). |
|||||
92 | Рефакторинг. Двухэтажное превращение |
|
|||
Мы всё ближе и ближе к финишу нашего рефакторинга. На данном уроке мы вынесем оставшуюся логику игры в класс Game(). |
|||||
93 | Рефакторинг. Финальное причёсывание |
|
|||
Мы поздравляем тебя с завершением рефакторинга. На данном уроке мы причешем наши скрипты. |
|||||
94 | Рефакторинг. Последний аккорд |
|
|||
На этом уроке мы заканчиваем наш эпический курс. Получилось здорово. Я доволен результатом. Надеюсь, вы тоже. Мы проделали огромную работу. Каждый стал чуточку умнее и опытнее. |
|||||
95 | VIP. Меню DimanDOSа |
|
|||
1. Создание и размещение кнопки вызова меню и панели с кнопками. 2. Программирование действий по нажатиям кнопок - создание функций и привязка их к событиям нажатия. |
|||||
Итого: 95 видеоуроков |
17 час. 04 мин. 18 тестов |
19 чел. | |||
Финалисты: Дмитрий, Yefim, Tekashnik, Иван Воронин, ser2018, Алексей, Дмитрий Б, alklokov, FireWolf, Andrew, Max, Новопашин Владимир, Красимир Зорбов, Антон, Евгений, Anatoli, Freud, Алена, MaxB . |