Си шарп видео уроки

Формула программиста

основатель — Волосатов Евгений Витольдович

Клуб формулистов - Ежемесячная подписка

Вступление в Клуб Формулистов на выгодных условиях для НОВЫХ участников.

После взноса  999  499 руб. вы получите подписку
в Клуб Формулистов на 30 дней и 256 байт для быстрого старта.
Байты используются для открытия более одного урока в день, по 50 байт за урок.

Стоимость 1 дня за первый месяц: всего 16 рублей.

Первый взнос - 499 руб./30 дней.

Через 30 дней будет списано 3,000 2,400 руб.
за продление подписки в Клуб на 30 дней + подарок 512 байт.

Так будет продолжаться каждые 30 дней, пока вы не отмените подписку.
Средства будет автоматически считываться с вашей карты.
Вы в любой момент сможете отказаться от продления Клуба.

Только ДО КОНЦА НЕДЕЛИ -
-50% скидка на первый взнос, всего 499 (вместо 999) рублей!
-20% скидка на ЕЖЕМЕСЯЧНЫЙ платёж!
Всего 2400 руб/месяц (вместо 3000 руб/месяц), или 80 руб./день - цена чашки кофе.


Стоимость 1 дня: 80 руб.

Хочу вступить!

Также есть другие варианты оплаты участия в КФ:

Билет в клуб формулистов на ...
30+ дней | 60 дней | 150 дней | 380 дней | 1000 дней

Внимание!
Стоимость участия в Клубе формулистов увеличивается 1 числа каждого месяца на 100 рублей.
При оформления подписки стоимость остаётся постоянной, пока подписка не будет отменена.







Первый взнос - 499 руб./30 дней + 500 байт.
Последующие взносы - 3,000 2400 руб./месяц + 512 байт.



Список уроков | фото | видео

# Название видеоурока Видео / Тесты Решило Рейтинг Доступ
1 FREE План Шахматного проекта 00:06:08
3 теста
94 чел. ★ 4.9 Done
  Мы начинаем создание клиент-серверной программы для игры в Шахматы по сети.
Это комплекс программных решений с исользованием: C#, ASP.NET, MS-SQL, EF, Unity
В результате мы создадим сервер, через который клиенты
смогут играть друг с другом в шахматы со смартфона.

Записаться на курс
Отчёт отправил: 11589. Yefim Выполнено за 19 дней 10 час. 16 мин. [Показать отчёт]
Научился: C# -2 года, Unity - нет, ASP.NET - нет, MS-SQL - нет, Entity Framework 1- месяц, Шaхмaты - 50 лет. 
Сложности: Решиться на этот курс 
2 Доска. Установка Unity 3D 00:05:17
86 чел. ★ 4.9 Done
  Цель этого урока - установить Unity и набрать несколько строчек шахматных терминов.

Скачать Unity3D: unity3d.com/ru

Набрать шахматные термины: videosharp.info/console/task/level=1766

Скачать архив с картинками: https://yadi.sk/d/irBRduLp3SseXY

Отчёт отправил: 11589. Yefim Выполнено за 9 час. 32 мин. [Показать отчёт]
Научился: Устанавливать Unity Печатать шахматные термины на английском 
Сложности: Печатать быстро шахматные термины на английском 
3 Доска. Фигуры 00:13:05
62 чел. ★ 5 Done
  На этом уроке мы разместим доску с фигурами.

Отчёт отправил: 11589. Yefim Выполнено за 5 час. 16 мин. [Показать отчёт]
Научился: Делать первые шаги в среде Unity  
Сложности: По неопытности среда проявляет некоторую недружественность. Располагал фигуры 2 раза. После первого раза отобразилась только доска. Причина пока не ясна. Размеры вспомогательных окон не меняются даже если они пусты. 
4 Доска. Состояния переноса 00:11:29
64 чел. ★ 5 Done
  На этом уроке мы начнём процесс Drag-n-Drop и обсудим все состояния,
через которые проходит объект в процессе переноса.
Создадим скрипт, класс, перечисление, конструктор и метод Action.
Отчёт отправил: 11589. Yefim Выполнено за 12 мин. [Показать отчёт]
Научился: Создавать скрипты на Unity 
Сложности: --- 
5 Доска. Подцеп фигуры 00:12:05
61 чел. ★ 5 Done
  На этом уроке мы найдём фигуру, по которой кликнул пользователь.

Отчёт отправил: 11589. Yefim Выполнено за 14 час. 38 мин. [Показать отчёт]
Научился: Сoздавать кoллайдер вoкрyг фигуp. Узнавать по какой фигуре был сделан клик 
Сложности: Все было изложено предельно ясно. 
6 Доска. Смещение 00:07:57
59 чел. ★ 4.9 Done
  На этом уроке мы допишем перенос фигуры и учтём смещение при клике.
Теперь вы сможете разыграть любую партию - сделайте скриншот интересной позиции!
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 13 мин. [Показать отчёт]
Научился: Свободно перемещать шахматные фигуры 
Сложности: При хорошем изложении неясностей не бывает. 
7 Доска. Запуск на Windows 00:05:57
59 чел. ★ 5 Done
  На этом уроке мы создадим независимый билд (рабочая версия)
нашей игры для платформы Windows.
Отчёт отправил: 11589. Yefim Выполнено за 6 мин. [Показать отчёт]
Научился: Создавать Экзэшник  
Сложности: На другом компьютере не запустился. (см скрин) 
8 Доска. ПЕРВЫЙ ФИНАЛЬНЫЙ УРОК 00:02:32
54 чел. ★ 4.8 Done
  Мы закончили первую часть курса,
создали шахматную доску,
запустили её на Windows.

Напишите отзыв о первой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 11589. Yefim Выполнено за 9 час. 23 мин. [Показать отчёт]
Научился: Этот курс "Шахматы on-line" я начал изучать не по своей инициативе. Я последовал совету Игромистра. И с первых же уроков понял, что не прогадал. Все, что связано с графикой вызывает к меня особый интерес. А приступить к изучению такого мощного пакета как Unity большая удача. Пока сделано немного, но и эта малость впечатляет. Уже на данном этапе мы получили "экзэшник" и, тем самым, узнали как, в принципе, получается конечный продукт. Испытания экзэшника прошли неоднозначно. На 2-ом компьютере не запускается, но на 3 - все прошло великолепно. В данный момент Курс находится а процессе разработки - и это доставляет некоторые неудобства курсантам. Однако, добавленные уроки, с лихвой компенсируют эти недостатки. Сейчас фигуры можно перемещать свободно. Но полагаю, что в дальнейшем будут сделаны ограничения согласно шахматным правилам. С нетерпением жду продолжения курса. -- 
Сложности: --- 
9 Доска. VIP. Запуск на Android 00:10:00
53 чел. ★ 4.8 Done
  На этом уроке мы запустим нашу доску на операционной системе Android.
