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

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

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

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

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

После взноса  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
В результате мы создадим сервер, через который клиенты
смогут играть друг с другом в шахматы со смартфона.

Записаться на курс
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 18 мин. [Показать отчёт]
Научился: Убедился, что это - именно то, что мне необходимо на том жизненном этапе, в том месте, где я сейчас нахожусь. Все уроки простроены вполне адекватно и логично, при наличии видео можно "отмотать назад" для уточнения происходящего либо исправления ошибки, надеюсь, что и на возникший вопрос можно будет получить наводящий ответ. 
Сложности: Пока что - сложностей нет.  ..Ну, я же ещё не дошёл до сложностей :) Из это строчки: C#, Unity, ASP.NET, MS-SQL, Entity Framework, Шaxматы - мне пока незнакома система Unity. Надеюсь восполнить этот пробел с помощью онлайн-мануала Unity и видеоуроков по созданию игры. 
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

Отчёт отправил: 16259. Андрей Выполнено за 23 час. 29 мин. [Показать отчёт]
Научился: 3 ошибки 1 подход 84 сим/мин. 
Сложности: Самое сложное - я пока что не слишком свободно набираю тексты на английском, и поэтому бывают ошибки - особенно при спешке. В общем и целом - пока всё достаточно просто. 
3 Доска. Фигуры 00:13:05
62 чел. ★ 5 Done
  На этом уроке мы разместим доску с фигурами.

Отчёт отправил: 16259. Андрей Выполнено за 141 день 20 час. 48 мин. [Показать отчёт]
Научился: Добрался-таки я до этого курса. Не было под руками компьютера с win_64. Теперь вот есть. В уроке всё просто, доступно, понятно, БЛАГОДАРЮ. *Копирование игрового объекта легче сделать  Ctrl+D, выделив его предварительно. 
Сложности: Пока что всё просто. 
4 Доска. Состояния переноса 00:11:29
64 чел. ★ 5 Done
  На этом уроке мы начнём процесс Drag-n-Drop и обсудим все состояния,
через которые проходит объект в процессе переноса.
Создадим скрипт, класс, перечисление, конструктор и метод Action.
Отчёт отправил: 16259. Андрей Выполнено за 20 час. 15 мин. [Показать отчёт]
Научился: Понравился подход к описанию состояний с переменными в перечислении. Раньше не решал таких задач - теперь будет опыт. Доходчивое описание происходящего. Правда, небольшая практика по Unity у меня уже была; словил себя на том, что некоторые моменты абсолютному новичку могли быть непонятны - хотя, это решается бОльшими затратами времени. 
Сложности: Пока что всё нормально. 
5 Доска. Подцеп фигуры 00:12:05
61 чел. ★ 5 Done
  На этом уроке мы найдём фигуру, по которой кликнул пользователь.

Отчёт отправил: 16259. Андрей Выполнено за 2 час. 11 мин. [Показать отчёт]
Научился: Понравилась нить размышления (простраивание алгоритма) - как, что и в какой последовательности будет происходить. Автору - большой плюсик! Узнал о существовании новых элементов классов Unity 
Сложности: Едва не запутался в обилии скобок :) 
6 Доска. Смещение 00:07:57
59 чел. ★ 4.9 Done
  На этом уроке мы допишем перенос фигуры и учтём смещение при клике.
Теперь вы сможете разыграть любую партию - сделайте скриншот интересной позиции!
Отчёт отправил: 16259. Андрей Выполнено за 2 дня 4 час. 24 мин. [Показать отчёт]
Научился: Больше всего понравилась реализация зацепа за любую точку фигуры. Спасибо огромное за подробные разъяснения - очень здОрово расставляет всё по своим местам! 
Сложности: Разъяснения хорошие. Ничего! 
7 Доска. Запуск на Windows 00:05:57
59 чел. ★ 5 Done
  На этом уроке мы создадим независимый билд (рабочая версия)
нашей игры для платформы Windows.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 19 час. 20 мин. [Показать отчёт]
Научился: Ознакомился с нacтройками Player Settings.  
Сложности: Урок простой, сложностей не возникло. 
8 Доска. ПЕРВЫЙ ФИНАЛЬНЫЙ УРОК 00:02:32
54 чел. ★ 4.8 Done
  Мы закончили первую часть курса,
создали шахматную доску,
запустили её на Windows.

Напишите отзыв о первой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 16259. Андрей Выполнено за 10 мин. [Показать отчёт]
Научился: Всё получилось, пока что эта часть курса не слишком выходила за рамки уже освоенного мной ранее. Понравилось качественное сопровождение голосом. Практически ничего не пропущено, всмысле - абсолютному новичку, если он просто ВНИМАТЕЛЬНО следует инструкциям - будет просто повторить все описанные действия. Пройденным путём доволен, т.к. освоение Unity начал недавно. Всё больше и больше вникаю в настройки компонентов, взаимосвязи, структуру проекта и т.д. Нужен ещё опыт - надеюсь приобрести его за время прохождения курса.  
Сложности: Эта часть курса хорошо простроена - никаких замечаний, кроме указанного ранее - нет. 
9 Доска. VIP. Запуск на Android 00:10:00
53 чел. ★ 4.8 Done
  На этом уроке мы запустим нашу доску на операционной системе Android.
Приготовьте свой планшет/телефон и приступайте к эскпорту и запуску!
* Выполнять этот урок не обязательно.

Отчёт отправил: 16259. Андрей Выполнено за 1 день 17 час. 33 мин. [Показать отчёт]
Научился: Первый раз запустил приложение, созданное в Unity, на android-устройстве. 
Сложности: Проблем не возникло, информации из урока хватило на выполнение задачи. 
10 Доска. VIP. Запуск в Интернете 00:11:24
53 чел. ★ 4.9 Done
  На этом уроке мы отправим наш проект в Интернет.
Для этого мы воспользуемся технологией WebGL.
Генерация страницы занимает продолжительное время.
Засеки момент начала и напиши в отчете сколько времени это заняло.

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

Отчёт отправил: 16259. Андрей Выполнено за 9 час. 49 мин. [Показать отчёт]
Научился: На сайт не выкладывал. Понравилась часть, в которой про ассемблер на JS... А где об этом можно поподробнее и подоходчивее посмотреть/почитать? Заинтересовало. 
Сложности: Все хорошо, полёт нормальный. 
11 FREE Классы. Архитектура проекта 00:19:24
1 тест
64 чел. ★ 5 Done
  На этом уроке мы познакомимся с архитектурой проекта,
посмотрим на предстоящее путешествие с высоты птичьего полёта.
Задание: написать, что для вас в этом плане самое простое, а что - самое сложное.

Отчёт отправил: 16259. Андрей Выполнено за 1 час. 25 мин. [Показать отчёт]
Научился: Вобщем, всё нравится - вполне доходчиво. На настоящий момент, видимо, самым простым для меня является создание классов на C# (конечно же, не всегда - в зависимости от задачи). Самое сложное - я абсолютно не знаком с Unity, ASP только-только начал изучать, но, по видеоурокам, думаю, смогу разобраться. В случае необходимости - как можно будет задать вопрос для прояснения происходящего? 
12 Классы. Шахматная библиотека 00:15:22
2 теста
53 чел. ★ 4.9 Done
  На данном уроке мы начинаем создание шахматных классов на языке C#, которые позволят проверять правила игры.
Для этого мы напишем библиотеку, которая сможет для любой шахматной позиции определить возможность любого хода.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 1 мин. [Показать отчёт]
Научился: Немного начинаю понимать, что такое fen! Кроме того, что это штука, которой сушат волосы  :) Видимо, нужен класс для снятия фигуры.. Может быть, для различения фигур своих и партнёра? Концепция не моя, пока трудно вдуматься глубоко.. Пока что действую, как наблюдатель-исполнитель! :) 
Сложности: Всё норм. 
13 Классы. Цветная фигура 00:10:21
53 чел. ★ 4.9 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы рассмотри схему библиотеки dll,
которая поможет нам сориентироваться в дальнейших действиях.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 21 час. 55 мин. [Показать отчёт]
Научился: наконец-то более-менее привык к навигации "к ближайшему источнику/предку" - ctrl + ЛКМ 
Сложности: всё доступно. 
14 Классы. Квадратная площадь 00:14:59
52 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим структуру классов
с минимально необходимым кодом.

