# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
3 теста |
|||
Мы начинаем создание клиент-серверной программы для игры в Шахматы по сети. Это комплекс программных решений с исользованием: C#, ASP.NET, MS-SQL, EF, Unity В результате мы создадим сервер, через который клиенты смогут играть друг с другом в шахматы со смартфона. Записаться на курс Отчёт отправил: 17425. ser2018 Выполнено за 13 мин. [Показать отчёт] Научился: Знаком с Unity3D, c# -в процессе изучения, с шахматами знаком немного, но никогда не увлекался, SQL- подобными языками знаком. С ASP.NET и Entity Framework не сталкивался |
|||||
2 | Доска. Установка Unity 3D |
|
|||
Цель этого урока - установить Unity и набрать несколько строчек шахматных терминов. Скачать Unity3D: unity3d.com/ru Набрать шахматные термины: videosharp.info/console/task/level=1766 Скачать архив с картинками: https://yadi.sk/d/irBRduLp3SseXY Отчёт отправил: 17425. ser2018 Выполнено за 23 мин. [Показать отчёт] Научился: 136 сим/мин скорость набора шахмат терминов |
|||||
3 | Доска. Фигуры |
|
|||
На этом уроке мы разместим доску с фигурами. Отчёт отправил: 17425. ser2018 Выполнено за 3 час. 30 мин. [Показать отчёт] Научился: Пока все понятно, уже знаком с Unity |
|||||
4 | Доска. Состояния переноса |
|
|||
На этом уроке мы начнём процесс Drag-n-Drop и обсудим все состояния, через которые проходит объект в процессе переноса. Создадим скрипт, класс, перечисление, конструктор и метод Action. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 7 мин. [Показать отчёт] Научился: ЗАдумка с состояниями |
|||||
5 | Доска. Подцеп фигуры |
|
|||
На этом уроке мы найдём фигуру, по которой кликнул пользователь. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 6 мин. [Показать отчёт] Научился: Повторил взаимодействие с коллайдерами |
|||||
6 | Доска. Смещение |
|
|||
На этом уроке мы допишем перенос фигуры и учтём смещение при клике. Теперь вы сможете разыграть любую партию - сделайте скриншот интересной позиции! Отчёт отправил: 17425. ser2018 Выполнено за 27 мин. [Показать отчёт] Научился: Учет смещения, при взятии шахматной фигуры |
|||||
7 | Доска. Запуск на Windows |
|
|||
На этом уроке мы создадим независимый билд (рабочая версия) нашей игры для платформы Windows. Отчёт отправил: 17425. ser2018 Выполнено за 31 мин. [Показать отчёт] Научился: Создание WIndows билда |
|||||
8 | Доска. ПЕРВЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Мы закончили первую часть курса, создали шахматную доску, запустили её на Windows. Напишите отзыв о первой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 17425. ser2018 Выполнено за 9 мин. [Показать отчёт] Научился: Общие принципы работы в Unity, тестовый билд под WIndows, нужно теперь реализовывать класс - принцип работы игры шахмот, наводить "красоту" |
|||||
9 | Доска. VIP. Запуск на Android |
|
|||
На этом уроке мы запустим нашу доску на операционной системе Android. Приготовьте свой планшет/телефон и приступайте к эскпорту и запуску! * Выполнять этот урок не обязательно. Отчёт отправил: 17425. ser2018 Выполнено за 41 мин. [Показать отчёт] Научился: Запустил APK билд на эмуляторе андроид NoxPlayer ,т.к. сейчас нет под рукой нормального андроид телефона) |
|||||
10 | Доска. VIP. Запуск в Интернете |
|
|||
На этом уроке мы отправим наш проект в Интернет. Для этого мы воспользуемся технологией WebGL. Генерация страницы занимает продолжительное время. Засеки момент начала и напиши в отчете сколько времени это заняло. * Выполнять этот урок необязательно. Отчёт отправил: 17425. ser2018 Выполнено за 36 мин. [Показать отчёт] Научился: Запускал локально на Open Server, генераця около 7-8 минут |
|||||
11 |
![]() |
1 тест |
|||
На этом уроке мы познакомимся с архитектурой проекта, посмотрим на предстоящее путешествие с высоты птичьего полёта. Задание: написать, что для вас в этом плане самое простое, а что - самое сложное. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: Самое простое создать сцену в Unity, самое сложное , предполагаю - класс, с правилами игры и проверкой хода. По FEN вопрос на wiki написано "Счётчик полуходов. Число полуходов, прошедших с последнего хода пешки или взятия фигуры. Используется для определения применения правила 50 ходов." Если игроки ходить будут не пешками, то это значение не будет увеличиваться? |
|||||
12 | Классы. Шахматная библиотека |
2 теста |
|||
На данном уроке мы начинаем создание шахматных классов на языке C#, которые позволят проверять правила игры. Для этого мы напишем библиотеку, которая сможет для любой шахматной позиции определить возможность любого хода. Отчёт отправил: 17425. ser2018 Выполнено за 4 час. 2 мин. [Показать отчёт] Научился: Пока не совсем разбираюсь в шахматах, сделал только что в уроке. |
|||||
13 | Классы. Цветная фигура |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы рассмотри схему библиотеки dll, которая поможет нам сориентироваться в дальнейших действиях. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 47 мин. [Показать отчёт] Научился: узнал про расширения (с помощmю кл. слово this - надо будет еще почитать про это дополнительно) |
|||||
14 | Классы. Квадратная площадь |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим структуру классов с минимально необходимым кодом. Отчёт отправил: 17425. ser2018 Выполнено за 4 час. 57 мин. [Показать отчёт] Научился: Посмотрел видео про струкутуру |
|||||
15 | Классы. Фигурой марш! |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим классы для хранения и перемещения фигур по клеткам. Отчёт отправил: 17425. ser2018 Выполнено за 46 мин. [Показать отчёт] Научился: Создание конструкторов FigureOnSquare() и FigureMoving() |
|||||
16 | Классы. Квадратная матрица |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим класс Board(), который будет заниматься доской и работать с FEN. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 11 мин. [Показать отчёт] Научился: Создание констpуктор Board |
|||||
17 | Классы. Стой, кто идёт! |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим класс Moves(), который будет заниматься проверкой возможности хода. Отчёт отправил: 17425. ser2018 Выполнено за 59 мин. [Показать отчёт] Научился: Мне кажеться в функции CanMove() return CanMoveFrom() && CanMoveTo(); //при данном варианте всегда будет ложь Потому что, ( fm.figure.GetColor() == board.moveColor && fm.figure.GetColor() != board.moveColor) НИКОГДА НЕ ВЫПОЛНИТЬСЯ, надо возможно убрать в функции CanMoveTo() условие fm.figure.GetColor() != board.moveColor или как то переделать это |
|||||
18 | Классы. Шахматная бюрократия |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы допишем класс Chess(). Отчёт отправил: 17425. ser2018 Выполнено за 50 мин. [Показать отчёт] Научился: Доработка класса Chess |
|||||
19 | Классы. Консольная доска |
1 тест |
|||
Мы приступаем к написанию тестов для нашей библиотеки. На этом уроке мы создадим функционал для отображения доски и исправим старую ошибку копипаста. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 56 мин. [Показать отчёт] Научился: Возможно ходы коня более сложные, король из-за учета рокировка Кстати в видео-уроке исправления в методе CanMoveFrom() "board.GetFigureAt(fm.from) == fm.figure;" не было почему то |
|||||
20 | Классы. ВТОРОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Мы создали все основные классы нашего проекта. Твоя задача - нарисовать UML схему созданных классов. Нарисовать схему значительно проще, когда проект уже готов. Поэтому задание не сложное, но очень, очень полезное и нужное. Используй иерархическую структуру Solution Explorer в VisualStudio. Нарисовать можно от руки, либо в сервисе draw.io. Можно использовать любой другой *не автоматический* инструмент рисования. Важно сделать это самостоятельно, а не сгенерить программой! Поэтому рисуй сам. * Не забывайте потом дорисовывать схему в процессе добавления новых методов в классах. Отчёт отправил: 17425. ser2018 Выполнено за 1 день 2 час. 25 мин. [Показать отчёт] Научился: UML схемы, создание визуальной структуры Сложности: Забыл почти все какие классы за что отвечают, пришлось все повторять. |
|||||
21 | Алгоритмы. Волшебные шахматы |
1 тест |
|||
Мы приступаем к написанию шахматных алгоритмов. На этом уроке мы добавил в класс Board() необходимые свойства и реализуем парсинг передаваемого FEN. Отчёт отправил: 17425. ser2018 Выполнено за 3 час. 23 мин. [Показать отчёт] Научился: Парсинг ФЕН |
|||||
22 | Алгоритмы. Сборка фена |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем формирование текущей позиции в формате FEN. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 44 мин. [Показать отчёт] Научился: Такой вопрос - в шахматах ходы считаются как 1 ход белые 1 ход черные 2 ход белые 2 ход черные 3 ход белые 3 ход черные и.д. ?? |
|||||
23 | Алгоритмы. Генератор ходов |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы начинаем реализацию проверок можно ли пойти с одной клетки на другую. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 8 мин. [Показать отчёт] Научился: переопределение стандартной функции ключевое слово override |
|||||
24 | Алгоритмы. Куда идёт Король |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем проверку может ли King пойти с одной клетки на другую. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 5 мин. [Показать отчёт] Научился: Пока все понятно. По аналогии проверка "Коня": private bool CanKnightMove() { //конь может смещаться на 2 клетки по Х и 1 по У или наоборот return (fm.AbsDeltaX == 2 && fm.AbsDeltaY ==1 ) || (fm.AbsDeltaX == 1 && fm.AbsDeltaY == 2); } |
|||||
25 | Алгоритмы. Ночью с Конём |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем проверку может ли Knight пойти с одной клетки на другую. Отчёт отправил: 17425. ser2018 Выполнено за 5 мин. [Показать отчёт] Научился: Сделал коня в прошлом уроке |
|||||
26 | Алгоритмы. Дальнобойщики |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы переходим к дальнобойным фигурам. Отчёт отправил: 17425. ser2018 Выполнено за 9 час. 9 мин. [Показать отчёт] Научился: Операторы сравнения для Square, алгоритм движения фигуры по прямой Сложности: Сперва проверка осуществлялась в противоположную сторону, дебаггером обнаружил, что в прошлом уроке, допустил ошибку в FigeureMoving public int DeltaX { get { return from.x - to.x; } }, вместо public int DeltaX { get { return to.x - from.x; } } |
|||||
27 | Алгоритмы. Храбрая пешка |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы приступаем к реализации алгоритмов самой сложной фигуры: Pawn. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 24 мин. [Показать отчёт] Научился: движение пешки |
|||||
28 | Алгоритмы. Четвёртое превращение |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем превращение Pawn в одну из четырёх фигур: Queen, Knight, Bishop и Rook. Отчёт отправил: 17425. ser2018 Выполнено за 9 час. 17 мин. [Показать отчёт] Научился: Можно ли не превращать пешку и оставить ее пешкой? Во всяком случае сходить так можно, но в списке вариантов нет, почему так? Показал на скриншоте |
|||||
29 | Алгоритмы. Рефакторинг на доске |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы займёмся рефакторингом. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 14 мин. [Показать отчёт] Научился: принцип наследования, как это делается с использованием "base" |
|||||
30 | Алгоритмы. Допрыгалась! |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы займёмся взятием пешкой на проходе. Отчёт отправил: 17425. ser2018 Выполнено за 3 час. 2 мин. [Показать отчёт] Научился: еще один пример рефакторинга |
|||||
31 | Алгоритмы. Королевский паркур |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем рокировку. Отчёт отправил: 17425. ser2018 Выполнено за 4 час. 11 мин. [Показать отчёт] Научился: ознакомился с понятием рокировки и реализацией в коде |
|||||
32 | Алгоритмы. Защита короля |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы будем защищать короля от ШАХа. Отчёт отправил: 17425. ser2018 Выполнено за 1 день 4 час. 33 мин. [Показать отчёт] Научился: Проверка на шах, шах отменяет возможность рокировки |
|||||
33 | Алгоритмы. Шах и Мат! |
|
|||
Мы заканчиваем написание шахматных алгоритмов. На этом уроке мы реализуем возврат ситуации на доске. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 56 мин. [Показать отчёт] Научился: Сделал пока все по минимуму, видно, что после мата , проигравший король срубил фирзя и сделал шах белому королю, это потом пофикситься? |
|||||
34 | Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК |
|
|||
На этом уроке мы исправим одну ошибку и добавим ещё один вариант метода GetFigureAt(string xy). Ваше задание - записать подробный отзыв об алгоритмической части проекта. Отчёт отправил: 17425. ser2018 Выполнено за 4 час. 0 мин. [Показать отчёт] Научился: Честно говоря ни разу не делал такое хитросплетение классов и методов, если посмотреть назад, сколько всего получилось , то волосы встают дыбом. Как в этом разобораться и быстро найти, что где дописать и добавить функционал, наверо должна помочь UML схема. Ну если постепенно вникать, в каждый метод, то становиться понятно, что он делает, так как правило размер кода там не велик. Сложности: Вопрос, который задал в прошлом уроке, что черный кароль под шахом рубит ферзя под прикрытием белого короля, это ситуация как раз была исправлена в этом уроке. |
|||||
35 | Алгоритмы. VIP. Шахматное супертестирование |
|
|||
На этом уроке мы проверим корректность ваших алгоритмов. Для этого мы прогоним супер-тест по генерации всех вариантов. * Выполнять этот урок необязательно. Ссылка: Сайт с результатами тестирования Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 7 мин. [Показать отчёт] Научился: Кто то уже протестировал и выложил результаты , а мы сверяем) Сложности: Не совпадал результат, в результате мучительных мучений нашел ошибку, в описании ходов слона, забыл Y помнять на X |
|||||
36 | Алгоритмы. VIP. Можно пройти? |
|
|||
На этом уроке мы немного порефакторим и добавим очень полезную функцию. Отчёт отправил: 17425. ser2018 Выполнено за 17 мин. [Показать отчёт] Научился: Похоже на рефакторинг |
|||||
37 | Алгоритмы. VIP. Как пройти в библиотеку |
|
|||
На этом уроке мы подготовим библиотеку ChessRules. Для этого мы скомпилируем её в необходимой версии .NET и проверим работоспособность в Unity проекте. Отчёт отправил: 17425. ser2018 Выполнено за 13 час. 12 мин. [Показать отчёт] Научился: внедрять DLL в проект, оставил .net 4.5.2 как писал FireWolf Добавление фигур сделал через словарь(строка ключ - объект фигура) и префабы |
|||||
38 | Интерфейс. План действий |
|
|||
На этом уроке мы обсудим дальнейший план действий.
Отчёт отправил: 17425. ser2018 Выполнено за 1 день 1 час. 54 мин. [Показать отчёт] Научился: размещение объектов в сцену Юнити |
|||||
39 | Интерфейс. Генерация объектов |
|
|||
На этом уроке мы сгенерируем шахматную доску с базовыми объектами на ней. Отчёт отправил: 17425. ser2018 Выполнено за 3 час. 6 мин. [Показать отчёт] Научился: Считаю , что лучше использовать префабы для таких целей, чтоб не "замусоривать" сцену объекты , с которых потом снимать копию |
|||||
40 | Интерфейс. Начальная позиция |
|
|||
На этом уроке мы добавим ранее созданную библиотеку ChessRules.dll в проект на Unity. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: Не понял, мы на точку - игровой объект не добавляли collider2D, затем в InitGameObjects() размещаем на все клетки игровй объект пешку ("p") с коллайдером, а в ShowFigures() заменяем только спрайт, поэтому у точки в итоге компонент коллайдер останется, как показано на скриншоте, почему тогда с точки не убрали коллайдер? |
|||||
41 | Интерфейс. Ход делегата |
|
|||
На этом уроке мы активируем проверку ходов, которую реализовали в ChessRules.dll. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 19 мин. [Показать отчёт] Научился: Интересная Санта-Барбара через делегаты. Что то мне не нравиться, что в консоли, в координатах вектора, запятые , а не точки. Поробовал в Панели управления - языки и стандарты раздлетель вместо запятой для дробных чисел точку поставить, но ничего не помянлось. Если язык только Американскией поставить, точка появляется. |
|||||
42 | Интерфейс. Проверка хода |
|
|||
Мы продолжаем реализацию необходимого функционала для активации проверки ходов на основе ChessRules.dll. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 5 мин. [Показать отчёт] Научился: Вот не знаю как тут простой вариант сделать, наверно надо подключать UI и покзывать варианты выбора |
|||||
43 | Интерфейс. VIP. Клетки отправления |
|
|||
Это бонусный урок, выполнять его не обязательно. На данном уроке мы реализуем подсветку тех клеток, с которых можно ходить. Отчёт отправил: 17425. ser2018 Выполнено за 51 мин. [Показать отчёт] Научился: Вариант подсветки ходящей фигуры |
|||||
44 | Интерфейс. VIP. Клетки прибытия |
1 тест |
|||
Это бонусный урок, выполнять его не обязательно. На данном уроке мы реализуем подсветку тех клеток, на которые можно ходить. Отчёт отправил: 17425. ser2018 Выполнено за 15 час. 3 мин. [Показать отчёт] Научился: подсветка возможных ходов |
|||||
45 | Интерфейс. Щепотка рефакторинга |
1 тест |
|||
На этом уроке мы начинаем подготовку к превращению пешки в одну из четырёх фигур. Для начала проведём небольшой рефакторинг. Отчёт отправил: 17425. ser2018 Выполнено за 59 мин. [Показать отчёт] Научился: Дополнительные улучшения кода |
|||||
46 | Интерфейс. Выставка фигур |
|
|||
На этом уроке мы продолжаем подготовку к превращению пешки в одну из четырёх фигур. Теперь нам надо подготовить фигуры, в которые будем превращать. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 26 мин. [Показать отчёт] Научился: Для скрытия игрового объекта на сцене можно использовать метод go.SetActive(false) как я сделал на скриншоте, чтоб не менять на спрайт точку. А в покзывании белых или черных превращений использовал в цикле условие c ключом словоря if ( pawn == "P" && kv.Key == kv.Key.ToUpper()) //белая пешка |
|||||
47 | Интерфейс. Долгожданное превращение |
|
|||
На этом уроке мы наконец превратим нашу пешку в одну из четырёх фигур. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 54 мин. [Показать отчёт] Научился: Чтоб начать сначала партию можно добавить кнопку или ГО и при клике по нему chess = new Chess(); // потом сделать заново переинициализацию игровых объектов, перерисовать согласно фен return; или просто перегурзить сцену с помощью функции SceneManager.LoadScene(0) Сложности: можно сделать рефакторинг функции void PickObject(Vector2 fromPosition) спомощью Physics2D.Raycast, узнав имя объекта по которому кликнули в функции InitGameObjects() в конце добавляем строчку для тагов к словорю превращения: //добавляем tag "PromotionFigures" для всех промоушен фигур предварительно добавив его в список тагов в редакторе Unity foreach (GameObject prom in promots.Values) prom.tag = "PromotionFigures"; //пометить, куда может сходить фигура, которую подняли с доски void PickObject(Vector2 fromPosition) { //если выбираем фигуру для превращения пешки if (onPromotionMove != "" && (onPromotionMove[0] =='P' || onPromotionMove[0] == 'p')) { // делаем "выстрел" в точке клика мышкой на экране RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero); //если есть коллайдер и данный объект - фигура для выбора превращения пешки if (hit.collider != null && hit.collider.tag == "PromotionFigures") { //Debug.Log("Target name: " + hit.collider.name); onPromotionMove += hit.collider.name; //делаем ход chess = chess.Move(onPromotionMove); }//иначе пропускаем ход и откатываемся onPromotionMove = "";//убираем флаг превращения пешки ShowFigures(); //показваем фигуры после хода MarkSquaresFrom();//помечаем клетки с которых фигуры могут сходить ShowPromotionFigures();//скрываем фигуры выбора превращений return; } MarkSquaresTo(VectorToSquare(fromPosition)); // MarkSquaresTo("e2"); } |
|||||
48 | Интерфейс. ЧЕТВЁРТЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о четвёртой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 17425. ser2018 Выполнено за 20 мин. [Показать отчёт] Научился: Не знаю что есть в шахматах, может таймер ходов добавить после. А так, пока прежде всего хотелось изменить декорации - цвета клеток, спрайты фигур и т.п. В разделе интерфейс было понятно вроде все , некоторые вещи хотелось сделать по другому, так как знаком уже с Unity. |
|||||
49 | База данных. Management в студию! |
|
|||
На этом уроке мы приступаем к созданию БД для нашего сервера шахматы онлайн. Отчёт отправил: 17425. ser2018 Выполнено за 10 мин. [Показать отчёт] Научился: установил SQL Server Management Studio |
|||||
50 | База данных. Планирование |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы спроектируем схему нашей БД. Отчёт отправил: 17425. ser2018 Выполнено за 3 дня 2 час. 30 мин. [Показать отчёт] Научился: Нарисовал схему БД |
|||||
51 | База данных. Упрощение |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы упростим схему нашей БД. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Неожиданный поворот, видимо потом можно будет накручивать, начиная с простого. |
|||||
52 | База данных. Созидание |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы наконец создадим нашу базу данных для онлайн шахмат. Отчёт отправил: 17425. ser2018 Выполнено за 23 мин. [Показать отчёт] Научился: подключился к SQLExpress, других сервреов не было |
|||||
53 | База данных. VIP. Таблицы на вырост |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы создадим дополнительные таблицы, которые понадобятся для реализации полноценной онлайн игры. Отчёт отправил: 17425. ser2018 Выполнено за 6 час. 15 мин. [Показать отчёт] Научился: созданеие внешних ключей |
|||||
54 | База данных. VIP. Красивая диаграма |
|
|||
На данном уроке мы нарисуем диаграмму нашей БД.
Отчёт отправил: 17425. ser2018 Выполнено за 53 мин. [Показать отчёт] Научился: создал диаграмму, так же выпадала ошибка с индексом, пришлось перегружать программу. Сложности: линия связи как червяк, извивалась и собиралась в петли, аж задолбался выпрямлять |
|||||
55 | База данных. ПЯТЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о пятой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 17425. ser2018 Выполнено за 6 мин. [Показать отчёт] Научился: Познакомился с MSSQL, поделал простые операции - создание таблиц, связей и постороение диаграмм в SSMS |
|||||
56 | Сервер. Последняя версия |
|
|||
На данном уроке мы приступаем к созданию серверной части нашего онлайн проекта по шахматам. Отчёт отправил: 17425. ser2018 Выполнено за 1 день 13 час. 34 мин. [Показать отчёт] Научился: Если будет, версия .NET 4.6 что произойдет? |
|||||
57 | Сервер. Райский Эдем - EDM |
|
|||
На этом уроке мы создадим EDM - Entity Data Model.
Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 4 мин. [Показать отчёт] Научился: замысловатое создание контроллеров и моделей |
|||||
58 | Сервер. Новая игра на JSON |
|
|||
На этом уроке мы изменим формат вывода с XML на JSON.
Отчёт отправил: 17425. ser2018 Выполнено за 3 час. 0 мин. [Показать отчёт] Научился: пока было много не понятного, видимо что то из ASP NET |
|||||
59 | Сервер. Официант без логики |
|
|||
На этом уроке мы будем упрощать наш ChessController.
Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 18 мин. [Показать отчёт] Научился: Ввнесли логику в отдельный класс, подключение dll с игрой |
|||||
60 | Сервер. Ваш ход! |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы реализуем выполнение ходов. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 44 мин. [Показать отчёт] Научился: чтоб другой увидел конец хода, нужно выбрать последнюю из завершенных игр, не знаю как тут реализуется механизм сессий( и нужен ли он) |
|||||
61 | Сервер. Шахматная Идемпотентность |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы обсудим Шахматную Идемпотентность. Напишите своими словами, что такое Идемпотентность. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 46 мин. [Показать отчёт] Научился: идемпотентность - тот же самый результат как и в первом случае |
|||||
62 | Сервер. Китайская ничья |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы реализуем завершение игры при сдаче. Отчёт отправил: 17425. ser2018 Выполнено за 29 мин. [Показать отчёт] Научился: расшерение класса logic, реализовали возможность сдаться |
|||||
63 | Сервер. ШЕСТОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о шестой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 48 мин. [Показать отчёт] Научился: Хорошо было б занть основы ASP.NET , на PHP это все понятней и быстрей, если б не надо было б подключать DLL для преверки ходов, и это очень не обычно объединение веб технологий и десктопного програмирования, все на языке С# |
|||||
64 | Хостинг. Регистрация аккаунта |
|
|||
Приступаем к размещению нашего сервера в интернете. Для этого нам потребуется Windows-хостинг с поддержкой ASP.NET Чтобы мы были на одной волне и смогли проработать всё вместе, пожалуйста зарегистрируйтесь на этом хостинг-сервисе: Ссылка для регистрации на хостинге: https://www.reg.ru/?rlink=reflink-30461 Отчёт отправил: 17425. ser2018 Выполнено за 53 мин. [Показать отчёт] Научился: Предполагаю можно на локалхосте запустить IIS ? Сложности: reg.ru - Один из жидовских доменселлров / хостеров, с маркетинговыми уловками и ценами. Цена на windows хостинг Win-Lite от 84р/мес , а потом оказывается , это если будет оплата за 3 года сразу, и еще там нет поддержки ASP.NET 3.5/4.7, тогда спрашиваетсяч за что она называется "windows" хостингом. ☻ Домен стоит 200 руб на год, а нигде не найдешь что продление этого домена потом будет 900+ руб (это будет приятным сюрпризом☺), хотя у наунета (до повышения цен), например в прошлом году и продление и регистрация стоили 99руб, сейчас около 180руб. |
|||||
65 | Хостинг. Лучше заплатить |
|
|||
На этом уроке мы выберем план, доменное имя, укажем контактную информацию. Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 22 мин. [Показать отчёт] Научился: зарегался еще на другом win хостинге с 2месячным триал периодом, хочу по аналогии там поробовать сделать, если что тут всегда можно будет повторить |
|||||
66 | Хостинг. Доступ по FTP |
|
|||
На этом уроке мы установим пароль для подключения к хостингу по FTP. Напишите, какой FTP-клиент вы используете и приложите скриншот вашей FTP программы с подключением к хостингу. Отчёт отправил: 17425. ser2018 Выполнено за 15 мин. [Показать отчёт] Научился: Я использую FTP менеджер FileZilla Кстати , чтоб не ждать пока сменятся DNS, можно для нужного домена прописать нужный ip в файле hosts: C:\Windows\System32\drivers\etc\hosts # Пишем контретно для случая в видео уроке 31.31.196.89 chessonline1.ru |
|||||
67 | Хостинг. Публикация проекта |
|
|||
На этом уроке мы настроим публикацию проекта из Visual Studio. Выполните все шаги и опубликуйте проект. Приложите скриншот Visual Studio с логами публикации и содержимое FTP каталога после публикации. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 22 мин. [Показать отчёт] Научился: загрузаил на триальном хостинге smarterasp.net , полезли ошибки, потом поправил конфиг-файл (web.config), сменил версии с 4,7 на 4,0 вроде запустилось. Интерсено это запустить на localhost все таки еще |
|||||
68 | Хостинг. Перенос базы данных |
|
|||
На этом уроке мы перенесём базу данных на сервер и подключимся к ней из скрипта. Отчёт отправил: 17425. ser2018 Выполнено за 47 мин. [Показать отчёт] Научился: для поключения к БД на сервере, изменил строоку подключения в файле web.config: <connectionStrings> <add name="ChessModelDB" connectionString="Data Source=SQL6005.site4now.net;Initial Catalog=DB_A3DDBE_magnat;User Id=DB_A3DDBE_magnat_admin;Password=123456" providerName="System.Data.SqlClient" /> </connectionStrings> |
|||||
69 | Хостинг. VIP. Двойные стандарты |
|
|||
На этом уроке мы обсудим нюансы с публикацией очередной версии серверной части на хостинге. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 30 мин. [Показать отчёт] Научился: Эксперименты показали , что мнимум надо поменять версию targetFramework="4.0" <system.web> <compilation xdt:Transform="RemoveAttributes(debug)" /> <compilation targetFramework="4.0" xdt:Transform="SetAttributes" /> ... помимо строки подключения к БД |
|||||
70 | Хостинг. СЕДЬМОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
В этой части мы разместили сервер не хостинге. Шахматная серверная программа нашла пристанище в интернете. Наконец-таки можно будет переходить к игре по сети. Напишите в отчёте, всё ли получилось и по какому адресу можно найти ваш серверный API. Отчёт отправил: 17425. ser2018 Выполнено за 10 мин. [Показать отчёт] Научился: Зарегистрировал бесплатно все на хостинге smarterasp.net , по адресу http://magnat-001-site1.htempurl.com/api/Chess будет доступен до Aug 30, 2018 (60 дней у них триал) Сложности: дырка в ASP net поэтому было все новое и сложное) |
|||||
71 | Клиент. Достучаться до облака |
|
|||
На этом уроке мы приступаем к завершающему этапу по созданию клиент-серверной игры "Онлайн шахматы". Отчёт отправил: 17425. ser2018 Выполнено за 1 день 3 час. 55 мин. [Показать отчёт] Научился: Fen можно распарсить, как JSONDECODE, или самый прстой вариант через Split('"') кавычки строки, 5 индекс будет FEN. Как показано на 2ом скриншоте |
|||||
72 | Клиент. Дедовские методы |
|
|||
На этом уроке мы выделим FEN из полученной json строки.
Отчёт отправил: 17425. ser2018 Выполнено за 22 мин. [Показать отчёт] Научился: Узнал о существовании "паскалевского" способа парсить строки |
|||||
73 | Клиент. Ход в мешке |
|
|||
На этом уроке мы научимся отправлять на сервер наш ход.
Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 40 мин. [Показать отчёт] Научился: отрпавление хода на сервер |
|||||
74 | Клиент. Серверные пешки |
|
|||
На этом уроке мы используем ранее созданный класс Client() в наш проект на Unity, чтобы можно было поиграть с GUI. Отчёт отправил: 17425. ser2018 Выполнено за 18 час. 54 мин. [Показать отчёт] Научился: получение фена в Юнити |
|||||
75 | Клиент. Следы невиданных ходов |
|
|||
На этом уроке мы реализуем отправку хода через GUI.
Отчёт отправил: 17425. ser2018 Выполнено за 3 час. 6 мин. [Показать отчёт] Научился: Подключили отправку хода из юнити на серевер |
|||||
76 | Клиент. Фоновое обновление |
|
|||
На этом уроке мы реализуем функцию обновления текущего состояния на доске. Отчёт отправил: 17425. ser2018 Выполнено за 18 час. 46 мин. [Показать отчёт] Научился: Оказывается Юнити делает сейчас apk с поддержкой технологии NEON мобильным процессором данного устройства, если у телеона ее нет, ты выскакивает ошибка, что железо устарело. Поэтому сделал под Windows Видеообзор: zLB13tZHOhk |
|||||
77 |
![]() |
|
|||
Поздравляю вас с завершением нашего эпического курса по созданию клиент-серверной игры в шахматы по сети! Запишите живое видео, где будет видно, что в игру можно поиграть с двух разных устройств/компьютеров. Расскажите на видео о своём подвиге. Чем курс понравился, что было сложно, что было интересно, что можно будет добавить. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 2 мин. [Показать отчёт] Научился: получили минимально рабочую версию, дальше нужно что то "прикручивать" по усмотрению и способностям Видеообзор: U6cltlW2PZM |
|||||
78 | Рефакторинг. С чего начать? |
|
|||
На этом уроке мы начинаем рефакторинг кода клиентской части на Unity. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 17 мин. [Показать отчёт] Научился: вобще беспонятия как рефакторить, что то с выделениями ходов может спучковть? |
|||||
79 | Рефакторинг. Координатные трансформации |
|
|||
На этом уроке мы продолжаем рефакторинг и сейчас мы выделим статические элементы. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 13 мин. [Показать отчёт] Научился: замуткам с координатами |
|||||
80 | Рефакторинг. Чёрный ящик |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы займёмся словарями. Отчёт отправил: 17425. ser2018 Выполнено за 33 мин. [Показать отчёт] Научился: чтоб так расслаивать код, вынести в словарь в отдельнвй класс надо иметь много практики, я что то даже и не подумал, что так можно было |
|||||
81 | Рефакторинг. Интерфейсная прослойка |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим интерфейс ICreatable. Отчёт отправил: 17425. ser2018 Выполнено за 42 мин. [Показать отчёт] Научился: Хитро придумано с иинтерфейсом, я всегда смотрю минимум 2 раза видео урок - первый просто чтоб общий план действий представить, а потом второй раз уже вникая в подробности. |
|||||
82 | Рефакторинг. Ящик с фигурами |
1 тест |
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы сделаем класс Box() абстрактным. Отчёт отправил: 17425. ser2018 Выполнено за 5 час. 9 мин. [Показать отчёт] Научился: понятие абстрактного класса - класс который не может иметь экземляров. А его можно только наследовать. |
|||||
83 | Рефакторинг. Многоклеточная сущность |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс BoxSquares(). Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 29 мин. [Показать отчёт] Научился: создал наследуемый класс BoxSquares : Box |
|||||
84 | Рефакторинг. Вынос переноса |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс Box().SetPosition(). Отчёт отправил: 17425. ser2018 Выполнено за 34 мин. [Показать отчёт] Научился: Почему сигнатура public void SetPosition(int x, int y, Box from) , а не public void SetPosition(int x, int y, BoxSquares from)? Получается объект from приводится у типу Box, который абстрактный, т.е. не может иметь экземпляров |
|||||
85 | Рефакторинг. Спрайт, не дай себя заинтерфейсить |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс Box().SetSpriteAt(). Отчёт отправил: 17425. ser2018 Выполнено за 44 мин. [Показать отчёт] Научился: расширил интерфейс ICreatable добавили метод SetSprite() |
|||||
86 | Рефакторинг. Клетка в клетке |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы перенесём и разделим класс ShowSquare(). Отчёт отправил: 17425. ser2018 Выполнено за 30 мин. [Показать отчёт] Научился: расширил класс BoxSquares |
|||||
87 | Рефакторинг. Шахматная независимость |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы перенесём некоторые функции в класс BoxSquares(). Отчёт отправил: 17425. ser2018 Выполнено за 21 мин. [Показать отчёт] Научился: дополнили еще класс BoxSquares методами MarkSquaresTo() и MarkSquaresFrom() |
|||||
88 | Рефакторинг. Хоровод из четырёх фигур |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы порефакторим функционал превращения пешки. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 53 мин. [Показать отчёт] Научился: упростил инициализацию фигур превращения |
|||||
89 | Рефакторинг. Волшебник изумрудного ящика |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс BoxPromots(). Отчёт отправил: 17425. ser2018 Выполнено за 14 час. 41 мин. [Показать отчёт] Научился: Достаточно запутанный урок, т.к. я немного по другому сделал промоушен используя плюшки юнити редактора, пришлось и там немного передлать, но в итоге все перенеслось удачно. |
|||||
90 | Рефакторинг. Потерянная пешка |
|
|||
На этом уроке мы вернёмся к нашей библиотеке для исправления старой ошибки: пешка может превратиться в чужую фигуру ил остаться пешкой. Отчёт отправил: 17425. ser2018 Выполнено за 7 час. 35 мин. [Показать отчёт] Научился: В каком то из уроков я обратил внимание, что что-то не ладное с превращением, надо будет позже глянуть. Перезакачал с новой Dll на триальный Win Хостинг . |
|||||
91 | Рефакторинг. Класс шахматной игры |
|
|||
ЭТОТ УРОК НУЖНО ПЕРЕЗАПИСАТЬ. ДЛЯ ЭТОГО МНЕ НУЖЕН ПРОЕКТ ДО ЕГО ВЫПОЛНЕНИЯ. ПОЖАЛУЙСТА ПЕРЕД ВЫПОЛНЕНИЕМ ЭТОГО УРОКА СОЗДАЙТЕ АРХИВ ПРОЕКТА И ПРИШЛИТЕ ЕГО МНЕ. Мы на финишной прямой нашего рефакторинга. На данном уроке мы вынесем логику игры в отдельный класс Game(). Отчёт отправил: 17425. ser2018 Выполнено за 2 час. 31 мин. [Показать отчёт] Научился: Запутанный урок получился, что то есть, чего то нет. Самое главное как я понял в классе Board //chess = new Chess(Fen); меняем на game.Move(Fen); |
|||||
92 | Рефакторинг. Двухэтажное превращение |
|
|||
Мы всё ближе и ближе к финишу нашего рефакторинга. На данном уроке мы вынесем оставшуюся логику игры в класс Game(). Отчёт отправил: 17425. ser2018 Выполнено за 1 день 21 час. 56 мин. [Показать отчёт] Научился: Мне кажется выполняя этот урок, мой дух научился выходить из тела о_О Сложности: Чтоб в итоге закончить - перенес из класса Board метод MakeMove(string move), которого так не хватало в классе Game, а поскольку ему необходимо соединение с сервером, то перес создание клиента тоже в Game Клиент создавался в Game а идентификация его была в Board , ну дльше все заработало., но пришлось понервничать. |
|||||
93 | Рефакторинг. Финальное причёсывание |
|
|||
Мы поздравляем тебя с завершением рефакторинга. На данном уроке мы причешем наши скрипты. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: Ну вобще легкий урок по сравнению с двумя предыдущими |
|||||
94 | Рефакторинг. Последний аккорд |
|
|||
На этом уроке мы заканчиваем наш эпический курс. Получилось здорово. Я доволен результатом. Надеюсь, вы тоже. Мы проделали огромную работу. Каждый стал чуточку умнее и опытнее. Отчёт отправил: 17425. ser2018 Выполнено за 1 час. 46 мин. [Показать отчёт] Научился: Сделал метод Refresh() в класcе Game И получение Фен из конструктора. Еще же есть 95 урок, так что еще не финал! |
|||||
95 | VIP. Меню DimanDOSа |
|
|||
1. Создание и размещение кнопки вызова меню и панели с кнопками. 2. Программирование действий по нажатиям кнопок - создание функций и привязка их к событиям нажатия. Отчёт отправил: 17425. ser2018 Выполнено за 10 час. 28 мин. [Показать отчёт] Научился: Сделал меню на Юнити) Видеообзор: AjsJ7vvz8Wg |
|||||
Итого: 95 видеоуроков |
17 час. 04 мин. 18 тестов |
19 чел. | |||
Финалисты: Дмитрий, Yefim, Tekashnik, Иван Воронин, ser2018, Алексей, Дмитрий Б, alklokov, FireWolf, Andrew, Max, Новопашин Владимир, Красимир Зорбов, Антон, Евгений, Anatoli, Freud, Алена, MaxB . |