Приготовьте свой планшет/телефон и приступайте к эскпорту и запуску!
* Выполнять этот урок не обязательно.

Отчёт отправил: 11589. Yefim Выполнено за 1 день 14 час. 19 мин. [Показать отчёт]
Научился: У меня Андроид в телефоне. В его настройках вошел в раздел "Параметры разработчика" Далее пометил галочкой Отладка USB  
Сложности: Далее на РС: После клика Build Settings-> Android появилось то, что видим на скрине. При клике на "Open Download Page" скачался файл UnitySetup-Android-Support-for-Editor-2017.3.1f1.exe Что с ним делать? Я отозвал свой отчет и установил упомянутый файл. После чего Unity позволил мне продолжить процесс, но после создания папки Android предложил выбрать еще одну папку (см. второй Скрин)  
10 Доска. VIP. Запуск в Интернете 00:11:24
53 чел. ★ 4.9 Done
  На этом уроке мы отправим наш проект в Интернет.
Для этого мы воспользуемся технологией WebGL.
Генерация страницы занимает продолжительное время.
Засеки момент начала и напиши в отчете сколько времени это заняло.

* Выполнять этот урок необязательно.

Отчёт отправил: 11589. Yefim Выполнено за 10 час. 17 мин. [Показать отчёт]
Научился: Процесс занял примерно 5 минут. Но я не уверен, что он дошел до конца ибо на каком-то этапе антивирус заблокировал процесс. Тем не менее, Как видео на скрине, Доска запустилась и функционирует в браузере нормально.  
Сложности: Если же я запускаю index.html, то браузер выдает сообщение (см. Скрин)  
11 FREE Классы. Архитектура проекта 00:19:24
1 тест
64 чел. ★ 5 Done
  На этом уроке мы познакомимся с архитектурой проекта,
посмотрим на предстоящее путешествие с высоты птичьего полёта.
Задание: написать, что для вас в этом плане самое простое, а что - самое сложное.

Отчёт отправил: 11589. Yefim Выполнено за 1 час. 32 мин. [Показать отчёт]
Научился: Если предложенную схему разделить посередине вертикальной линией на 2 части, то левая часть для меня проще.  
12 Классы. Шахматная библиотека 00:15:22
2 теста
53 чел. ★ 4.9 Done
  На данном уроке мы начинаем создание шахматных классов на языке C#, которые позволят проверять правила игры.
Для этого мы напишем библиотеку, которая сможет для любой шахматной позиции определить возможность любого хода.
Отчёт отправил: 11589. Yefim Выполнено за 2 час. 13 мин. [Показать отчёт]
Научился: Создавать и тестировать новый проект типа Library 
Сложности: --- 
13 Классы. Цветная фигура 00:10:21
53 чел. ★ 4.9 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы рассмотри схему библиотеки dll,
которая поможет нам сориентироваться в дальнейших действиях.
Отчёт отправил: 11589. Yefim Выполнено за 3 час. 32 мин. [Показать отчёт]
Научился: Создавать перечисления Figures & Color 
Сложности: --- 
14 Классы. Квадратная площадь 00:14:59
52 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим структуру классов
с минимально необходимым кодом.

Отчёт отправил: 11589. Yefim Выполнено за 2 час. 16 мин. [Показать отчёт]
Научился: Создавать структуру Square  
Сложности: --- 
15 Классы. Фигурой марш! 00:11:52
51 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим классы для
хранения и перемещения фигур по клеткам.
Отчёт отправил: 11589. Yefim Выполнено за 23 час. 41 мин. [Показать отчёт]
Научился: Сoздавать клaссы FigureOnSquare() и  FigureMoving() 
Сложности: Быстро найти очередной урок Почему-то в разделе !Ваши активные уроки"  не отражается этот курс :(. 
16 Классы. Квадратная матрица 00:09:56
51 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим класс Board(),
который будет заниматься доской и работать с FEN.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 6 мин. [Показать отчёт]
Научился: Создавать Класс Board 
Сложности: ---- 
17 Классы. Стой, кто идёт! 00:10:04
51 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим класс Moves(),
который будет заниматься проверкой возможности хода.

Отчёт отправил: 11589. Yefim Выполнено за 17 час. 21 мин. [Показать отчёт]
Научился: 2. Сoздавать клaсс Moves() 
Сложности: Я отозвал свой первый отчет. Благодаря Ивану Воронину была замечена моя ошибка, сделанная по невнимательности.  Большое спасибо Ивану за добросовестную проверку!!! 
18 Классы. Шахматная бюрократия 00:07:58
50 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы допишем класс Chess().
Отчёт отправил: 11589. Yefim Выполнено за 10 час. 51 мин. [Показать отчёт]
Научился: Модифицировать методы класса Chess. 
Сложности: --- 
19 Классы. Консольная доска 00:14:05
1 тест
49 чел. ★ 5 Done
  Мы приступаем к написанию тестов для нашей библиотеки.
На этом уроке мы создадим функционал для отображения доски
и исправим старую ошибку копипаста.

Отчёт отправил: 11589. Yefim Выполнено за 3 час. 19 мин. [Показать отчёт]
Научился: Отображать в консоли Шахматную позицию в цвете. Я преднамеренно отобразил 2 варианта для сравнения 
Сложности: На первый взгляд кажется, что запрограммировать короля легче всего. Но если учесть необходимость реализовать Рокировку, то пожалуй с конем иметь дело проще. Как ни странно, но самым сложным мне представляется программировать ходы для пешки. 
20 Классы. ВТОРОЙ ФИНАЛЬНЫЙ УРОК 00:00:00
49 чел. ★ 4.8 Done
  Мы создали все основные классы нашего проекта.
Твоя задача - нарисовать UML схему созданных классов.
Нарисовать схему значительно проще, когда проект уже готов.
Поэтому задание не сложное, но очень, очень полезное и нужное.
Используй иерархическую структуру Solution Explorer в VisualStudio.
Нарисовать можно от руки, либо в сервисе draw.io.
Можно использовать любой другой *не автоматический* инструмент рисования.
Важно сделать это самостоятельно, а не сгенерить программой! Поэтому рисуй сам.

* Не забывайте потом дорисовывать схему в процессе добавления новых методов в классах.

Отчёт отправил: 11589. Yefim Выполнено за 1 час. 14 мин. [Показать отчёт]
Научился: Рисовать структуру проекта 
Сложности: Рисовать структуру проекта 
21 Алгоритмы. Волшебные шахматы 00:22:30
1 тест
47 чел. ★ 5 Done
  Мы приступаем к написанию шахматных алгоритмов.
На этом уроке мы добавил в класс Board() необходимые
свойства и реализуем парсинг передаваемого FEN.