Отчёт отправил: 16259. Андрей Выполнено за 6 час. 48 мин. [Показать отчёт]
Научился: Весь код до сих пор мне приходилось писать второпях, не получая необходимых пояснений. Приятно, что здесь уроки простроены небольшими порциями, выполнять их приятно и легко. Чувствую, что навёрстываю многие моменты, которые были упущены в моём прежнем обучении.  
Сложности: Всё хорошо и наглядно. Примеров достаточно для понимания. 
15 Классы. Фигурой марш! 00:11:52
51 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим классы для
хранения и перемещения фигур по клеткам.
Отчёт отправил: 16259. Андрей Выполнено за 20 час. 1 мин. [Показать отчёт]
Научился: Понравились размышления по ходу написания кода. В частности, о количестве перестраховок в программах. Моё мнение: в повседневности действует жизненная необходимость, которая диктует и жёстко наказывает, заставляя принимать на себя ответственность за поступки. У тех же, кто пользуется программами, частый симптом - ощущение безответственности за происходящее; помимо того, отношение к программам часто потребительское, а совсем не уважительное... 
Сложности: Всё ОК. 
16 Классы. Квадратная матрица 00:09:56
51 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим класс Board(),
который будет заниматься доской и работать с FEN.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 48 мин. [Показать отчёт]
Научился: Вникаю в план потихоньку, привыкаю, как он построен, к алгоритму осуществления игры и т.д. 
Сложности: Всё ОК. 
17 Классы. Стой, кто идёт! 00:10:04
51 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы создадим класс Moves(),
который будет заниматься проверкой возможности хода.

Отчёт отправил: 16259. Андрей Выполнено за 21 час. 23 мин. [Показать отчёт]
Научился: привыкаю к хоткеям! 
Сложности: Всё ОК. 
18 Классы. Шахматная бюрократия 00:07:58
50 чел. ★ 5 Done
  Мы продолжаем создание шахматных классов на языке C#,
которые позволят проверять правила игры.
На этом уроке мы допишем класс Chess().
Отчёт отправил: 16259. Андрей Выполнено за 5 час. 42 мин. [Показать отчёт]
Научился: Всё так же с интересом слушаю "шахматную историю", повторяя магические пассы на клавиатуре. Пока для меня не всё целостно и очевидно, надеюсь наверстать во время тестирования. 
Сложности: Ничего.. Просто стараюсь быть ОЧЕНЬ внимательным . 
19 Классы. Консольная доска 00:14:05
1 тест
49 чел. ★ 5 Done
  Мы приступаем к написанию тестов для нашей библиотеки.
На этом уроке мы создадим функционал для отображения доски
и исправим старую ошибку копипаста.

Отчёт отправил: 16259. Андрей Выполнено за 16 час. 25 мин. [Показать отчёт]
Научился: Раньше никогда не занимался разработкой игровых правил, поэтому - могу ошибиться. Моя логика рассуждений: описать проверку каждой фигуры можно,                   - задавая направление (1 параметр)   - дальность хода (1 параметр)   - *одна фигура использует ломаную траекторию (конь)     вполне возможно - придётся описать сторону смены     направления* - (1 параметр)   - для короля, скорее всего, будут дополнительные проверки,     т.к. эта фигура определяет, продолжается ли игра   - королева, слон, ладья - алгоритмы, видимо, будут схожи.   - у пешки - направление вперёд и сторона, в которую она "бьёт"..   Предполагаю (это неточный ответ), что по сложности описания алгоритма проверки фигуры можно расположить так:   пешка, слон/конь, ладья, королева, король. 
Сложности: Пока не полностью привык к предложенной структуре классов, но понимаю, что для курса была выбрана наиболее оптимальная, и проработана несколько раз. Работаю над пониманием. 
20 Классы. ВТОРОЙ ФИНАЛЬНЫЙ УРОК 00:00:00
49 чел. ★ 4.8 Done
  Мы создали все основные классы нашего проекта.
Твоя задача - нарисовать UML схему созданных классов.
Нарисовать схему значительно проще, когда проект уже готов.
Поэтому задание не сложное, но очень, очень полезное и нужное.
Используй иерархическую структуру Solution Explorer в VisualStudio.
Нарисовать можно от руки, либо в сервисе draw.io.
Можно использовать любой другой *не автоматический* инструмент рисования.
Важно сделать это самостоятельно, а не сгенерить программой! Поэтому рисуй сам.

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

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

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

Отчёт отправил: 16259. Андрей Выполнено за 1 день 2 час. 18 мин. [Показать отчёт]
Научился: Интересно было попрактиковаться в работе со строками. 
Сложности: Проект обрастает всё новыми и новыми подробностями, это усложняет восприятие. Потратил довольно много времени на исправление UML-диаграммы. 
23 Алгоритмы. Генератор ходов 00:19:11
1 тест
43 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы начинаем реализацию проверок
можно ли пойти с одной клетки на другую.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 6 час. 33 мин. [Показать отчёт]
Научился: Наблюдаю за метаморфозами, осознаю процесс :) 
Сложности: Я не очень опытный шахматист,  много понятий, введённых по ходу создания игры, для меня новые, раньше даже не задумывался об их существовании. Но интересно! 
24 Алгоритмы. Куда идёт Король 00:10:43
1 тест
42 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем проверку
может ли King пойти с одной клетки на другую.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 23 час. 44 мин. [Показать отчёт]
Научился: Потихоньку адаптируюсь к VS и вникаю в алгоритмы игры.. 
Сложности: Объяснения точные, повторять описанное легко. 
25 Алгоритмы. Ночью с Конём 00:05:05
1 тест
42 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем проверку
может ли Knight пойти с одной клетки на другую.
Отчёт отправил: 16259. Андрей Выполнено за 42 мин. [Показать отчёт]
Научился: Всё практически так, как и в предыдущем уроке. 
Сложности: Всё ОК. Правда, я не думал, что конь - самая простая в отношении проверки фигура. Век живи - век учись :) 
26 Алгоритмы. Дальнобойщики 00:17:19
1 тест
42 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы переходим к дальнобойным фигурам.
Отчёт отправил: 16259. Андрей Выполнено за 2 дня 16 час. 47 мин. [Показать отчёт]
Научился: Понравился язык комментариев, которым сопровождаются причины/действия по созданию методов классов. Это делает создание структуры программы понятнее. Спасибо! 
Сложности: Наблюдать за игрой без возможности походить пешкой    :)))))) Самым сложным было найти ошибочку, которую я допустил в проверочном коде несколько уроков назад - часа полтора искал - нашёл-таки :) 
27 Алгоритмы. Храбрая пешка 00:19:03
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы приступаем к реализации
алгоритмов самой сложной фигуры: Pawn.
Отчёт отправил: 16259. Андрей Выполнено за 4 час. 35 мин. [Показать отчёт]
Научился: Как и прежде - вникаю в работу методов, какие методы для чего предназначены, как именно осуществляются проверки ходов в данном конкретном варианте. Вдобавок узнаю много нового про шахматы - в плане правил и в историческом плане в т.ч. 
Сложности: Объяснения хорошие, сложностей не возникло. 
28 Алгоритмы. Четвёртое превращение 00:12:27
1 тест
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем превращение Pawn
в одну из четырёх фигур: Queen, Knight, Bishop и Rook.
Отчёт отправил: 16259. Андрей Выполнено за 20 час. 56 мин. [Показать отчёт]
Научился: Поразбирался с Extension - раньше не использовал, буду знать! 
Сложности: Самое сложное в этом курсе - поставить себя на место автора, что бы понять его логику. У Евгения просто огромный опыт, и объяснения интересные, "ненапряжённые". Учиться приятно и легко, но часто - просто не хватает знаний и опыта, что бы "охватить" проект в целом. Невооружённым глазом видно, что все решения выверены эмпирически. Нисколько не жалею о приобретении курса. 
29 Алгоритмы. Рефакторинг на доске 00:17:03
1 тест
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы займёмся рефакторингом.
Отчёт отправил: 16259. Андрей Выполнено за 5 час. 27 мин. [Показать отчёт]
Научился: Освоил несколько новых для меня методов работы с VS, ознакомился с авторским подходом к рефакторингу. 
Сложности: Дело движется, всё норм. 
30 Алгоритмы. Допрыгалась! 00:21:20
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы займёмся взятием пешкой на проходе.
Отчёт отправил: 16259. Андрей Выполнено за 17 час. 59 мин. [Показать отчёт]
Научился: Раньше не пользовался "взятием на проходе".  В каждом уроке встречается множество моментов, которые раньше не попадались. Приятно, что есть возможность всё это опробовать.  
Сложности: Сложностей не возникло. 
31 Алгоритмы. Королевский паркур 00:25:05
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы реализуем рокировку.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 30 мин. [Показать отчёт]
Научился: Самое интересное для меня в курсе - это авторские паттерны и подходы. Наблюдаю и учусь мыслить сходным образом, т.к. считаю, что подход может облегчить разработку в целом. 
Сложности: Просто много информации, и нужно быть внимательным. Примерно на 6 мин 55 сек - именно на этом срезе кода - замечен интересный эффект: если сделать ход любой из белых фигур на координате Y == 1, указав что ходит чёрная фигура,  но пойти при этом с поля, на котором находится белая, получается фигура-оборотень - она изменяет свой цвет.  Так же удалось завербовать в "чёрные" белого короля! Ай-ай..  Такой же эффект получился при ходе любой из белых фигур на координате Y == 7.  При этом пешки не ведутся на смену цвета! Код, созданный к концу урока - такого уже не позволяет. Просто наблюдение. 
32 Алгоритмы. Защита короля 00:20:26
41 чел. ★ 5 Done
  Мы продолжаем написание шахматных алгоритмов.
На этом уроке мы будем защищать короля от ШАХа.
Отчёт отправил: 16259. Андрей Выполнено за 5 час. 59 мин. [Показать отчёт]
Научился: Сделал всё согласно плану. Учиться пытаюсь всё тому же:  верно выбирать направление для реализаций кода. Начинаю "предвидеть" некоторые моменты: перед тем, как автор проговаривает действия - останавливаю видео и реализовываю. Потом - проверяю. Конечно, получается далеко не всё.. Но приятно :) 
Сложности: Всё ОК. "Подтягиваю" теорию, там где не всё понимаю. 
33 Алгоритмы. Шах и Мат! 00:09:55
41 чел. ★ 5 Done
  Мы заканчиваем написание шахматных алгоритмов.
На этом уроке мы реализуем возврат ситуации на доске.
Отчёт отправил: 16259. Андрей Выполнено за 18 час. 20 мин. [Показать отчёт]
Научился: Приучаю себя к лаконичности и краткости кода. Вижу, что уроки не для однократного просмотра, мало того - пересматривать, скорее всего, лучше через некоторое время - когда в сознании более-менее уляжется и упорядочится. 
Сложности: Время работает против меня, и это моя главная сложность. Я понимаю вполне надёжно, но медленно. В силу описанного - реализовывать проверки на ничью пока не буду, т.к., будучи занятым этим,  увязнуть могу надолго, а это совсем не мой вариант на данном жизненном этапе. 
34 Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК 00:03:57
41 чел. ★ 5 Done
  На этом уроке мы исправим одну ошибку и добавим ещё один вариант метода GetFigureAt(string xy).
Ваше задание - записать подробный отзыв об алгоритмической части проекта.
Отчёт отправил: 16259. Андрей Выполнено за 19 час. 37 мин. [Показать отчёт]
Научился: Спешу заметить от всей души, что часть 3 "Алгоритмы", как и весь пройденный курс, мне пришёлся замечательно! Я ознакомился со многими практическими моментами как в создании программ, так и относительно правил игры в шахматы, которые не попадали в поле моего зрения в силу разных причин. Очень понравился подход с тестированием в консоли - просто, наглядно, эффективно, необременительно в отношении ресурсов. Если бы пришлось придумывать самому способы проверок.. конечно, нет ничего невозможного для одержимого идеей сознания! Но сто очков даю: времени ушло бы куда больше (и даже не в разы..) На каждом шагу этой части курса - небольшие приятные бонусы и сюрпризы: это и общий подход к разработке и реализации программы, и подход к реализации отельных её частей - очень классное упрощение разработки (соответственно, улучшение восприятия при просмотре) за счёт разбиения на отдельные минимальные логические части - чувствуется огромная база и длительное продумывание. По дороге множество возможностей навёрстывать теорию. Впечатляет комплексность подхода и слаженность отдельных частей проекта. По ходу создания алгоритмов я тщательно знакомился с правилами классической игры в шахматы, т.к. ранее меня обучал этому не специалист. Неожиданной оказалась разница в реализации алгоритмов для каждой фигуры - начальное впечатление о сложности было другое. Тестовые fen-ситуации выбраны на удивление удачно. В целом - мои впечатления - самые благоприятные. Этот курс - отличная песочница для синтеза всех накопленных мною знаний по теме, да ещё с ознакомлением с реальными подходами. По поводу данной части алгоритмов - думаю, что учтено по большей части всё возможное, что могло вместиться в простые описания, или могло быть сведено к самым простым для восприятия алгоритмам и способам. Ещё раз подчёркиваю (несмотря на то, что я не самый опытный программист): качественная работа видна невооружённым глазом. Пройденной частью курса доволен на все 100! 
Сложности: Всё как обычно, нормально. 
35 Алгоритмы. VIP. Шахматное супертестирование 00:11:34
41 чел. ★ 5 Done
  На этом уроке мы проверим корректность ваших алгоритмов.
Для этого мы прогоним супер-тест по генерации всех вариантов.

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

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

Отчёт отправил: 16259. Андрей Выполнено за 7 час. 9 мин. [Показать отчёт]
Научился: Приблизительно ощутил, как именно можно тестировать работу программы.  
Сложности: Объяснения, как всегда, нормально воспринимаются. Я, скорее всего, не делал бы этот урок из-за недостатка времени и навязчивого желания выспаться :) Но когда я попробовал чуть полениться - сайт отправил меня обратно - сказав, что надо-де отослать отчёт о предыдущем уроке. Ну как его отослать, не выполнив? *сайт https://chessprogramming.wikispaces.com не работает с 31 января 2019, поэтому все доступные данные для тестирования я скопировал из видео. 
36 Алгоритмы. VIP. Можно пройти? 00:02:13
41 чел. ★ 5 Done
  На этом уроке мы немного порефакторим и
добавим очень полезную функцию.
Отчёт отправил: 16259. Андрей Выполнено за 31 мин. [Показать отчёт]
Научился: Добавил метод IsValidMove(), внёс необходимые изменения в метод Move() Откомпилировал, проверил работу программы. 
Сложности: Ничего. 
37 Алгоритмы. VIP. Как пройти в библиотеку 00:10:35
40 чел. ★ 5 Done
  На этом уроке мы подготовим библиотеку ChessRules.
Для этого мы скомпилируем её в необходимой версии .NET
и проверим работоспособность в Unity проекте.

Отчёт отправил: 16259. Андрей Выполнено за 1 день 14 час. 52 мин. [Показать отчёт]
Научился: Добавлять библиотеку в Unity проект. 
Сложности: Малость намучился я с этим уроком - не в силу его особенной сложности, а в силу того, что добавить библиотеку с первого раза не получилось. Перебрал много разных вариантов, в результате - нашёл одну мелкую ошибку у себя, затем пересоздал заново Unity проект. В версии Unity 2018, вроде бы, target версия framework 4.x . Точно и однозначно я не понял, можно использовать 4.0 или, к примеру, 4.6, что бы заведомо заработал проект. На официальном сайте Unity было сообщение, что Unity 2019 не будет использовать NET3.5 или что-то в этом роде. 
38 Интерфейс. План действий 00:10:23
40 чел. ★ 5 Done
  На этом уроке мы обсудим дальнейший план действий.