Отчёт отправил: 11589. Yefim Выполнено за 4 час. 51 мин. [Показать отчёт]
Научился: Инициализировать фигуры на доске  
Сложности: Первую часть функции InitFigures() я реализовал по-другому. Вопрос: Насколько это может сказаться в будущем?  
22 Алгоритмы. Сборка фена 00:16:34
1 тест
46 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем формирование
текущей позиции в формате FEN.

Отчёт отправил: 11589. Yefim Выполнено за 13 час. 39 мин. [Показать отчёт]
Научился: Реализовывать функцию GenerateFEN()  
Сложности: Интересно, что у меня  взятие пешки с  единицами прошло корректно. Но в окончательном варианте фен выглядит короче. 
23 Алгоритмы. Генератор ходов 00:19:11
1 тест
43 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы начинаем реализацию проверок
можно ли пойти с одной клетки на другую.
Отчёт отправил: 11589. Yefim Выполнено за 22 час. 54 мин. [Показать отчёт]
Научился: Создавать функции с использованием yield. 
Сложности: Создавать функции с использованием yield.  Где можно прочитать об этом с внятным объяснением? 
24 Алгоритмы. Куда идёт Король 00:10:43
1 тест
42 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем проверку
может ли King пойти с одной клетки на другую.
Отчёт отправил: 11589. Yefim Выполнено за 54 мин. [Показать отчёт]
Научился: Делать первые шаги короля. Красивый код получился! 
Сложности: --- 
25 Алгоритмы. Ночью с Конём 00:05:05
1 тест
42 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем проверку
может ли Knight пойти с одной клетки на другую.
Отчёт отправил: 11589. Yefim Выполнено за 23 час. 57 мин. [Показать отчёт]
Научился: Повторил программирование ходов коня 
Сложности: Тема знакома по курсу Микро шахматы 
26 Алгоритмы. Дальнобойщики 00:17:19
1 тест
42 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы переходим к дальнобойным фигурам.
Отчёт отправил: 11589. Yefim Выполнено за 13 час. 50 мин. [Показать отчёт]
Научился: Реализовывать ходы ферзей, ладей и слонов. 
Сложности: Неплохо бы реализовать графическое отображение возможных ходов. 
27 Алгоритмы. Храбрая пешка 00:19:03
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы приступаем к реализации
алгоритмов самой сложной фигуры: Pawn.
Отчёт отправил: 11589. Yefim Выполнено за 10 час. 47 мин. [Показать отчёт]
Научился: Программировать некоторые ходы пешек. 
Сложности: При написании функции CanPownEat(int stepY) первым условием мы проверяем есть ли в клетке взятия фигура. Причем неважно какого цвета. Функция работает корректно. Непонятно, где учитывается цвет фигуры на этой клетке?  
28 Алгоритмы. Четвёртое превращение 00:12:27
1 тест
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем превращение Pawn
в одну из четырёх фигур: Queen, Knight, Bishop и Rook.
Отчёт отправил: 11589. Yefim Выполнено за 12 час. 55 мин. [Показать отчёт]
Научился: Продвигать пешки 
Сложности: Непонятен синтаксис параметров функции YieldPromotions() 
29 Алгоритмы. Рефакторинг на доске 00:17:03
1 тест
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы займёмся рефакторингом.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 28 мин. [Показать отчёт]
Научился: Хотелось бы самому научиться делать рефакторинг. 
Сложности: --- 
30 Алгоритмы. Допрыгалась! 00:21:20
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы займёмся взятием пешкой на проходе.
Отчёт отправил: 11589. Yefim Выполнено за 12 час. 1 мин. [Показать отчёт]
Научился: Брать пешки на проходе. Надеюсь моя коррекция метода SetEnpassant() не испортила код.  
Сложности: Следует отметить момент, что если пешка не использовала свою возможность взятия на проходе, то эта возможность утрачивается. И это хорошо демонстрируется на скрине.  
31 Алгоритмы. Королевский паркур 00:25:05
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем рокировку.
Отчёт отправил: 11589. Yefim Выполнено за 11 час. 41 мин. [Показать отчёт]
Научился: программировать ракировку 
Сложности: Нашел ошибку в своем коде, сделанную на одном из прошлых уроков. 
32 Алгоритмы. Защита короля 00:20:26
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы будем защищать короля от ШАХа.
Отчёт отправил: 11589. Yefim Выполнено за 12 час. 26 мин. [Показать отчёт]
Научился: Программировать проверку шаха 
Сложности: Понять сак работает метод IsCheck(); Слишком уж фантастично все получается Непонятно, почему в качестве самостоятельного задания указано:   1. (no items) В методе CanEatKing() неудачное имя Square badKing На мой взгляд следовало бы назвать Square squareForBadKing  
33 Алгоритмы. Шах и Мат! 00:09:55
41 чел. ★ 5 Done
  Мы заканчиваем написание шахматных алгоритмов.
На этом уроке мы реализуем возврат ситуации на доске.
Отчёт отправил: 11589. Yefim Выполнено за 3 час. 26 мин. [Показать отчёт]
Научился: Реагировать на мат, пат и ничью в случае одиноких королей 
Сложности: Реализовал регистрацию ничьи в случае одиноких королей. Конечно, не так изящно, как это бы сделал Игромистр. Критерий - количество фигур на доске = 2.  
34 Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК 00:03:57
41 чел. ★ 5 Done
  На этом уроке мы исправим одну ошибку и добавим ещё один вариант метода GetFigureAt(string xy).
Ваше задание - записать подробный отзыв об алгоритмической части проекта.
Отчёт отправил: 11589. Yefim Выполнено за 2 час. 2 мин. [Показать отчёт]
Научился: Исправлять некоторые ошибки. 
Сложности: Прошла еще одна часть курса "Шахматы on-line", посвященная шахматным алгоритмам. Вообще-то на этом портале я уже проходил один шикарный шахматный курс "Микро шахматы". Честно говоря, решившись на курс "Шахматы on-line", я был настроен, что, по части алгоритмов, буду скучать, так в основном я уже с ними знаком но микро-шахматам. К счастью, мои опасения не оправдались. Здесь я у видел совсем другой подход. В полной мере было использовано Объектно-ориентирванное программирование. В рамках простого консольного приложения были созданы различные классы и затем показано их взаимодействие. Причем волшебство не возникло вдруг, неожиданно. Оно нарастало постепенно, начиная с простых конструкций до довольно сложных взаимосвязей. Особенно хочется отметить красоту и изящество полученного кода! Остается только удивляться, как до это всего можно додуматься. Но это, видимо, приходит с опытом. По рекомендации Игромистра мне удалось реализовать фиксацию одну из разновидностей ничейных результатов, когда на доске остаются одни короли. Теперь я еще больше заинтригован. И хочется поскорее узнать, как сделанные наработки можно будет использовать в системе Unity.  
35 Алгоритмы. VIP. Шахматное супертестирование 00:11:34
41 чел. ★ 5 Done
  На этом уроке мы проверим корректность ваших алгоритмов.