Отчёт отправил: 16259. Андрей Выполнено за 5 час. 59 мин. [Показать отчёт]
Научился: Тому, что всё, что мы делаем - мы переделаем много-много-много раз!   
Сложности: Всё ОК. 
39 Интерфейс. Генерация объектов 00:16:45
40 чел. ★ 5 Done
  На этом уроке мы сгенерируем шахматную доску
с базовыми объектами на ней.
Отчёт отправил: 16259. Андрей Выполнено за 2 час. 54 мин. [Показать отчёт]
Научился: Строить динамически доску на сцене и заполнять её фигурами! 
Сложности: Всё ОК. 
40 Интерфейс. Начальная позиция 00:11:23
39 чел. ★ 5 Done
  На этом уроке мы добавим ранее созданную
библиотеку ChessRules.dll в проект на Unity.

Отчёт отправил: 16259. Андрей Выполнено за 15 час. 55 мин. [Показать отчёт]
Научился: Со второго раза библиотека добавилась гладко и хорошо. Моя методика: 1. копирую библиотеку из bin/debug и помещаю в корень папки Unity-проекта (просто что бы удобно было её оттуда указывать) 2. добавляю её в References 3. копирую её в папку со скриптом. 4. переписываю скрипт в соответствии со священным планом.  5. Запуск! *Наверное, можно было и сразу в папку со скриптом поместить, и указать в References - но я уже не переделывал. 
Сложности: Сложностей не было. 
41 Интерфейс. Ход делегата 00:10:28
39 чел. ★ 5 Done
  На этом уроке мы активируем проверку ходов,
которую реализовали в ChessRules.dll.

Отчёт отправил: 16259. Андрей Выполнено за 8 час. 28 мин. [Показать отчёт]
Научился: Попрактиковался в создании делегата.  
Сложности: Всё нормально. 
42 Интерфейс. Проверка хода 00:09:44
37 чел. ★ 5 Done
  Мы продолжаем реализацию необходимого функционала для
активации проверки ходов на основе ChessRules.dll.
Отчёт отправил: 16259. Андрей Выполнено за 13 час. 49 мин. [Показать отчёт]
Научился: Думаю, замену пешки можно сделать так: Когда пешка попадает на самую дальнюю клетку - сгенерировать горизонтальную полосу с картинками фигур для замены пешки - около 1-й или 8-й линии соответственно, так, что бы оно попадало в экран. по клику на соответствующей фигуре - она должна заменить прошедшую всё поле пешку. В FigureMoving.cs есть версия Figure promotion, у которой параметр - строка с ходом и превращением пешки. Нам, стало быть, нужно сделать в скрипте Unity метод выбора фигуры из списка, сформировать строку с превращением пешки, и скормить эту строку Figure promotion..  
Сложности: Всё нормально. 
43 Интерфейс. VIP. Клетки отправления 00:09:17
37 чел. ★ 4.9 Done
  Это бонусный урок, выполнять его не обязательно.
На данном уроке мы реализуем подсветку тех клеток,
с которых можно ходить.
Отчёт отправил: 16259. Андрей Выполнено за 7 час. 24 мин. [Показать отчёт]
Научился: Научился помечать цветом квадратики! 
Сложности: Всё ОК. 
44 Интерфейс. VIP. Клетки прибытия 00:09:17
1 тест
37 чел. ★ 4.9 Done
  Это бонусный урок, выполнять его не обязательно.
На данном уроке мы реализуем подсветку тех клеток,
на которые можно ходить.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 58 мин. [Показать отчёт]
Научился: Ещё немного практики по созданию-использованию делегатов. Ещё немного оживилась сцена игры за счёт внесения цветной перспективы ходов. 
Сложности: Более-менее понятно. 
45 Интерфейс. Щепотка рефакторинга 00:07:18
1 тест
37 чел. ★ 4.9 Done
  На этом уроке мы начинаем подготовку к
превращению пешки в одну из четырёх фигур.
Для начала проведём небольшой рефакторинг.
Отчёт отправил: 16259. Андрей Выполнено за 2 час. 43 мин. [Показать отчёт]
Научился: Тренировался рефакторить. Осознавал, что происходит в той или иной ситуации. 
Сложности: Объяснения, как всегда, на уровне, браво! + насчёт "не смешивать" рефакторинг с добавлением функционала - полностью согласен. Приятно, что есть человек, у которого можно поучиться чёткости принятия решений в проектировании, мне пока крайне далеко до такого уровня. . А хотелось бы  :) 
46 Интерфейс. Выставка фигур 00:09:01
37 чел. ★ 4.9 Done
  На этом уроке мы продолжаем подготовку к
превращению пешки в одну из четырёх фигур.
Теперь нам надо подготовить фигуры, в которые будем превращать.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 19 мин. [Показать отчёт]
Научился: Реализовано всё по плану урока.  
Сложности: По поводу длины уроков: субъективно для меня при увеличении времени урока более 7-8 минут происходит как бы "затягивание" момента прихода результата. Длина урока в 10 минут воспринимается уже с небольшим напряжением, особенно если много кодить. 19-25-36-46 минут... - Нужно очень хорошо помедитировать, что бы сохранять полное внимание, иначе - приходится делать паузы, делить на части. С моей точки зрения, память подобна песку или сахару, а знания - подобны воде. Невозможно сразу "впитать" много-много-много; вода не впитается, а песок будет влажным только снаружи. Такая метафора. Может немного неуклюжая, но это моё вИдение ситуации. Поэтому стараюсь работать медленно и с удовольствием. А самое главное - что бы это нравилось. *Конечно же, в природе есть Эйнштейны.. Но это явно не я  :) 
47 Интерфейс. Долгожданное превращение 00:17:16
36 чел. ★ 5 Done
  На этом уроке мы наконец превратим
нашу пешку в одну из четырёх фигур.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 23 час. 25 мин. [Показать отчёт]
Научился: Научился превращать пешки в другие фигуры на последней горизонтали. Это - магия! 
Сложности: Трудности: Про "маленький легкоустранимый недочётик": Если речь шла не о том, что именование string e2 - string e4 может путать, т.к. может создать ложное представление о движении фигуры, тогда не знаю, т.к. на настоящий момент - я не самый выдающийся программист, и ещё менее выдающийся шахматист. Про кнопку перезапуска игры я поискал довольно долго там, где все обычно ищут. И, если нужно сделать "быстренько", и используя то, что у нас уже есть, можно попробовать использовать клетку вне доски со спрайтом кнопки (скриншот 2 в отчёте), которая отображается постоянно, и по клику на которой (именно клетке) - нужно освободить текущие ресурсы и запустить новые шахматы, теоретически. Можно, конечно, нарисовать канвас и кнопочки - т.е., создать полноценное меню.. И позже, когда проект будет более-менее готов, собираюсь заняться этим. Вообще, в инете много информации, но здорово путает то, что версии Unity постоянно повышаются, и нужно думать "а как это делается теперь" на основании своего предыдущего опыта.. А с Unity у меня его - нет! :с Я довольно много поэкспериментировал с кнопкой, но не реализовал, пока что не хватает навыков. Думаю, нужно на сформированную кнопку add Component -> Event -> Event Trigger, затем как-то указать метод, который будет срабатывать (я пока не понимаю, как это нужно сделать). 
48 Интерфейс. ЧЕТВЁРТЫЙ ФИНАЛЬНЫЙ УРОК 00:00:00
37 чел. ★ 4.9 Done
  Напишите отзыв о четвёртой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 16259. Андрей Выполнено за 6 мин. [Показать отчёт]
Научился: Из того, что было подано в уроках - получилось практически 100% за исключением неверно понятых заданий. Всякое в жизни бывает, и такой отличный с точки зрения соприкосновения различных технологий и чётко структурированный курс прямо-таки просит неких намёков, где находится ошибка, которую нужно подправить.. (это по поводу предыдущего урока). Как и прежние 3 этапа - эта часть курса очень понравилась, т.к. на руках - работоспособный вариант классической логической игры, что не может не радовать человека, не полностью следующего современной ситуативно-сиюминутной моде... То, что подобный шедевр создан с моим участием - буквально заставляет расти над собой и трепетно относиться к результатам своего труда! А так же позволяет краем сознания генерировать мысль, что далеко не всё ещё потеряно в этой жизни :) А если серьёзно, долевое участие в создании такого рода продукта, по интуитивной оценке, составляет в пределах 15%. Но всё равно, это очень и очень вселяет веру и надежду в лучшее. Понравился авторский подход к проектированию и рефакторингу приложения. Представлено много практических моментов. Не было ни одного урока этой части курса, где застрял бы надолго и бесперспективно, что в жизни временами случается. Всегда есть некое достаточное объяснение, позволяющее выполнить продемонстрированное и проверить созданное. До сих пор не полностью уверенно ориентируюсь в структуре кода (всё-таки, проект был выстрадан не мной) но постепенно вникая - вижу, что решения действительно минимально-достаточные, эффективные и изящные, а главное - работоспособные. Плюс к сказанному - у меня нет уверенного опыта создания завершённого проекта в Unity, и этот пробел я сейчас активно навёрстываю. На настоящий момент два последних перечисленных пункта и есть самое сложное для меня. Что хотелось бы добавить в программу в будущем: Конечно же, более-менее полноценное меню. Так же хотелось бы прикрутить звуки нажатия клавиш и перемещения фигур, это прикольно. Возможно - таймер игрового времени, индикатор "чей сейчас ход" - сбоку доски, может быть - отображение fen под доской, и отображение имени игрока с его аватаркой! :) ..Хотя бы - меню, звуки и таймер.. 
49 База данных. Management в студию! 00:02:39
35 чел. ★ 4.9 Done
  На этом уроке мы приступаем к созданию БД
для нашего сервера шахматы онлайн.

Отчёт отправил: 16259. Андрей Выполнено за 1 час. 34 мин. [Показать отчёт]
Научился: Вроде бы установил.. 
Сложности: Версия другая, нежели в видео. Непонятно, как настраивать и нужно ли. Надеюсь, позже можно разобраться. 
50 База данных. Планирование 00:17:52
37 чел. ★ 4.9 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы спроектируем схему нашей БД.
Отчёт отправил: 16259. Андрей Выполнено за 21 час. 37 мин. [Показать отчёт]
Научился: Получил подтверждение тому, что прочувствовал на собственном опыте: удачная идея проекта, структуры, схемы - приходит не сразу, она должна "вызреть". При наличии желания действовать - неизбежно нужно ещё и время. 
Сложности: Пока что всё ОК. 
51 База данных. Упрощение 00:08:09
36 чел. ★ 4.8 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы упростим схему нашей БД.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 34 мин. [Показать отчёт]
Научился: Ещё раз принял к сведению, что нет ничего такого в этой жизни, что можно почти бесконечно упростить. 
Сложности: Я немного расстроен, т.к. в моём представлении система авторизации и учёта пользователей всё-таки должна быть. Но прекрасно понимаю, что проект будет максимально упрощён за счёт всех частей, не влияющих напрямую на функционал, которые в связи с этим возможно исключить. Хорошо. Пойдём дальше! 
52 База данных. Созидание 00:06:52
35 чел. ★ 4.9 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы наконец создадим
нашу базу данных для онлайн шахмат.
Отчёт отправил: 16259. Андрей Выполнено за 18 час. 2 мин. [Показать отчёт]
Научился: *Т.к. у меня сейчас установлен SQLServer 2012 Express, задание выполнено в этой версии. 
Сложности: Довольно долго пришлось провозиться с SSMS и SQLServer. Вопрос: я смогу все задачи пятой части курса выполнить в SQL Server Express и SSMS, или всё же есть функционал, который "потянет" только версия Developer? 
53 База данных. VIP. Таблицы на вырост 00:12:53
34 чел. ★ 4.9 Done
  Мы продолжаем создание БД для
нашего сервера шахматы онлайн.
На данном уроке мы создадим дополнительные таблицы,
которые понадобятся для реализации полноценной онлайн игры.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 5 час. 25 мин. [Показать отчёт]
Научился: БД ранее создавал (не очень много). А вот в чём конкретно попрактиковался, и улеглось в голове - так это в создании внешних ключей. Очень хорошо донесено, указано,  что и в какой последовательности делать. Урок очень понравился. 
Сложности: Всё же пока я склоняюсь  к использованию SQLExpress + Management Studio отсюда: https://www.microsoft.com/ru-RU/download/details.aspx?id=50003      здесь они одним файлом ( RUS\x64\SQLEXPRWT_x64_RUS.exe  или  RUS\x86\SQLEXPRWT_x86_RUS.exe в зависимости от версии  ОС). Малый размер, быстрая установка, легко настраивать и использовать. 
54 База данных. VIP. Красивая диаграма 00:04:41
34 чел. ★ 4.9 Done
  На данном уроке мы нарисуем диаграмму нашей БД.
Отчёт отправил: 16259. Андрей Выполнено за 21 час. 55 мин. [Показать отчёт]
Научился: Построил диаграмму БД и поучился подводить связи к нужным полям, наглядно. 
Сложности: Всё ОК 
55 База данных. ПЯТЫЙ ФИНАЛЬНЫЙ УРОК 00:00:00
34 чел. ★ 4.8 Done
  Напишите отзыв о пятой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 16259. Андрей Выполнено за 26 мин. [Показать отчёт]
Научился: Немного двойственное впечатление от этой части курса. Во-первых, то, что структура БД была вначале практически уничтожена, похоже на шокотерапию, т.к. практически в любой базе есть таблицы с пользователями. Расширение базы ещё несколькими таблицами в последующих уроках создаёт впечатление правильности происходящего. В любом случае, в отношении обучения такой подход, скорее всего, будет эффективным, т.к. вначале - тренируемся на очень простом примере, затем - в меру усложняем самым необходимым. Часть про внешние ключи понравилась особенно, т.к. ранее в доходчивой форме с этим материалом не встречался. Простыми словами и наглядно - то, что понравилось в этом уроке. С моей точки зрения, в этой части курса есть единственный изъян, и я бы его решил так: 1. Дал бы понять, что главная программа, которая работает, позволяя создавать БД и выполнять запросы - это именно SQL Server. 2. Затем дал бы понять, что Management Studio - это хороший интерфейс для работы с сервером. 3. Несмотря на то, что SQL 2012 является на настоящий момент не самым свежим - всё же работает   хорошо и эффективно, его дистрибутив не переутяжелён (около 1,1 Гб).   По ссылке, например, https://www.microsoft.com/ru-RU/download/details.aspx?id=50003   файлы с названием RUS\x64\SQLEXPRWT_x64_RUS.exe либо RUS\x86\SQLEXPRWT_x86_RUS.exe -   это SQL Server+Management Studio     Таким образом можно не застревать на несколько дней (я сравнил то, что происходило у меня с отзывами других курсантов), а двигаться далее сразу. 
Сложности: Всё как всегда на уровне. Но пару дней провёл в экспериментах с ПО.. 
56 Сервер. Последняя версия 00:12:29
33 чел. ★ 5 Done
  На данном уроке мы приступаем к созданию
серверной части нашего онлайн проекта по шахматам.
Отчёт отправил: 16259. Андрей Выполнено за 22 час. 23 мин. [Показать отчёт]
Научился: Создал контроллер, поучился разными способами возвращать из него информацию. 
Сложности: Объяснение хорошее, приятно изучать. Трудностей пока нет. 
57 Сервер. Райский Эдем - EDM 00:13:23
32 чел. ★ 5 Done
  На этом уроке мы создадим EDM - Entity Data Model.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 21 час. 2 мин. [Показать отчёт]