Для этого мы прогоним супер-тест по генерации всех вариантов.

* Выполнять этот урок необязательно.

Ссылка:
Сайт с результатами тестирования

Отчёт отправил: 11589. Yefim Выполнено за 13 час. 36 мин. [Показать отчёт]
Научился: Проводить супер тестирование своей шахматной программы 
Сложности: Если рассчитывать на глубокое тестирование то функция NextMoves(...) должна возвращать тип long. 
36 Алгоритмы. VIP. Можно пройти? 00:02:13
41 чел. ★ 5 Done
  На этом уроке мы немного порефакторим и
добавим очень полезную функцию.
Отчёт отправил: 11589. Yefim Выполнено за 26 мин. [Показать отчёт]
Научился: Мoдифицирoвать функцию Chess().Move() 
Сложности: Потерпев неудачу в предыдущем уроке, я долго не мог найти свою ошибку. Оказалось, что файл zero.png состоит из одного пикселя, а я его сделал 200х200 полностью прозрачным. надеюсь, теперь смогу дальше продвигаться. 
37 Алгоритмы. VIP. Как пройти в библиотеку 00:10:35
40 чел. ★ 5 Done
  На этом уроке мы подготовим библиотеку ChessRules.
Для этого мы скомпилируем её в необходимой версии .NET
и проверим работоспособность в Unity проекте.

Отчёт отправил: 11589. Yefim Выполнено за 3 час. 55 мин. [Показать отчёт]
Научился: Подключать библиотеку к проекту Unity  
Сложности: Долгое время не получалось подключить библиотеку. Так и не понял каким образом получилось в конце концов. 
38 Интерфейс. План действий 00:10:23
40 чел. ★ 5 Done
  На этом уроке мы обсудим дальнейший план действий.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 21 мин. [Показать отчёт]
Научился: Удалять фигуры 
Сложности: Не могу поладить с вспомогательными окнами: Project, Hierarchy. не удается менять их размеры, не смотря на то, что курсор на их границах активизируется. 
39 Интерфейс. Генерация объектов 00:16:45
40 чел. ★ 5 Done
  На этом уроке мы сгенерируем шахматную доску
с базовыми объектами на ней.
Отчёт отправил: 11589. Yefim Выполнено за 2 час. 32 мин. [Показать отчёт]
Научился: Строить динамически доску 
Сложности: Не сразу все получилось.  
40 Интерфейс. Начальная позиция 00:11:23
39 чел. ★ 5 Done
  На этом уроке мы добавим ранее созданную
библиотеку ChessRules.dll в проект на Unity.