Научился: Попрактиковался в подключении к проекту БД.  
Сложности: На моём компьютере описанная в уроке последовательность действий не дала положительного результата. Поэтому я пустился в экперименты, и подключил БД не через пункт SQL Server, как в уроке, а как отдельную БД SQL. Проверил соединение - заработало. Всё остальное совпало с действиями из урока. 
58 Сервер. Новая игра на JSON 00:11:40
32 чел. ★ 5 Done
  На этом уроке мы изменим формат вывода с XML на JSON.
Отчёт отправил: 16259. Андрей Выполнено за 2 час. 45 мин. [Показать отчёт]
Научился: Добавил в БД из кода запись с помощью Entity Framework 
Сложности: У меня, видимо, настройки компьютера такие, что изменилось имя владельца БД. По скринам видно, что запись добавлена, но из Management Studio я теперь к базе достучаться не могу - там БД теперь воспринимается, как БД, для чтения которой нет прав (изменился владелец БД). + теперь не выводятся все записи из БД прибавлением /1 , /2 и т.д. в адресной строке браузера 
59 Сервер. Официант без логики 00:10:07
32 чел. ★ 5 Done
  На этом уроке мы будем упрощать наш ChessController.
Отчёт отправил: 16259. Андрей Выполнено за 3 дня 5 час. 48 мин. [Показать отчёт]
Научился: Очень много поучился оперировать БД из VS и из SSMS, а так же пришлось поразбираться с версиями БД и файлами конфигурации в проекте. 
Сложности: Очень надеюсь, что подобный затык в освоении проекта будет у меня проявлять себя не слишком часто, времени совсем ничуть.. К тому же - жара под 30 - кипит техника и кипит мозг  8( 
60 Сервер. Ваш ход! 00:19:29
32 чел. ★ 5 Done
  Мы продолжаем создание серверной части для
нашего проекта Шахматы по сети.
На этом уроке мы реализуем выполнение ходов.
Отчёт отправил: 16259. Андрей Выполнено за 7 час. 39 мин. [Показать отчёт]
Научился: Словил себя на мысли о том, что не могу описать полностью всё, чему научился/ознакомился/попробовал/освоил  :) т.к. - неизбежно что-то будет упущено - полезного много.  Практикуюсь постоянно, но пока есть ощущение, что хотелось бы бОльшей свободы в той части создания программ, где мысль, план преобразуется непосредственно в методы и код. Конкретно на этом уроке - обратил внимание на тот факт, что EF нужно указать перед сохранением записи в БД, что она была модифицирована. Интересно было так же наблюдать за чисткой лишних using-ов  :) действо напоминает приборку в любимом доме. в методе Logic.cs --> MakeMove() есть очень удобное место:             if (chess.IsCheckmate ||                 chess.IsStalemate) {                   game.Status = "done";   // здесь можно поместить экземпляр делегата,   // который будет вызывать сообщающий метод } 
Сложности: *Интересно, есть ли способ менять поле ID таблицы Games в БД из программы? 
61 Сервер. Шахматная Идемпотентность 00:09:34
32 чел. ★ 5 Done
  Мы продолжаем создание серверной части для
нашего проекта Шахматы по сети.
На этом уроке мы обсудим Шахматную Идемпотентность.
Напишите своими словами, что такое Идемпотентность.
Отчёт отправил: 16259. Андрей Выполнено за 16 час. 52 мин. [Показать отчёт]
Научился: На этом уроке мы помучились с идемпотентностью. В очередной раз осознал, что если тема обширная, и сложно контролируемая - крайне сложно всё предусмотреть. Случайно найденная ситуация:  если пойти с пустой клетки, указав фигуру, которая якобы там находится - на указанной клетке сформируется фигура, указанная в ходе. В библиотеке нет проверки наличия фигуры на клетке перед ходом. В адресной строке она актуальна, а при наличии на доске видимых фигур - нет, т.к. в этом случае нет способа указать фигуру. Результат - на скринах в отчёте. Матрица атакует! 
Сложности: После того, как наконец, осознал, как в колдовать с БД в проекте - более сложного не было. 
62 Сервер. Китайская ничья 00:06:28
31 чел. ★ 5 Done
  Мы продолжаем создание серверной части для
нашего проекта Шахматы по сети.
На этом уроке мы реализуем завершение игры при сдаче.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 39 мин. [Показать отчёт]
Научился: Евгений использовал простой и наглядный способ управления игрой через адресную строку, а я его освоил. 
Сложности: Всё ОК. Вопросов всегда много. Решаем-запоминаем-находим по ходу работы. 
63 Сервер. ШЕСТОЙ ФИНАЛЬНЫЙ УРОК 00:00:00
31 чел. ★ 4.8 Done
  Напишите отзыв о шестой части курса:
что получилось, что было сложным,
что ещё вы добавите в программу.
Отчёт отправил: 16259. Андрей Выполнено за 28 мин. [Показать отчёт]
Научился: Шестая часть курса понравилась тем, что я смог в какой-то мере упорядочить свои разрозненные познания о SQL. Практика делает своё дело, приходит понимание. Правда, достаточно медленно. Вполне возможно - это мои особенности. Все способы контроля и тестирования приложения, применяемые в уроках - очень нравятся своей наглядностью и проверяемостью. Также после многократных повторений приходит интуитивное понимание, как лучше поступать во время разработки-переработки приложения-ввода новых методов и т.д. Приятно учиться у человека, у которого, кроме наличия значительного практического опыта - к тому же подача материала доходчивая. Что добавлю в программу - буду решать по ходу. Прямо сейчас функционал устраивает не полностью, я писал об этом ранее в отчётах, мнение с тех пор не изменилось. В целом шестой частью очень доволен. 
64 Хостинг. Регистрация аккаунта 00:05:13
31 чел. ★ 4.9 Done
  Приступаем к размещению нашего сервера в интернете.
Для этого нам потребуется Windows-хостинг с поддержкой ASP.NET

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

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

Отчёт отправил: 16259. Андрей Выполнено за 20 час. 59 мин. [Показать отчёт]
Научился: Зарегистрировался на хостинге согласно заданию урока 
Сложности: Всё нормально, понятно. 
65 Хостинг. Лучше заплатить 00:11:12
31 чел. ★ 4.8 Done
  На этом уроке мы выберем план, доменное имя, укажем контактную информацию.

Отчёт отправил: 16259. Андрей Выполнено за 22 час. 27 мин. [Показать отчёт]
Научился: Зарегистрировал-таки хостинг. Правда, не указанный в уроке; но по набору свойств - вроде бы должен подойти. Пока что адрес будет вот такой: http://asp741368-001-site1.itempurl.com 
Сложности: В уроке описано всё доходчиво, и, дойдя до ключевого момента (оплаты :) я понял, что на настоящий момент не смогу это сделать быстро. Поэтому - поискал-проанализировал то, что доступно в наших краях, выбрал подходящий с моей точки зрения. Ошибся или нет - покажет время. 
66 Хостинг. Доступ по FTP 00:10:08
31 чел. ★ 5 Done
  На этом уроке мы установим пароль для подключения к хостингу по FTP.

Напишите, какой FTP-клиент вы используете и приложите
скриншот вашей FTP программы с подключением к хостингу.
Отчёт отправил: 16259. Андрей Выполнено за 9 час. 3 мин. [Показать отчёт]
Научился: Раньше не пользовался Total Commander как FTP-клиентом. С удовольствием беру на заметку! 
Сложности: Пока всё нормально. 
67 Хостинг. Публикация проекта 00:12:13
31 чел. ★ 5 Done
  На этом уроке мы настроим публикацию проекта из Visual Studio.
Выполните все шаги и опубликуйте проект.

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

Отчёт отправил: 16259. Андрей Выполнено за 3 дня 6 час. 9 мин. [Показать отчёт]
Научился: Опять не всё гладко, но вроде бы разобрался. Базу на хостинге восстановил. Протестировал матом в 2.5 хода. 
Сложности: Было мало информации, пришлось погуглить. Всё инфо на инглише: часть нашёл в видео, часть - интуитивно, копаясь в CP 
69 Хостинг. VIP. Двойные стандарты 00:07:32
30 чел. ★ 5 Done
  На этом уроке мы обсудим нюансы с публикацией
очередной версии серверной части на хостинге.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 13 мин. [Показать отчёт]
Научился: Научился конфигурировать приложение для хостинга и для отладки. Супер! 
Сложности: Всё доходчиво, тест в скринах. 
70 Хостинг. СЕДЬМОЙ ФИНАЛЬНЫЙ УРОК 00:00:00
30 чел. ★ 5 Done
  В этой части мы разместили сервер не хостинге.
Шахматная серверная программа нашла пристанище в интернете.
Наконец-таки можно будет переходить к игре по сети.

Напишите в отчёте, всё ли получилось
и по какому адресу можно найти ваш серверный API.
Отчёт отправил: 16259. Андрей Выполнено за 14 мин. [Показать отчёт]
Научился: Очень доволен результатами! Пришлось пару раз поразбираться, потому как использовал другой подходящий для проекта хостинг (с указанным в уроке, к сожалению, проявились проблемы с оплатой, а застревать надолго не хотелось). Раньше никогда не публиковал проекты ASP. Выкладывал на хостинг только статические сайтики. Очень доволен возникшим пониманием процесса. Немного были волнения, что не получится осилить чуждый хостинг, однако справился. Понятность уроков, как всегда, на высоте. Адрес моей серверной части: asp741368-001-site1.itempurl.com/api/Chess Прошу прощения, но доменное имя тоже не приобретал.. 
Сложности: Пришлось адаптироваться к хостингу, особенно - поразбираться, как коннектиться к БД на нём. Всё обошлось, даже был найден вполне удобный инструмент для просмотра БД. 
71 Клиент. Достучаться до облака 00:05:06
29 чел. ★ 5 Done
  На этом уроке мы приступаем к завершающему этапу
по созданию клиент-серверной игры "Онлайн шахматы".
Отчёт отправил: 16259. Андрей Выполнено за 20 час. 35 мин. [Показать отчёт]
Научился: Познакомился с классом WebClient. Результат получения FEN пошагово - на второй картинке. 
Сложности: Все объяснения нормальные, всё ОК. Просто пришлось повспоминать то, что делали на этом курсе довольно давно - когда ещё писали библиотеку. 
72 Клиент. Дедовские методы 00:05:19
29 чел. ★ 5 Done
  На этом уроке мы выделим FEN из полученной json строки.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 2 мин. [Показать отчёт]
Научился: Познакомился с паскалевским способом разбора строки. альтернативный код метода:         string GetFenFromJSON2(string json)         {             string str = json.Split(',')[1];             string s = str.Split(':')[1];             string fen = s.Trim('"');             return fen;         } 
Сложности: Всё ОК. 
73 Клиент. Ход в мешке 00:15:23
29 чел. ★ 5 Done
  На этом уроке мы научимся отправлять на сервер наш ход.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 23 мин. [Показать отчёт]
Научился: Реализовал игру клиентов через сервер. После случайного ввода "ы" вместо "s" словил исключение и сделал так: if (move == "s"|| move == "S" || move == "ы" || move == "Ы") 
Сложности: Как и прежде, всё объяснимо и интересно. 
74 Клиент. Серверные пешки 00:05:25
29 чел. ★ 5 Done
  На этом уроке мы используем ранее созданный класс Client()
в наш проект на Unity, чтобы можно было поиграть с GUI.
Отчёт отправил: 16259. Андрей Выполнено за 16 час. 12 мин. [Показать отчёт]
Научился: Медленно и ненавязчиво приходит понимание, что если хорошо подготовлены предыдущие части проекта, то потом очень удобно их адаптировать друг к другу и новым условиям работы.. При наличии понимания и определённого опыта, конечно же :)  
Сложности: Было интересно. От https отказался ранее, т.к. в определённый момент не смог получить информацию от сервера, в то время как с http всё "прокатило". 
75 Клиент. Следы невиданных ходов 00:07:25
29 чел. ★ 5 Done
  На этом уроке мы реализуем отправку хода через GUI.
Отчёт отправил: 16259. Андрей Выполнено за 2 час. 0 мин. [Показать отчёт]
Научился: Евгению явно ОЧЕНЬ помогает его любовь к шахматам и богатый опыт программирования, т.к. в уроке я часто вижу напоминания об очевидных для шахматиста вещах, которые здесь сильно связаны с ситуациями в коде. И, к сожалению, не всегда их отслеживаю. Конечно же, когда всё работает в ансамбле и более-менее корректно - впечатляет. Прикольный глюк с конём на 6 мин 17 сек, Посмеялся от души! Шевелится как-то туговато (проект в Unity). Хотелось бы побыстрее.. 
Сложности: Всё ОК. 
76 Клиент. Фоновое обновление 00:11:50
29 чел. ★ 5 Done
  На этом уроке мы реализуем функцию
обновления текущего состояния на доске.
Отчёт отправил: 16259. Андрей Выполнено за 4 час. 38 мин. [Показать отчёт]
Научился: Рад завершению проекта, но немного печалит, что он "сыроватый". Попробую доделать так, как хочется. Портированием займусь перед записью видео. Чувствую, что грохну на видео уйму времени - т.к. нужно будет не только поузнавать новую информацию, порегистрироваться на сервисах, камеру подыскать, организовать пару человек. И смонтировать. Не совсем моё занятие.  
Сложности: Проект довольно сложен сам по себе, и ранее многое из увиденного в уроках просто не использовал, т.к. не было мотива и доступных объяснений.  
77 FREE Клиент. ВОСЬМОЙ ФИНАЛЬНЫЙ УРОК 00:03:01
27 чел. ★ 5 Done
  Поздравляю вас с завершением нашего эпического курса
по созданию клиент-серверной игры в шахматы по сети!

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

Расскажите на видео о своём подвиге.
Чем курс понравился, что было сложно,
что было интересно, что можно будет добавить.
Отчёт отправил: 16259. Андрей Выполнено за 2 дня 13 час. 56 мин. [Показать отчёт]
Научился: Мой видеоотчёт:  https://youtu.be/F60NOvKWNIc Чего, с моей точки зрения, не хватает: - по завершении игры нужно подтвердить начало новой и должно быть сообщение о том, чёрные или белые выиграли. - *по-моему, в случае ничьей игра станет бесконечной, и её невозможно будет завершить. Для минимальной версии курса этого будет абсолютно достаточно! 
Сложности: Промучился с отчётом несколько дней - придумывая как записать, сюжет, и т.д. Хорошо, что есть друзья с аппаратурой... 
78 Рефакторинг. С чего начать? 00:05:39
24 чел. ★ 5 Done
  На этом уроке мы начинаем рефакторинг
кода клиентской части на Unity.
Отчёт отправил: 16259. Андрей Выполнено за 5 час. 17 мин. [Показать отчёт]
Научился: Урок выполнен в соответствии с описанием. Проект работает. По поводу рефакторинга пока не приходит сколь-нибудь ценных мыслей.. Вернее, приходят, но все изменения, скорее, косметические - на уровне сокращения записей в коде, а это, с моей точки зрения,  не приводит к повышению понимания и читабельности кода. Пока воздержусь от высказываний. 
Сложности: Сложно с генерацией полезных идей. Видимо, магнитные бури.. 
79 Рефакторинг. Координатные трансформации 00:14:04
24 чел. ★ 5 Done
  На этом уроке мы продолжаем рефакторинг
и сейчас мы выделим статические элементы.