Отчёт отправил: 11589. Yefim Выполнено за 15 час. 7 мин. [Показать отчёт]
Научился: Чему я только не научился :( 
Сложности: Казалось бы простой урок. Но мне не удалось выполнить его в полном объёме. Прошу о помощи. Вопрос: После изменения кода, надо ли компилировать его в VS или это сделает Unity при запуске? 
41 Интерфейс. Ход делегата 00:10:28
39 чел. ★ 5 Done
  На этом уроке мы активируем проверку ходов,
которую реализовали в ChessRules.dll.

Отчёт отправил: 11589. Yefim Выполнено за 2 час. 59 мин. [Показать отчёт]
Научился: Дoрaбатывать вспoмогaтельныe фyнкции DragAndDrop().PickUp/Drop() 
Сложности: У меня почему-то мышка фигуру не отпускает. При последующем клике первоначально взятая фигура остается на месте последнего клика. Вторая проблема связана  с обновленным dll- файлом. Unity противится с ним работать. 
42 Интерфейс. Проверка хода 00:09:44
37 чел. ★ 5 Done
  Мы продолжаем реализацию необходимого функционала для
активации проверки ходов на основе ChessRules.dll.
Отчёт отправил: 11589. Yefim Выполнено за 22 час. 33 мин. [Показать отчёт]
Научился: Рeализoвывать вспомoгатeльные фyнкции Board().VectorToSquare() и Board().DropObject() 
Сложности: Все получилось 
43 Интерфейс. VIP. Клетки отправления 00:09:17
37 чел. ★ 4.9 Done
  Это бонусный урок, выполнять его не обязательно.
На данном уроке мы реализуем подсветку тех клеток,
с которых можно ходить.
Отчёт отправил: 11589. Yefim Выполнено за 11 час. 20 мин. [Показать отчёт]
Научился: Делать подсветку тех клеток, с которых можно ходить. 
Сложности: Всё ясно. 
44 Интерфейс. VIP. Клетки прибытия 00:09:17
1 тест
37 чел. ★ 4.9 Done
  Это бонусный урок, выполнять его не обязательно.
На данном уроке мы реализуем подсветку тех клеток,
на которые можно ходить.
Отчёт отправил: 11589. Yefim Выполнено за 14 час. 44 мин. [Показать отчёт]
Научился: Реализовывать подсветку тех клеток, на которые можно ходить. 
Сложности: Шикарный урок! 
45 Интерфейс. Щепотка рефакторинга 00:07:18
1 тест
37 чел. ★ 4.9 Done
  На этом уроке мы начинаем подготовку к
превращению пешки в одну из четырёх фигур.
Для начала проведём небольшой рефакторинг.
Отчёт отправил: 11589. Yefim Выполнено за 48 мин. [Показать отчёт]
Научился: Рeализoвывать вспомoгатeльные фyнкции Board().CreateGameObject() и Board().SetSprite() 
Сложности: Отличный рефакторинг! 
46 Интерфейс. Выставка фигур 00:09:01
37 чел. ★ 4.9 Done
  На этом уроке мы продолжаем подготовку к
превращению пешки в одну из четырёх фигур.
Теперь нам надо подготовить фигуры, в которые будем превращать.
Отчёт отправил: 11589. Yefim Выполнено за 12 час. 22 мин. [Показать отчёт]
Научился: Рeализoвывать вспомoгатeльную фyнкцию Board().ShowPromotionFigures() 
Сложности: Все ясно. А короткие уроки мне подходят больше. Легче найти для них время.  
47 Интерфейс. Долгожданное превращение 00:17:16
36 чел. ★ 5 Done
  На этом уроке мы наконец превратим
нашу пешку в одну из четырёх фигур.
Отчёт отправил: 11589. Yefim Выполнено за 12 час. 2 мин. [Показать отчёт]
Научился: Прeвpащать пешку в одну из четырёх фигур. 
Сложности: Мне кажется правильней в функции  void PickObject(Vector2 from) вместо  if использовать switch.  
48 Интерфейс. ЧЕТВЁРТЫЙ ФИНАЛЬНЫЙ УРОК 00:00:00
37 чел. ★ 4.9 Done
  Напишите отзыв о четвёртой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 21 мин. [Показать отчёт]
Научился: Писать отзыв 
Сложности: Прошла еще одна часть курса "Шахматы on-line". Если предыдущая часть была посвящена шахматным алгоритмам и оформлению их в специальную библиотеку в виде файла ChessRulls.dll, то этой части мы начали пользоваться результатами, реализованными раннее. Но дело теперь не ограничивалось только консольным представлением. Всё больше и больше мы углублялись в использование ресурсов самой среды Unity. Для начала мы привязали упомянутую выше библиотеку к своему Unity-проекту. Убедились, что проект действительно взаимодействует с библиотекой. Восстановили технологию Drug-Drop применительно к шахматным фигурам, но на этот раз фигуры уже не могли передвигаться свободно, как прежде. Благодаря внедренной библиотеке, фигуры стали вести себя строго в соответствии с шахматными правилами. Периодически проводился рефакторинг, значительно улучшая структуру программы. Реализован необязательный функционал, позволяющий отображать клетки фигур, которые могут ходить в данный момент, а при клике на данную фигуру подсвечиваются клетки, куда может ходить данная фигура. При всех прелестях этого функционала,  неплохо бы в окончательной версии установить опциональность этих возможностей. Особый восторг вызвал у меня реализация превращения пешки. В этой части курса многие уроки оказались весьма короткими. А поскольку за них все равно приходилось отчитываться, то и усвоение уроков оказывалось более тщательным. С нетерпением жду продолжения курса.  
49 База данных. Management в студию! 00:02:39
35 чел. ★ 4.9 Done
  На этом уроке мы приступаем к созданию БД
для нашего сервера шахматы онлайн.

Отчёт отправил: 11589. Yefim Выполнено за 17 час. 27 мин. [Показать отчёт]
Научился: Устанавливить SQL Server Management Studio 
Сложности: Убeдится, чтo устанoвлен MS SQL Server 
50 База данных. Планирование 00:17:52
37 чел. ★ 4.9 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы спроектируем схему нашей БД.
Отчёт отправил: 11589. Yefim Выполнено за 23 час. 28 мин. [Показать отчёт]
Научился: Риcовать сxемaтично cтpуктyру БД 
Сложности: Прежде чем планировать БД, необходимо сформулировать постановку задачи. Только в середине урока начали проявляться её (постановки задачи) очертания . И тогда стало понятно о чем идет речь.  
51 База данных. Упрощение 00:08:09
36 чел. ★ 4.8 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы упростим схему нашей БД.
Отчёт отправил: 11589. Yefim Выполнено за 29 мин. [Показать отчёт]
Научился: Упpощать структyрy БД 
Сложности: Как я отметил в предыдущем отчёте все упирается в постановку задачи. Если мы не хотим хранить историю игр. то, конечно, схему можно и нужно упростить.  
52 База данных. Созидание 00:06:52
35 чел. ★ 4.9 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы наконец создадим
нашу базу данных для онлайн шахмат.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 3 мин. [Показать отчёт]
Научился: Создавать БД 
Сложности: У меня сценарий действий несколько отличался. Но конечный результат совпал  
53 База данных. VIP. Таблицы на вырост 00:12:53
34 чел. ★ 4.9 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы создадим дополнительные таблицы,
которые понадобятся для реализации полноценной онлайн игры.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 50 мин. [Показать отчёт]
Научился: Связывать таблицы  
Сложности: Долго не получалось выполнить задание.  
54 База данных. VIP. Красивая диаграма 00:04:41
34 чел. ★ 4.9 Done
  На данном уроке мы нарисуем диаграмму нашей БД.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 0 мин. [Показать отчёт]
Научился: Делать Диаграммы 
Сложности: --- 
55 База данных. ПЯТЫЙ ФИНАЛЬНЫЙ УРОК 00:00:00
34 чел. ★ 4.8 Done
  Напишите отзыв о пятой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 11589. Yefim Выполнено за 2 час. 27 мин. [Показать отчёт]
Научился: 5-я часть курса "Шахматы on-line" посвящена знакомству с базой данных SQL Server Management Studio для последующего использования её в проекте. Само по себе знакомство с новыми возможностями в информационных технологиях - это уже хорошо. Однако, не совсем понятно, зачем нужен именно такой "монстр". Почему для этой цели нельзя использовать что-нибудь полегче типа SQLite или MySQL?     Вероятно, в принятом Евгением Витольдовичем решинии есть определенный смысл. И об этом следовало бы подчеркнуть. Эта часть курса оказалась короткой, но довольно информативной. Мы научились создавать создавать базу данных и связывать её таблицы. Особо понравилось визуальное представление всех таблиц с их взаимосвязями. Хотелось бы по скорее увидеть это все в действии.  
Сложности: --- 
56 Сервер. Последняя версия 00:12:29
33 чел. ★ 5 Done
  На данном уроке мы приступаем к созданию
серверной части нашего онлайн проекта по шахматам.
Отчёт отправил: 11589. Yefim Выполнено за 14 час. 38 мин. [Показать отчёт]
Научился: Сoздавать нoвый проект ChessAPI 
Сложности: --- 
57 Сервер. Райский Эдем - EDM 00:13:23
32 чел. ★ 5 Done
  На этом уроке мы создадим EDM - Entity Data Model.
Отчёт отправил: 11589. Yefim Выполнено за 2 дня 1 час. 16 мин. [Показать отчёт]
Научился: При первой попытке создания ChessController  у меня создался совершено другой код. При повторном просмотре урока я понял, что выбрал не тот тип контроллера. 
Сложности: Благодаря совету Ивана Воронина все получилось! Спасибо Иван! 
58 Сервер. Новая игра на JSON 00:11:40
32 чел. ★ 5 Done
  На этом уроке мы изменим формат вывода с XML на JSON.
Отчёт отправил: 11589. Yefim Выполнено за 12 час. 36 мин. [Показать отчёт]
Научился: Мoдифицирoвать файл Global.asax, контроллер ChessController Рeализoвывать вспомoгатeльную фyнкцию NewGame() 
Сложности: --- 
59 Сервер. Официант без логики 00:10:07
32 чел. ★ 5 Done
  На этом уроке мы будем упрощать наш ChessController.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 0 мин. [Показать отчёт]
Научился: Сoздавать фyнкцию Logic().GetCurrentGame() 
Сложности: В какой-то момент возникла проблема: При выполнении команды "Выбрать первые 1000 строк - отображались 2 строки А при выполнении команды Изменить первые 200 строк - отображалась только 1 строка Попытки кликом на обновить не помогали. Только после перезагрузки Ssms отображения были адекватны  
60 Сервер. Ваш ход! 00:19:29
32 чел. ★ 5 Done
  Мы продолжаем создание серверной части для
нашего проекта Шахматы по сети.
На этом уроке мы реализуем выполнение ходов.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 13 час. 56 мин. [Показать отчёт]
Научился: Мoдифицирoвать WebApiConfig().Register() 
Сложности: --- 
61 Сервер. Шахматная Идемпотентность 00:09:34
32 чел. ★ 5 Done
  Мы продолжаем создание серверной части для
нашего проекта Шахматы по сети.
На этом уроке мы обсудим Шахматную Идемпотентность.
Напишите своими словами, что такое Идемпотентность.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 10 мин. [Показать отчёт]
Научился: Мoдифицирoвать WebApiConfig().Register(), Logic().MakeMove()  
Сложности: В начале урока звучит вопрос: "Как сделать, чтобы оппонент смог увидеть, чем закончилась игра?" Но до конца урока оппонент так и не увидел, чем закончилась игра. Видимо, это будет впереди.  
62 Сервер. Китайская ничья 00:06:28
31 чел. ★ 5 Done
  Мы продолжаем создание серверной части для
нашего проекта Шахматы по сети.
На этом уроке мы реализуем завершение игры при сдаче.
Отчёт отправил: 11589. Yefim Выполнено за 8 час. 34 мин. [Показать отчёт]
Научился: Рeализoвывать функцию Logic().ResignGame() 
Сложности: --- 
63 Сервер. ШЕСТОЙ ФИНАЛЬНЫЙ УРОК 00:00:00
31 чел. ★ 4.8 Done
  Напишите отзыв о шестой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 11589. Yefim Выполнено за 3 час. 47 мин. [Показать отчёт]
Научился: Серверная часть это мой первый опыт знакомства с сервером на языке C# с использованием базы данных Ssms.  
Сложности: Не все шло гладко. Однажды из-за невнимательности создал не тот тип контроллера, а потом удивлялся, почему код в нем оказался другим. Однако, благодаря дружественной атмосфере формулистского сообщества, удалось найти ошибку, продолжить и успешно завершить эту часть курса.  
64 Хостинг. Регистрация аккаунта 00:05:13
31 чел. ★ 4.9 Done
  Приступаем к размещению нашего сервера в интернете.
Для этого нам потребуется Windows-хостинг с поддержкой ASP.NET

Чтобы мы были на одной волне и смогли проработать всё вместе,
пожалуйста зарегистрируйтесь на этом хостинг-сервисе:

Ссылка для регистрации на хостинге: https://www.reg.ru/?rlink=reflink-30461

Отчёт отправил: 11589. Yefim Выполнено за 14 час. 0 мин. [Показать отчёт]
Научился: Регистрироваться на reg.ru  
Сложности: Особое Спасибо Евгению Витольдовичу за эту часть курса! 
65 Хостинг. Лучше заплатить 00:11:12
31 чел. ★ 4.8 Done
  На этом уроке мы выберем план, доменное имя, укажем контактную информацию.

Отчёт отправил: 11589. Yefim Выполнено за 3 час. 43 мин. [Показать отчёт]
Научился: Узнал, что не всё так просто. 
Сложности: Есть технические проблемы с оплатой. В списке других систем оплат имеется PayPal, которую я использую всегда. Однако ссылка неактивна. Попытался через МастерКард.  пробный платеж 1 р. прошел. Остальные нет Что делать? 
66 Хостинг. Доступ по FTP 00:10:08
31 чел. ★ 5 Done
  На этом уроке мы установим пароль для подключения к хостингу по FTP.

Напишите, какой FTP-клиент вы используете и приложите
скриншот вашей FTP программы с подключением к хостингу.
Отчёт отправил: 11589. Yefim Выполнено за 19 час. 44 мин. [Показать отчёт]
Научился: Пoдключfться к FTP xостингу  
Сложности: Главное доменное имя пока не работает. Видимо, требуется время. 
67 Хостинг. Публикация проекта 00:12:13
31 чел. ★ 5 Done
  На этом уроке мы настроим публикацию проекта из Visual Studio.
Выполните все шаги и опубликуйте проект.

Приложите скриншот Visual Studio с логами публикации
и содержимое FTP каталога после публикации.
Отчёт отправил: 11589. Yefim Выполнено за 21 час. 44 мин. [Показать отчёт]
Научился: Опубликовывать проект на сайте 
68 Хостинг. Перенос базы данных 00:11:56
30 чел. ★ 5 Done
  На этом уроке мы перенесём базу данных на сервер и подключимся к ней из скрипта.

Отчёт отправил: 11589. Yefim Выполнено за 23 час. 35 мин. [Показать отчёт]
Научился: Сoздавать pезервнyю копию БД, Дoбавлять MSSQL БД нa хостингe Импoртиpовать рeзеpвную кoпию в БД нa хoстинге Пpопиcывать стрoку пoдключения к БД нa xоcтинге Тeстировaть api/Chess чеpез aдpеcную строку 
Сложности: Урок короткий, но очень насыщенный. Еа удивление все получилось с первого раза. 
69 Хостинг. VIP. Двойные стандарты 00:07:32
30 чел. ★ 5 Done
  На этом уроке мы обсудим нюансы с публикацией
очередной версии серверной части на хостинге.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 10 час. 50 мин. [Показать отчёт]
Научился: Мoдифицирoвать Web.Release.config 
Сложности: После обновления файла Web.Release.config в процессе публикации столкнулся с проблемой см. скрины. Я обратил внимание, что моя строка  connectionString="data source... в коде VS проекта в конце, часть пароля, подсвечена красным. Подозреваю, это создало проблему, поскольку пароль содержит '&'. Пришлось восстанавливать публикацию вручную.  
70 Хостинг. СЕДЬМОЙ ФИНАЛЬНЫЙ УРОК 00:00:00
30 чел. ★ 5 Done
  В этой части мы разместили сервер не хостинге.
Шахматная серверная программа нашла пристанище в интернете.
Наконец-таки можно будет переходить к игре по сети.

Напишите в отчёте, всё ли получилось
и по какому адресу можно найти ваш серверный API.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 16 мин. [Показать отчёт]
Научился: Эта часть  курса посвящена Хостингу. Пришла очередь выложить проект в интернете. Т.е. мы подошли вплотную к тому, ради чего все делалось до сих пор. Тема для меня новая и поэтому особо интересна. Регистрация на сайте reg.ru прошла без проблем, хотя некоторые вопросы заняли несколько дней. За хостинг пришлось заплатить чисто символические деньги. Но как раз здесь были технические проблемы. Правда на следующий день все наладилось и можно было приступить к полноценной работе. Получил первый опыт публикации проекта и переноса базы данных на хостинг с последующим тестированием. Надеюсь, регистрация на этом сайте позволит приобрести больший опыт в разработке различных Веб-приложений.  
71 Клиент. Достучаться до облака 00:05:06
29 чел. ★ 5 Done
  На этом уроке мы приступаем к завершающему этапу
по созданию клиент-серверной игры "Онлайн шахматы".
Отчёт отправил: 11589. Yefim Выполнено за 11 час. 49 мин. [Показать отчёт]
Научился: Рeализoвывать функцию Client().GetFenFromServer() 
Сложности: --- 
72 Клиент. Дедовские методы 00:05:19
29 чел. ★ 5 Done
  На этом уроке мы выделим FEN из полученной json строки.
Отчёт отправил: 11589. Yefim Выполнено за 10 час. 35 мин. [Показать отчёт]
Научился: Рeализoвывать вспомoгатeльную фyнкцию Client().GetFenFromJSON() 
Сложности: --- 
73 Клиент. Ход в мешке 00:15:23
29 чел. ★ 5 Done
  На этом уроке мы научимся отправлять на сервер наш ход.
Отчёт отправил: 11589. Yefim Выполнено за 15 час. 3 мин. [Показать отчёт]
Научился: Ототпpaвлять на cервер ход 
74 Клиент. Серверные пешки 00:05:25
29 чел. ★ 5 Done
  На этом уроке мы используем ранее созданный класс Client()
в наш проект на Unity, чтобы можно было поиграть с GUI.
Отчёт отправил: 11589. Yefim Выполнено за 7 час. 49 мин. [Показать отчёт]
Научился: Импортировать класс Client. 
Сложности: На скриншоте приведена позиция с прошлого урока. Видно что Unity считал позицию с сервера и она совпадает с позицией прошлого урока  
75 Клиент. Следы невиданных ходов 00:07:25
29 чел. ★ 5 Done
  На этом уроке мы реализуем отправку хода через GUI.
Отчёт отправил: 11589. Yefim Выполнено за 14 час. 7 мин. [Показать отчёт]
Научился: Реaлизовывать oтпрaвку хода через GUI. Классно! Нет слов!!! 
Сложности: При замене файла dll были некоторые проблемы. Но потом все само собой утряслось. 
76 Клиент. Фоновое обновление 00:11:50
29 чел. ★ 5 Done
  На этом уроке мы реализуем функцию
обновления текущего состояния на доске.
Отчёт отправил: 11589. Yefim Выполнено за 4 час. 17 мин. [Показать отчёт]
Научился: Обнoвлять текущее состояние на доске. 
Сложности: Сложностей не было. На скрине соревнование Экзэшников с помощью Teamviewer: Home.exe and Job.exe. Назревает детский мат. 
77 FREE Клиент. ВОСЬМОЙ ФИНАЛЬНЫЙ УРОК 00:03:01
27 чел. ★ 5 Done
  Поздравляю вас с завершением нашего эпического курса
по созданию клиент-серверной игры в шахматы по сети!

Запишите живое видео, где будет видно, что в игру
можно поиграть с двух разных устройств/компьютеров.

Расскажите на видео о своём подвиге.
Чем курс понравился, что было сложно,
что было интересно, что можно будет добавить.
Отчёт отправил: 11589. Yefim Выполнено за 4 дня 7 час. 56 мин. [Показать отчёт]
Научился: Зaписывaть видеоoбзоp с oтзывoм о кyрсе. 
Сложности: Зaписывaть видеоoбзоp с oтзывoм о кyрсе. 
Видеообзор: _h_Z3iY8v7E
78 Рефакторинг. С чего начать? 00:05:39
24 чел. ★ 5 Done
  На этом уроке мы начинаем рефакторинг
кода клиентской части на Unity.
Отчёт отправил: 11589. Yefim Выполнено за 22 час. 39 мин. [Показать отчёт]
Научился: Выделять класс в самостоятельный классовый файл 
Сложности: Непонятно, почему в проекте видео урока отсутствует файл класса Client. 
79 Рефакторинг. Координатные трансформации 00:14:04
24 чел. ★ 5 Done
  На этом уроке мы продолжаем рефакторинг
и сейчас мы выделим статические элементы.

Отчёт отправил: 11589. Yefim Выполнено за 12 час. 21 мин. [Показать отчёт]
Научился: Создавать класс Coords. 
Сложности: --- 
80 Рефакторинг. Чёрный ящик 00:07:38
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы займёмся словарями.
Отчёт отправил: 11589. Yefim Выполнено за 40 мин. [Показать отчёт]
Научился: Создавать класс Box 
Сложности: --- 
81 Рефакторинг. Интерфейсная прослойка 00:10:35
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим интерфейс ICreatable.
Отчёт отправил: 11589. Yefim Выполнено за 7 час. 33 мин. [Показать отчёт]
Научился: Создавать Интерфейсную прослойку 
Сложности: Трудно было понять для чего все это надо 
82 Рефакторинг. Ящик с фигурами 00:04:16
1 тест
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы сделаем класс Box() абстрактным.
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 50 мин. [Показать отчёт]
Научился: Сoздавать клaсс BoxFigures() : Box 
Сложности: Понять для чего все это нужно. 
83 Рефакторинг. Многоклеточная сущность 00:06:48
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс BoxSquares().
Отчёт отправил: 11589. Yefim Выполнено за 41 мин. [Показать отчёт]
Научился: Сoздавать клaсс BoxSquares() : Box  
Сложности: Стал понимать пользу от данного рефакторинга 
84 Рефакторинг. Вынос переноса 00:02:34
24 чел. ★ 4.9 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс Box().SetPosition().
Отчёт отправил: 11589. Yefim Выполнено за 39 мин. [Показать отчёт]
Научился: Рeализoвывать функцию Box().SetPosition() 
Сложности: Ультра короткий урок 
85 Рефакторинг. Спрайт, не дай себя заинтерфейсить 00:07:18
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс Box().SetSpriteAt().
Отчёт отправил: 11589. Yefim Выполнено за 32 мин. [Показать отчёт]
Научился: Рeализoвывать методы Box().SetSpriteAt() 
Сложности: --- 
86 Рефакторинг. Клетка в клетке 00:04:46
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы перенесём и разделим класс ShowSquare().
Отчёт отправил: 11589. Yefim Выполнено за 19 мин. [Показать отчёт]
Научился: Пeрeносить функцию ShowSqares() из Board() в BoxSqares() 
Сложности: --- 
87 Рефакторинг. Шахматная независимость 00:07:23
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы перенесём некоторые функции в класс BoxSquares().
Отчёт отправил: 11589. Yefim Выполнено за 57 мин. [Показать отчёт]
Научился: Пeрeносить функцию UnmarkSqares() из Board() в BoxSquares() 
Сложности: --- 
88 Рефакторинг. Хоровод из четырёх фигур 00:14:37
24 чел. ★ 4.9 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы порефакторим функционал превращения пешки.
Отчёт отправил: 11589. Yefim Выполнено за 3 час. 45 мин. [Показать отчёт]
Научился: Мoдифицирoвать класc Board() 
Сложности: При работе с классом Client всё было нормально. При отключении класса  Client  программа выдает исключение 
89 Рефакторинг. Волшебник изумрудного ящика 00:18:39
24 чел. ★ 4.9 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс BoxPromots().
Отчёт отправил: 11589. Yefim Выполнено за 1 час. 39 мин. [Показать отчёт]
Научился: Создавать класс BoxPromots 
Сложности: Отличный рефакторинг!!! 
90 Рефакторинг. Потерянная пешка 00:36:59
24 чел. ★ 4.9 Done
  На этом уроке мы вернёмся к нашей библиотеке
для исправления старой ошибки: пешка может
превратиться в чужую фигуру ил остаться пешкой.

Отчёт отправил: 11589. Yefim Выполнено за 23 час. 43 мин. [Показать отчёт]
Научился: Исправлять старые ошибки 
Сложности: Долго не мог понять почему в консоле всё работает а в Unity нет. Хотя dll обновил. Оказалось, что на сервере забыл обновить. В конце концов всё заработало! Отличный живой урок получился!!! 
91 Рефакторинг. Класс шахматной игры 00:13:15
23 чел. ★ 4.8 Done
  ЭТОТ УРОК НУЖНО ПЕРЕЗАПИСАТЬ. ДЛЯ ЭТОГО МНЕ НУЖЕН ПРОЕКТ ДО ЕГО ВЫПОЛНЕНИЯ.
ПОЖАЛУЙСТА ПЕРЕД ВЫПОЛНЕНИЕМ ЭТОГО УРОКА СОЗДАЙТЕ АРХИВ ПРОЕКТА И ПРИШЛИТЕ ЕГО МНЕ.

Мы на финишной прямой нашего рефакторинга.
На данном уроке мы вынесем логику игры в отдельный класс Game().

Отчёт отправил: 11589. Yefim Выполнено за 12 час. 56 мин. [Показать отчёт]
Научился: Как бы это по мягче выразиться? 
Сложности: После одного из уроков по рефакторингу, я обратил внимание, что в моем коде используются данные класса Client, а в видео уроке нет. Последовал ответ: "Потому что эта часть уроков создавалась до создания Клиента." Какое-то время это не особо мешало. Однако, выполняя урок Рефакторинг. Класс шахматной игры., я не сумел уладить код, так чтобы Client не мешал. Конечно, это ненормально, когда нарушается естественное изложение материала. Как решить эту проблему???  
92 Рефакторинг. Двухэтажное превращение 00:16:50
22 чел. ★ 5 Done
  Мы всё ближе и ближе к финишу нашего рефакторинга.
На данном уроке мы вынесем оставшуюся логику игры в класс Game().

Отчёт отправил: 11589. Yefim Выполнено за 2 час. 10 мин. [Показать отчёт]
Научился: ??? 
Сложности: В этом уроке вновь столкнулся с проблемой, связанной с нарушением естественного, последовательного, изложения материала. В моем коде присутстует метод MakeMove(onPromotionMove); В видео уроке его нет. В начале я его закомментировал. Компилляция проходит, но фигуры при освобождении кнопки мыши возвращяются на исходную позицию.Затем вернул MakeMove(...) и приспособил его к новым условиям. Теперь фигуры приземляются, но процес превращения пешки работает некорректно.  
93 Рефакторинг. Финальное причёсывание 00:06:58
22 чел. ★ 5 Done
  Мы поздравляем тебя с завершением рефакторинга.
На данном уроке мы причешем наши скрипты.
Отчёт отправил: 11589. Yefim Выполнено за 1 день 10 час. 28 мин. [Показать отчёт]
Научился: --- 
Сложности: После урока "Двухэтажное превращение" заметил незначительное изменение функциональности. Раннее после объявления мата игра автоматически начинала новую партию. Теперь - просто зловещая тишина. Для новой партии надо перезапускать программу. Вопрос: Так должно быть или где-то закралась ошибка?  
94 Рефакторинг. Последний аккорд 00:14:10
23 чел. ★ 4.9 Done
  На этом уроке мы заканчиваем наш эпический курс.
Получилось здорово.
Я доволен результатом.
Надеюсь, вы тоже.
Мы проделали огромную работу.
Каждый стал чуточку умнее и опытнее.
Отчёт отправил: 11589. Yefim Выполнено за 2 час. 46 мин. [Показать отчёт]
Научился: Последний аккорд поставил все на свои места! Завершающая часть этого великолепнейшего курса вызвала у меня противоречивые чувства. Как я отмечал в своих отчетах, из-за нарушения последовательности изложения материала у меня возникали трудности после некоторых уроков рефакторинга.  Несовпадение моего кода с тем, что демонстрировалось на уроке порой приводило меня в отчаяние. К счастью, это продолжалось не долго и последний аккорд поставил все на свои места! Я убрал все упоминания клиента в классе Board  и перенёс их в класс Game. И все снова заработало. Не смотря на упомянутые проблемы, впечатления от курса самые восторженные. Большое Спасибо, Евгений Витольдович!  
Сложности: --- 
95 VIP. Меню DimanDOSа 00:27:50
20 чел. ★ 5 Done
  1. Создание и размещение кнопки вызова меню и панели с кнопками.
2. Программирование действий по нажатиям кнопок -
создание функций и привязка их к событиям нажатия.

Отчёт отправил: 11589. Yefim Выполнено за 1 день 18 час. 37 мин. [Показать отчёт]
Научился: Устанавливать кнопки в Unity и  обрабатывать события Click! С большим восторгом изучал этот урок. Поздравляю, DimanDOS! С нетерпением жду продолжения. 
Сложности: Кнопка "Выход" работает нормально. Но какая-то проблема с методом Application.Quit();  
  Итого:   95 видеоуроков 17 час. 04 мин.
18 тестов
19 чел. ★ 4.96  
  Финалисты:   Дмитрий,   Yefim,   Tekashnik,   Иван Воронин,   ser2018,   Алексей,   Дмитрий Б,   alklokov,   FireWolf,   Andrew,   Max,   Новопашин Владимир,   Красимир Зорбов,   Антон,   Евгений,   Anatoli,   Freud,   Алена,   MaxB .

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: получили минимально рабочую версию, дальше нужно что то "прикручивать" по усмотрению и способностям



Научился: Научился делать сетевые шахматы на юнити под разные платформы. Были подробно рассмотрены шахматные алгоритмы и проверка правильности ходов, создание веб сервера с базой данных для сохранения игр и связи между игроками. Для полноты игры осталось добавить невозможность играть фигурами соперника, звуки, авторизацию пользователей и подобные украшательства. Ну и ещё рефакторинг...
Трудности: Решить некоторые возникающие в процессе создания игры ошибки, что, однако, дало бесценный опыт на будущее :)