Отчёт отправил: 16259. Андрей Выполнено за 21 час. 32 мин. [Показать отчёт]
Научился: Вникаю и учусь рефакторить код, размышляю над тем, что именно и для чего переносим-выносим-выделяем-изменяем. Несмотря на довольно строгие правила, есть ощущение, что подход к рефакторингу - дело субъективное :) 
Сложности: Всё ОК. 
80 Рефакторинг. Чёрный ящик 00:07:38
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы займёмся словарями.
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 18 мин. [Показать отчёт]
Научился: Словари и мне бросались в глаза, но кроме применения константных строк вместо этих длинных записей мне ничего в голову не пришло. Класс создан, методы реализованы и вызовы расставлены по своим местам. На свободные эксперименты прямо сейчас не пойду, буду поэтапно всё делать с автором.  
Сложности: Всё доступно и более-менее понятно. 
81 Рефакторинг. Интерфейсная прослойка 00:10:35
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим интерфейс ICreatable.
Отчёт отправил: 16259. Андрей Выполнено за 1 день 2 час. 55 мин. [Показать отчёт]
Научился: Поучился использовать метод из класса изолированно в другом классе. Удивительный пример! Раньше с интерфейсами знакомился, но так подробно точно - нет. И думал о них несколько иначе. Пересматривать урок буду позднее, т.к. было замечено, что понимательная сила уменьшается, если уже поработал над этой темой только-только, и довольно внимательно. А на свежий мозг пересматривается гораздо лучше :) 
Сложности: Очень хорошее объяснение! 
82 Рефакторинг. Ящик с фигурами 00:04:16
1 тест
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы сделаем класс Box() абстрактным.
Отчёт отправил: 16259. Андрей Выполнено за 55 мин. [Показать отчёт]
Научился: Переделал инициализацию фигур. Обратил внимание на передачу параметра в дочерний класс, и на то, что теперь класс Box - родоначальник иерархии. 
Сложности: Всё ОК. 
83 Рефакторинг. Многоклеточная сущность 00:06:48
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс BoxSquares().
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 4 мин. [Показать отчёт]
Научился: Обратил внимание, что в силу объективных причин часто не понимаю ход направления мыслей Евгения. Причина - отсутствие сформированного понимания принципов SOLID. Есть куда расти.. 
Сложности: Все объяснения доступные. 
84 Рефакторинг. Вынос переноса 00:02:34
24 чел. ★ 4.9 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс Box().SetPosition().
Отчёт отправил: 16259. Андрей Выполнено за 32 мин. [Показать отчёт]
Научился: Перенёс.. 
Сложности: Для меня не очевиден пока смысл переноса - опять же, видимо, в силу причин, указанных в предыдущем отчёте. 
85 Рефакторинг. Спрайт, не дай себя заинтерфейсить 00:07:18
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс Box().SetSpriteAt().
Отчёт отправил: 16259. Андрей Выполнено за 15 час. 46 мин. [Показать отчёт]
Научился: Интуитивно чувствую, что код меняется в нужном направлении.  Урок действительно придётся пересмотреть.. скорее всего, не один раз. 
Сложности: Всё работает. 
86 Рефакторинг. Клетка в клетке 00:04:46
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы перенесём и разделим класс ShowSquare().
Отчёт отправил: 16259. Андрей Выполнено за 2 час. 24 мин. [Показать отчёт]
Научился: Возникает стойкое и устойчивое впечатление, что код должен быть разделён на минимально-необходимые кванты, и максимально упрощен для восприятия.. Правда, чем больше классов - тем легче вниманию потеряться! 
Сложности: Все пазлы сложились. 
87 Рефакторинг. Шахматная независимость 00:07:23
24 чел. ★ 5 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы перенесём некоторые функции в класс BoxSquares().
Отчёт отправил: 16259. Андрей Выполнено за 1 час. 47 мин. [Показать отчёт]
Научился: Потренировался сводить количество зависимостей во время рефакторинга к минимуму.  
Сложности: Всё доступно. 
88 Рефакторинг. Хоровод из четырёх фигур 00:14:37
24 чел. ★ 4.9 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы порефакторим функционал превращения пешки.
Отчёт отправил: 16259. Андрей Выполнено за 4 час. 25 мин. [Показать отчёт]
Научился: Очень понравилась подготовка цикла для удобной настройки диапазона. 
Сложности: в уроке есть косячок: примерно с 00.10.40 до 00.11.15 описанный способ тестирования не сработает, т.к. нужно предварительно подготовить код - убрать работу с клиентом, сделать локальный вариант. Лично я упёрся в метод Refresh() и за недостатком времени дальше не пошёл, просто тестировал игрой с начального fen-a. Если подбирать игровую ситуацию, так тоже нормально и относительно быстро тестируется. 
89 Рефакторинг. Волшебник изумрудного ящика 00:18:39
24 чел. ★ 4.9 Done
  Мы продолжаем рефакторинг нашего кода.
На данном уроке мы создадим класс BoxPromots().
Отчёт отправил: 16259. Андрей Выполнено за 19 час. 52 мин. [Показать отчёт]
Научился: Вместе с автором перенёс в класс BoxPromots константы, инициализацию и прочие, касающиеся Promotion методы. Всё работает. 
Сложности: Признаться, потерялся я немного к концу урока. Пересматривать придётся, и не один раз. Но главное - это полезно, много объяснений по рефакторингу. 
90 Рефакторинг. Потерянная пешка 00:36:59
24 чел. ★ 4.9 Done
  На этом уроке мы вернёмся к нашей библиотеке
для исправления старой ошибки: пешка может
превратиться в чужую фигуру ил остаться пешкой.

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

Мы на финишной прямой нашего рефакторинга.
На данном уроке мы вынесем логику игры в отдельный класс Game().
92 Рефакторинг. Двухэтажное превращение 00:16:50
22 чел. ★ 5 $
  Мы всё ближе и ближе к финишу нашего рефакторинга.
На данном уроке мы вынесем оставшуюся логику игры в класс Game().
93 Рефакторинг. Финальное причёсывание 00:06:58
22 чел. ★ 5 $
  Мы поздравляем тебя с завершением рефакторинга.
На данном уроке мы причешем наши скрипты.
94 Рефакторинг. Последний аккорд 00:14:10
23 чел. ★ 4.9 Done
  На этом уроке мы заканчиваем наш эпический курс.
Получилось здорово.
Я доволен результатом.
Надеюсь, вы тоже.
Мы проделали огромную работу.
Каждый стал чуточку умнее и опытнее.
Отчёт отправил: 16259. Андрей Выполнено за 25 мин. [Показать отчёт]
Научился: *** 
Сложности: *** 
95 VIP. Меню DimanDOSа 00:27:50
20 чел. ★ 5 Done
  1. Создание и размещение кнопки вызова меню и панели с кнопками.
2. Программирование действий по нажатиям кнопок -
создание функций и привязка их к событиям нажатия.

Отчёт отправил: 16259. Андрей Выполнено за 1 день 12 час. 35 мин. [Показать отчёт]
Научился: Меню реализовал - ДиманDOS молодец, хороший урок получился! Только вот игровая сцена у нас формируется динамически, а меню, созданное указанным способом - привязывается к конкретным координатам экрана. И если изменять размеры скомпилированной для PC, например, игры - кнопка будет плавать относительно игрового поля. Вопрос: Кто-нибудь знает, как делаются динамические координаты или что-то в этом роде для кнопки? В любом случае, пока используем то, что есть. *Пока за ненадобностью выбросил доп.меню с кнопками стилей - у меня сейчас не будет на это времени. Итого: осталось такое минималистичное меню с тремя кнопочками. Покопавщись в коде, с радостью обнаружил, что в серверной части уже реализован способ реакции на команду resign для перезапуска игры. Чем и воспользовался, предварительно потренировавшись на ChessRules --> ChessDemo Далее в скрипт Board в метод MakeMove() ввёл проверку на получение волшебного слова "resign". И если оно пришло - пересылаем его на сервер. Затем создал метод NewGame(), в котором и вызвал MakeMove() с нужным параметром, после чего в этом же методе можно убрать меню с экрана. Цитата: Здорово? Ну скажите же, что здорово...  :)  
Сложности: Всё ОК. 
  Итого:   95 видеоуроков 17 час. 04 мин.
18 тестов
19 чел. ★ 4.96  
  Финалисты:   Дмитрий,   Yefim,   Tekashnik,   Иван Воронин,   ser2018,   Алексей,   Дмитрий Б,   alklokov,   FireWolf,   Andrew,   Max,   Новопашин Владимир,   Красимир Зорбов,   Антон,   Евгений,   Anatoli,   Freud,   Алена,   MaxB .

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





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

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

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

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


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



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