# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
3 теста |
|||
Мы начинаем создание клиент-серверной программы для игры в Шахматы по сети. Это комплекс программных решений с исользованием: C#, ASP.NET, MS-SQL, EF, Unity В результате мы создадим сервер, через который клиенты смогут играть друг с другом в шахматы со смартфона. Записаться на курс Отчёт отправил: 7119. Новопашин Владимир Выполнено за 16 мин. [Показать отчёт] Научился: Самый большой опыт по C# я получил на этом проекте, а также Unity3D, ASP.NET, EF. А на MS SQL Server работал до проекта. Сложности: Ничего. |
|||||
2 | Доска. Установка Unity 3D |
|
|||
Цель этого урока - установить Unity и набрать несколько строчек шахматных терминов. Скачать Unity3D: unity3d.com/ru Набрать шахматные термины: videosharp.info/console/task/level=1766 Скачать архив с картинками: https://yadi.sk/d/irBRduLp3SseXY Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 час. 43 мин. [Показать отчёт] Научился: До этого unity3d не ставил. Сложности: Ничего. |
|||||
3 | Доска. Фигуры |
|
|||
На этом уроке мы разместим доску с фигурами. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 час. 2 мин. [Показать отчёт] Научился: Ставить фигуры на доску. Сложности: Ничего. |
|||||
4 | Доска. Состояния переноса |
|
|||
На этом уроке мы начнём процесс Drag-n-Drop и обсудим все состояния, через которые проходит объект в процессе переноса. Создадим скрипт, класс, перечисление, конструктор и метод Action. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 27 мин. [Показать отчёт] Научился: Вот научился делать скрипт в Unity3d Сложности: Я скажу, когда будет что-то сложным. Вообщем я бы опциональным сделал этот вопрос (чтобы включался по необходимости) - ибо приходится высасывать из пальца, что было сложным. Вот сейчас для меня самое сложное - придумать, что было сложное. Вообще мне грех жаловаться и я очень счастливый человек. Вот сейчас начинаю этот проект и такое ощущение, что прикоснулся к чему-то прекрасному. Ибо шахматы вечны. |
|||||
5 | Доска. Подцеп фигуры |
|
|||
На этом уроке мы найдём фигуру, по которой кликнул пользователь. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 9 час. 32 мин. [Показать отчёт] Научился: Ну вот узнал, что такое коллайдер. Это что-то новенькое, ну и нужно чувствую будет знакомиться с объектной моделью Unity3D. Сложности: А почему коллайдер? И главное зачем? Ведь всегда это подразумевало Большой Андроидный Коллайдер. |
|||||
6 | Доска. Смещение |
|
|||
На этом уроке мы допишем перенос фигуры и учтём смещение при клике. Теперь вы сможете разыграть любую партию - сделайте скриншот интересной позиции! Отчёт отправил: 7119. Новопашин Владимир Выполнено за 18 мин. [Показать отчёт] Научился: Научился драгэнддропить (наверное есть такое слово в русском языке). Сложности: Мне понравился дурацкий мат, есть еще подобные позиции? |
|||||
7 | Доска. Запуск на Windows |
|
|||
На этом уроке мы создадим независимый билд (рабочая версия) нашей игры для платформы Windows. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 11 мин. [Показать отчёт] Научился: Все хорошо. Сложности: Все отлично. |
|||||
8 | Доска. ПЕРВЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Мы закончили первую часть курса, создали шахматную доску, запустили её на Windows. Напишите отзыв о первой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 мин. [Показать отчёт] Научился: Видеоотзыв писать не буду - рановато, но в принципе я рад, что фигурки ходят и уже в моих руках есть некая такая виртуальная шахматная доска. В принципе, если это портировать на Андроид, то можно дороге иметь такую шахматную доску. Сложности: Придумывать что было сложным. Да ничего сложного не было. |
|||||
9 | Доска. VIP. Запуск на Android |
|
|||
На этом уроке мы запустим нашу доску на операционной системе Android. Приготовьте свой планшет/телефон и приступайте к эскпорту и запуску! * Выполнять этот урок не обязательно. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 31 мин. [Показать отчёт] Научился: Научился портировать приложение под Android. Сложности: Как всегда не совсем верное имя пакета указал - у меня Unity3D повозмущалась и да - понял, что планшет с его Android 5.0 не годится и его нужно менять на более новый. Так хотел поставить на планшет. Вот пришлось на мой смартфон ставить. |
|||||
10 | Доска. VIP. Запуск в Интернете |
|
|||
На этом уроке мы отправим наш проект в Интернет. Для этого мы воспользуемся технологией WebGL. Генерация страницы занимает продолжительное время. Засеки момент начала и напиши в отчете сколько времени это заняло. * Выполнять этот урок необязательно. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 27 мин. [Показать отчёт] Научился: Научился экспортировать проект в WebGL. Сложности: У меня нет места куда заливать. Просто так покупать ради выполнения задания - это глупо. |
|||||
11 |
![]() |
1 тест |
|||
На этом уроке мы познакомимся с архитектурой проекта, посмотрим на предстоящее путешествие с высоты птичьего полёта. Задание: написать, что для вас в этом плане самое простое, а что - самое сложное. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 26 мин. [Показать отчёт] Научился: Прикольно узнал про концепцию минимально жизнеспособный продукт. Ну вот так в принципе ничего сложного и чувствую курс будет интересным. |
|||||
12 | Классы. Шахматная библиотека |
2 теста |
|||
На данном уроке мы начинаем создание шахматных классов на языке C#, которые позволят проверять правила игры. Для этого мы напишем библиотеку, которая сможет для любой шахматной позиции определить возможность любого хода. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 31 мин. [Показать отчёт] Научился: Ура! Дело сдвинулось с мертвой точки. Вот решил вместо моей любимой VS, использовать JetBrains Rider - по сути тот же C#. Вроде никаких проблем. Сложности: В JetBrains нет оказывается запускаемого проекта. Просто наводишь курсор на Main и через контекстное меню запускаешь и никаких проблем. |
|||||
13 | Классы. Цветная фигура |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы рассмотри схему библиотеки dll, которая поможет нам сориентироваться в дальнейших действиях. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 18 мин. [Показать отчёт] Научился: Потихоньку продвигаемся вперед. Кстати - в Rider есть отдельное добавление enum. Этот урок был полезен, потому что сдвинул с мертвой точки разработку моей игры "Руммикуб". Мне придется сделать пару вспомогательных классов. Кстати вот смотрю на эту схему - очень мне напоминает базу данных, только вместо классов сделать таблички. Сложности: На этот раз ничего. |
|||||
14 | Классы. Квадратная площадь |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим структуру классов с минимально необходимым кодом. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 38 мин. [Показать отчёт] Научился: Как всегда не обойтись без манипуляции с одной клеткой. Сложности: Ничего |
|||||
15 | Классы. Фигурой марш! |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим классы для хранения и перемещения фигур по клеткам. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 41 мин. [Показать отчёт] Научился: Да ничего особенного пока - пишем классики для нашей программы. Сложности: Ничего. |
|||||
16 | Классы. Квадратная матрица |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим класс Board(), который будет заниматься доской и работать с FEN. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 17 мин. [Показать отчёт] Научился: Пока пишем библиотечку. Уже вижу преимущества в написании разных классов. Достаточно несколько строк, чтобы переместить фигуру с места на место - это здорово. Сложности: Ничего. |
|||||
17 | Классы. Стой, кто идёт! |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы создадим класс Moves(), который будет заниматься проверкой возможности хода. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 18 мин. [Показать отчёт] Научился: Доделал логику. Сложности: Пока ничего. |
|||||
18 | Классы. Шахматная бюрократия |
|
|||
Мы продолжаем создание шахматных классов на языке C#, которые позволят проверять правила игры. На этом уроке мы допишем класс Chess(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 12 мин. [Показать отчёт] Научился: Я уже в восторге от лаконичности кода. Сложности: Ничего. |
|||||
19 | Классы. Консольная доска |
1 тест |
|||
Мы приступаем к написанию тестов для нашей библиотеки. На этом уроке мы создадим функционал для отображения доски и исправим старую ошибку копипаста. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 41 мин. [Показать отчёт] Научился: Да вот уже сделали структуру для отладки. Вот тоже меня на мысли наводит для своего проекта. Кстати можно вместо x>='a' && x<='z' использовать char.IsLower(x) - стандартная функция (это не шпилька Игромисту, а способ улучшения программы). Самое сложное запрограммить это будет пешку, самое простое мне кажется ладья - что там она ходит только по вертикали и горизонтали (проверяй, чтобы за пределы доски не вышла и все). А вот пешка сложна из-за ее promotion. Больше ни одна фигура подобного не имеет, опять из-за того что пешка может бить по диагонали на 1 и ход. Вообщем пешка самая сложная, вторая по сложности с моей точки зрения - это ферзь, который сочетает в себе и ладью и слона. Сложности: Ничего. |
|||||
20 | Классы. ВТОРОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Мы создали все основные классы нашего проекта. Твоя задача - нарисовать UML схему созданных классов. Нарисовать схему значительно проще, когда проект уже готов. Поэтому задание не сложное, но очень, очень полезное и нужное. Используй иерархическую структуру Solution Explorer в VisualStudio. Нарисовать можно от руки, либо в сервисе draw.io. Можно использовать любой другой *не автоматический* инструмент рисования. Важно сделать это самостоятельно, а не сгенерить программой! Поэтому рисуй сам. * Не забывайте потом дорисовывать схему в процессе добавления новых методов в классах. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 мин. [Показать отчёт] Научился: К сожалению в Rider так классы не раскрываются. Сложности: Да не люблю я рисовать. Хотя понимаю, что мозг еще та ленивая жопа - надо постоянно его загружать. |
|||||
21 | Алгоритмы. Волшебные шахматы |
1 тест |
|||
Мы приступаем к написанию шахматных алгоритмов. На этом уроке мы добавил в класс Board() необходимые свойства и реализуем парсинг передаваемого FEN. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 11 час. 56 мин. [Показать отчёт] Научился: Мне до сих пор эти шахматы кажутся небольшой магией и главное малым количеством кода - я в восхищении. Сложности: Да ничего. Я воспользовалься сниппетом forr - который формирует строку for от большего к меньшему и поэтому той проблемы как при ручном вводе я не получил. И вообще свойства с приватным сетом формирую через сниппет propg - быстро и удобно. |
|||||
22 | Алгоритмы. Сборка фена |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем формирование текущей позиции в формате FEN. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 45 мин. [Показать отчёт] Научился: Уже почти собрали фен! Ура! Сложности: Я вот не знаю - когда напишешь кучу не реализованных функций, это что по одной функции надо тюкать, чтобы сгенерировать заглушку кода. Нельзя их все сразу сделать, чтобы они сгенерирились? |
|||||
23 | Алгоритмы. Генератор ходов |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы начинаем реализацию проверок можно ли пойти с одной клетки на другую. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 8 мин. [Показать отчёт] Научился: Ура! Потихоньку приводим игру в порядок. Незаметно и постепенно. Сложности: Да вроде ничего особенного. |
|||||
24 | Алгоритмы. Куда идёт Король |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем проверку может ли King пойти с одной клетки на другую. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 52 мин. [Показать отчёт] Научился: Научился ходить королем. Сложности: Ничего. |
|||||
25 | Алгоритмы. Ночью с Конём |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем проверку может ли Knight пойти с одной клетки на другую. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 27 мин. [Показать отчёт] Научился: Научил коня ходить правильно. Сложности: Да вместо AbsDeltaY, использовал просто DeltaY в условии - поэтому не все ходы сразу сгенерировались, но и ошибку не сразу эту нашел. |
|||||
26 | Алгоритмы. Дальнобойщики |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы переходим к дальнобойным фигурам. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 1 мин. [Показать отчёт] Научился: Ай Игромистр! Вот удивил меня! Честно говоря не думал, что SignX, SignY так универсально сработает. Я просто помню как замарачивался с ладьей и слоном - я все время в лоб решал задачу- искал всякие dx и dy позиций и потом их анализировал. А тут прям аж филигранно сделано было. Сложности: У меня была ошибка в функции OnBoard, была следующая ошибка - (y>=0 && x<8) - хотя вместо этого должен быть y<8. Ну у меня из-за этого генерировалось поле f9 и программа все удивлялась, что не могла получить данные по фигуре на этом поле. |
|||||
27 | Алгоритмы. Храбрая пешка |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы приступаем к реализации алгоритмов самой сложной фигуры: Pawn. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 6 час. 54 мин. [Показать отчёт] Научился: Пока учим ходить, прыгать и брать пешкой фигуры. Сложности: Ничего. Я вот не понимаю зачем нужно было кучу if писать и потом в конце еще делать return true или return false, когда достаточно было просто в один return все запихнуть и будет счастье. |
|||||
28 | Алгоритмы. Четвёртое превращение |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем превращение Pawn в одну из четырёх фигур: Queen, Knight, Bishop и Rook. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 33 мин. [Показать отчёт] Научился: Научился делать промоушин для пешки. Сложности: Удивительно - даже в таком деле как превращение было все понятно. |
|||||
29 | Алгоритмы. Рефакторинг на доске |
1 тест |
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы займёмся рефакторингом. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 30 мин. [Показать отчёт] Научился: Как всегда - конгениально. Мне кажется это лучшие шахматы, которые я делал. Очень приятно вот этими руками сделать новое и еще под руководством человека, которому это очень нравится. Сложности: Удивительно - ничего не было сложно. Даже багов не было. Я не знаю, что со мной такое творится. |
|||||
30 | Алгоритмы. Допрыгалась! |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы займёмся взятием пешкой на проходе. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 45 мин. [Показать отчёт] Научился: Научился пешку брать на проходе. Сложности: Это было изящно и круто! Супер! Прям элегантно. |
|||||
31 | Алгоритмы. Королевский паркур |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы реализуем рокировку. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 9 мин. [Показать отчёт] Научился: Научил короля делать длинные и короткие рокировки. Сложности: Ничего. |
|||||
32 | Алгоритмы. Защита короля |
|
|||
Мы продолжаем написание шахматных алгоритмов. На этом уроке мы будем защищать короля от ШАХа. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 12 час. 45 мин. [Показать отчёт] Научился: Научился шаховать. Сложности: Где-то есть косяки- нужно отловить - много кода было написано - плавающая ошибка. |
|||||
33 | Алгоритмы. Шах и Мат! |
|
|||
Мы заканчиваем написание шахматных алгоритмов. На этом уроке мы реализуем возврат ситуации на доске. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 46 мин. [Показать отчёт] Научился: Как всегда просто и понятно. Сложности: Ничего. |
|||||
34 | Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК |
|
|||
На этом уроке мы исправим одну ошибку и добавим ещё один вариант метода GetFigureAt(string xy). Ваше задание - записать подробный отзыв об алгоритмической части проекта. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 9 мин. [Показать отчёт] Научился: Провел мелкий рефакторинг по уроку. Сложности: Ничего. |
|||||
35 | Алгоритмы. VIP. Шахматное супертестирование |
|
|||
На этом уроке мы проверим корректность ваших алгоритмов. Для этого мы прогоним супер-тест по генерации всех вариантов. * Выполнять этот урок необязательно. Ссылка: Сайт с результатами тестирования Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 день 39 мин. [Показать отчёт] Научился: Начал тестировать программу. Сложности: Пока ничего. |
|||||
36 | Алгоритмы. VIP. Можно пройти? |
|
|||
На этом уроке мы немного порефакторим и добавим очень полезную функцию. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 8 мин. [Показать отчёт] Научился: Сделал еще один рефакторинг Сложности: Все ровно. |
|||||
37 | Алгоритмы. VIP. Как пройти в библиотеку |
|
|||
На этом уроке мы подготовим библиотеку ChessRules. Для этого мы скомпилируем её в необходимой версии .NET и проверим работоспособность в Unity проекте. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 41 мин. [Показать отчёт] Научился: Научился тестировать вновь созданную библиотеку. Конечно было разочарование в библиотеке 3.5 . Ну почему все так убого? Много прикольных вещей пропадает. Сложности: Ничего. ПРосто много танцев с бубном было во первых с самой VS, во вторых, когда исправлял ошибки перехода от 4.8 до 3.5 - это боль и жесть! |
|||||
38 | Интерфейс. План действий |
|
|||
На этом уроке мы обсудим дальнейший план действий.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 37 мин. [Показать отчёт] Научился: Заново все фигуры добавил в проект. Сложности: А у меня нет файлика Zero. Дайте мне. |
|||||
39 | Интерфейс. Генерация объектов |
|
|||
На этом уроке мы сгенерируем шахматную доску с базовыми объектами на ней. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 58 мин. [Показать отчёт] Научился: Все получилось, что хотел. Правда вместо белого коня мне захотелось разместить черного ферзя - хорошая же фигура. Сложности: Вот у меня пропала MainCamera. Не знал как восстановить - вот пришлось создавать проект заново. |
|||||
40 | Интерфейс. Начальная позиция |
|
|||
На этом уроке мы добавим ранее созданную библиотеку ChessRules.dll в проект на Unity. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 7 час. 33 мин. [Показать отчёт] Научился: Все хорошо. Сложности: У меня нет файла zero.jpg и в архиве на яндексе к этому уроку не было. Поделитесь, а то вынужден ставить пешку вместо него. |
|||||
41 | Интерфейс. Ход делегата |
|
|||
На этом уроке мы активируем проверку ходов, которую реализовали в ChessRules.dll. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 30 мин. [Показать отчёт] Научился: Делегатненько. Сложности: Народ - ну подайте файл zero.jpg. А то я страшный код написал, чтобы обойти эту ситуацию. |
|||||
42 | Интерфейс. Проверка хода |
|
|||
Мы продолжаем реализацию необходимого функционала для активации проверки ходов на основе ChessRules.dll. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 0 мин. [Показать отчёт] Научился: Все сделал по заданию. Сложности: У меня одни сложные на уме варианты превращения пешки- поэтому я без понятия как это делается. |
|||||
43 | Интерфейс. VIP. Клетки отправления |
|
|||
Это бонусный урок, выполнять его не обязательно. На данном уроке мы реализуем подсветку тех клеток, с которых можно ходить. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 7 мин. [Показать отчёт] Научился: Реализовал подстветку фигур. Очень полезная вещь. Сложности: Я еще раз убедился, что у меня другие фигуры. Например нет файла zero.png и вот помеченные белые и черные клетки совсем другие. Дайте ссылку на правильные фигуры. |
|||||
44 | Интерфейс. VIP. Клетки прибытия |
1 тест |
|||
Это бонусный урок, выполнять его не обязательно. На данном уроке мы реализуем подсветку тех клеток, на которые можно ходить. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 8 час. 15 мин. [Показать отчёт] Научился: Научился подсвечивать шаги куда можно поставить фигуру при ее взятии рукой. Сложности: ShowSquare(move[3] - 'a', move[4] - '1', true); - вот это место было сложным. Я вместо '1' написал 1 и из-за этого возникала ошибка, как будто ход делал за пределы поля (x=3, y=50). |
|||||
45 | Интерфейс. Щепотка рефакторинга |
1 тест |
|||
На этом уроке мы начинаем подготовку к превращению пешки в одну из четырёх фигур. Для начала проведём небольшой рефакторинг. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 25 мин. [Показать отчёт] Научился: Да особо ничему, но рефакторинг очень полезная и приятная штука. Сложности: Ничего - все сработало. |
|||||
46 | Интерфейс. Выставка фигур |
|
|||
На этом уроке мы продолжаем подготовку к превращению пешки в одну из четырёх фигур. Теперь нам надо подготовить фигуры, в которые будем превращать. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 41 мин. [Показать отчёт] Научился: Не стал скрывать промофигуры - чтобы было доказательство. Сложности: Ничего. |
|||||
47 | Интерфейс. Долгожданное превращение |
|
|||
На этом уроке мы наконец превратим нашу пешку в одну из четырёх фигур. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 51 мин. [Показать отчёт] Научился: Научился превращать пешку в разные фигуры. Сложности: Да самым сложным было закончить. Вот что называется проклятье не сделанных дел. Все началось с того, что не внимательно видео посмотрел и не понял откуда взялся файл Zero.jpg. Я почему-то решил, что он будет выложен. Чтобы не выскакивали ошибки я понавставлял костылей в коде. В конечном итоге решил не изобретать велосипед, а просто еще раз посмотреть, что сделали по интерфейсу. Тут недавно послушал книгу про SCRUM и почерпнул одну мудрую мысль. Что если возникает ошибка, то ее надо править сразу - иначе на ее исправление уйдет в 24 раза больше времени. Вот так и со мной - надо было сразу этот файлик сделать, а потом двигаться дальше. А мне пришлось еще проверять - все ли правильно в коде сделал - ну короче - не делайте так. Жизнь слишком коротка, чтобы потом исправлять ошибки. |
|||||
48 | Интерфейс. ЧЕТВЁРТЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о четвёртой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 мин. [Показать отчёт] Научился: Сделали интерфейс с подствекой шагов и при достижении пешкой последней горизонтали, то она превращается в нужную фигуру. Одним словом получилось круто. Сложности: Вот сразу не совсем понял про файл Zero.jpg и из-за этого много накостылил в коде и вообще много времени потерял. |
|||||
49 | База данных. Management в студию! |
|
|||
На этом уроке мы приступаем к созданию БД для нашего сервера шахматы онлайн. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 19 мин. [Показать отчёт] Научился: Решил полностью isoшник скачать. Сложности: Качает долго - но это не сложно. |
|||||
50 | База данных. Планирование |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы спроектируем схему нашей БД. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 21 час. 53 мин. [Показать отчёт] Научился: Да пока ничему и вообще пока для меня чудно, что будет использоваться база данных для игры в шахматы. Но это прикольно. Сложности: Да пока все понятно. |
|||||
51 | База данных. Упрощение |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы упростим схему нашей БД. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 27 мин. [Показать отчёт] Научился: Насчет упрощения есть хороший анекдот про Габрово (есть такая деревенька в Болгарии). В Габрово, чтобы кошка не уносила лишнее тепло ей отрубали хвост. Я вот подумал, что с упрощениями не отрубить этот хвост до головы. Сложности: Я вот так и знал - дай Витольдовичу волю он с этими упрощениями и от базы откажется. |
|||||
52 | База данных. Созидание |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы наконец создадим нашу базу данных для онлайн шахмат. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 47 мин. [Показать отчёт] Научился: Ничему. Я программист БД и на SQL Server програботал около 7 лет. Сложности: Мне кажется новичку надо отдельно показать процесс инсталяции SQL Server. Есть там нюанс, когда полностью окно инсталяции не открыто, то не видно все кнопки и нужно выбрать пользователя администратора баз данных. |
|||||
53 | База данных. VIP. Таблицы на вырост |
|
|||
Мы продолжаем создание БД для нашего сервера шахматы онлайн. На данном уроке мы создадим дополнительные таблицы, которые понадобятся для реализации полноценной онлайн игры. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 21 час. 58 мин. [Показать отчёт] Научился: Пока ничему. Но решил выполнить это задание. Решил все задания из данного курса выполнять. Сложности: Ничего. |
|||||
54 | База данных. VIP. Красивая диаграма |
|
|||
На данном уроке мы нарисуем диаграмму нашей БД.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 11 мин. [Показать отчёт] Научился: Ничему. Сложности: Ничего сложного. |
|||||
55 | База данных. ПЯТЫЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о пятой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 мин. [Показать отчёт] Научился: Ничему. Но решил по полной программе создать таблички. Сложности: Ничего. |
|||||
56 | Сервер. Последняя версия |
|
|||
На данном уроке мы приступаем к созданию серверной части нашего онлайн проекта по шахматам. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 21 мин. [Показать отчёт] Научился: Научился создавать WebAPI сервер - до этого ни разу не делал. Сложности: Да пришлось поставить компоненты ASP.NET- у меня до этого не было , но это не сложно. |
|||||
57 | Сервер. Райский Эдем - EDM |
|
|||
На этом уроке мы создадим EDM - Entity Data Model.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 56 мин. [Показать отчёт] Научился: Научился дружить базу данных с entity framework Сложности: Неправильный пункт меню выбрал- получение данных вместо web api + EF , я выбрал odata + EF и поэтому ничего не работало - хотел даже паниковать, потом разобрался с этой ситуацией и все заработало. Лишний раз показывает, что нужно быть на 100% вовлеченным в какую-то деятельность - тогда меньше времени теряешь - а так - не досмотрел и посчитал легким - потерял лишних полчаса. |
|||||
58 | Сервер. Новая игра на JSON |
|
|||
На этом уроке мы изменим формат вывода с XML на JSON.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 день 48 мин. [Показать отчёт] Научился: Сделал вывод в json формате, вместо xml. xml в данном случае зло. Сложности: Да ничего. Даже удивительно. |
|||||
59 | Сервер. Официант без логики |
|
|||
На этом уроке мы будем упрощать наш ChessController.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 3 мин. [Показать отчёт] Научился: Ничему особо, но было прикольно. Сделать код красиве - это достойное занятие. Сложности: Ничего. |
|||||
60 | Сервер. Ваш ход! |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы реализуем выполнение ходов. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 16 час. 29 мин. [Показать отчёт] Научился: Научился играть через адресную строку браузера. Сложности: Да как всегда невнимательность. |
|||||
61 | Сервер. Шахматная Идемпотентность |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы обсудим Шахматную Идемпотентность. Напишите своими словами, что такое Идемпотентность. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 38 мин. [Показать отчёт] Научился: Узнал про идопотентность. На уровне интуиции понимаю и для меня это достаточно. Сложности: Ничего. |
|||||
62 | Сервер. Китайская ничья |
|
|||
Мы продолжаем создание серверной части для нашего проекта Шахматы по сети. На этом уроке мы реализуем завершение игры при сдаче. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 54 мин. [Показать отчёт] Научился: Научился сдаче игры. Сложности: Ничего. |
|||||
63 | Сервер. ШЕСТОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
Напишите отзыв о шестой части курса: что получилось, что было сложным, что ещё вы добавите в программу. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 мин. [Показать отчёт] Научился: На этой секции научился делать серверную часть в edm + asp.net. Сложности: Ничего. |
|||||
64 | Хостинг. Регистрация аккаунта |
|
|||
Приступаем к размещению нашего сервера в интернете. Для этого нам потребуется Windows-хостинг с поддержкой ASP.NET Чтобы мы были на одной волне и смогли проработать всё вместе, пожалуйста зарегистрируйтесь на этом хостинг-сервисе: Ссылка для регистрации на хостинге: https://www.reg.ru/?rlink=reflink-30461 Отчёт отправил: 7119. Новопашин Владимир Выполнено за 18 час. 26 мин. [Показать отчёт] Научился: Хостингу Сложности: Ничего сложного |
|||||
65 | Хостинг. Лучше заплатить |
|
|||
На этом уроке мы выберем план, доменное имя, укажем контактную информацию. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 18 мин. [Показать отчёт] Научился: Все получилось Сложности: Ничего. |
|||||
66 | Хостинг. Доступ по FTP |
|
|||
На этом уроке мы установим пароль для подключения к хостингу по FTP. Напишите, какой FTP-клиент вы используете и приложите скриншот вашей FTP программы с подключением к хостингу. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 23 час. 56 мин. [Показать отчёт] Научился: Удивительно, но все получилось. Правда в режиме preview могу смотреть, ибо еще не прошло 24 часа, чтобы создать все доменные зоны. Тут еще такой прикол обнаружил - в 2014 году я еще работал в банке Пурпе и его ликвидировали, но у меня осталась лицензия на Total Commander, которую в свое время покупал it-отдел. Мелочь, а приятно. Сложности: Ничего. |
|||||
67 | Хостинг. Публикация проекта |
|
|||
На этом уроке мы настроим публикацию проекта из Visual Studio. Выполните все шаги и опубликуйте проект. Приложите скриншот Visual Studio с логами публикации и содержимое FTP каталога после публикации. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 22 мин. [Показать отчёт] Научился: У меня по другому. Вот я создал новый домен newprogrammer.ru и он не внутри папки httpdoscs, а уже в отдельной папке. Видимо reg.ru уже по другому все сделали. Сложности: Ничего. |
|||||
68 | Хостинг. Перенос базы данных |
|
|||
На этом уроке мы перенесём базу данных на сервер и подключимся к ней из скрипта. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 43 мин. [Показать отчёт] Научился: У меня возникла проблема при переносе backupа, но я выкрутился путем создания скрипта таблички Games и одновременно с данными. Оказывается на reg.ru до сих пор sql server предыдущей версии. Сложности: Были сложности из-за того, что у меня на машине стояла более новая версия, чем хостер установил на моем сайте. |
|||||
69 | Хостинг. VIP. Двойные стандарты |
|
|||
На этом уроке мы обсудим нюансы с публикацией очередной версии серверной части на хостинге. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 16 мин. [Показать отчёт] Научился: Спасибо за совет, а то бы долго бы с этими граблями разбирался. Сложности: Ничего. Даже удивительно - вроде новая для меня территория. |
|||||
70 | Хостинг. СЕДЬМОЙ ФИНАЛЬНЫЙ УРОК |
|
|||
В этой части мы разместили сервер не хостинге. Шахматная серверная программа нашла пристанище в интернете. Наконец-таки можно будет переходить к игре по сети. Напишите в отчёте, всё ли получилось и по какому адресу можно найти ваш серверный API. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 мин. [Показать отчёт] Научился: Честно говоря захватывают эмоции - я выложил в инет свой проект и можно похвастаться. Это же прикольно. Сложности: Ничего. |
|||||
71 | Клиент. Достучаться до облака |
|
|||
На этом уроке мы приступаем к завершающему этапу по созданию клиент-серверной игры "Онлайн шахматы". Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 час. 42 мин. [Показать отчёт] Научился: Научился получать json с web сервера, который только что создал на хостинге. Сложности: Ничего. |
|||||
72 | Клиент. Дедовские методы |
|
|||
На этом уроке мы выделим FEN из полученной json строки.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 22 мин. [Показать отчёт] Научился: Все получилось! Ура! Сложности: Ничего. |
|||||
73 | Клиент. Ход в мешке |
|
|||
На этом уроке мы научимся отправлять на сервер наш ход.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 6 мин. [Показать отчёт] Научился: Научился играть уже с помощью asp.net сервера. Сложности: Вот нужно делать что-то типа callback - как только походил кто-то, то сразу, тут же изменялась позиция на доске. |
|||||
74 | Клиент. Серверные пешки |
|
|||
На этом уроке мы используем ранее созданный класс Client() в наш проект на Unity, чтобы можно было поиграть с GUI. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 3 час. 7 мин. [Показать отчёт] Научился: Научил принимать позицию с сервера. Нужно теперь сделать ходы на сервер. Сложности: Ничего. |
|||||
75 | Клиент. Следы невиданных ходов |
|
|||
На этом уроке мы реализуем отправку хода через GUI.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 39 мин. [Показать отчёт] Научился: Это случай - когда я в диком восторге - что на сервере, то в Unity3D, да еще в и консоле. Ура! Все получилось. Сложности: Какие сложности были? Да у меня рука дрогнула, когда пешка встала на последнюю горизонталь. И из-за этого не выбрал какая у меня будет фигура и пешка осталась пешкой. Пришлось в базе данных ручками fen менять через update и заново переигрывать ходы. А так никаких. |
|||||
76 | Клиент. Фоновое обновление |
|
|||
На этом уроке мы реализуем функцию обновления текущего состояния на доске. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 23 мин. [Показать отчёт] Научился: Научил клиента Unity3D рефрешить ходы - это круто. Очень интересное решение. И главное просто. Сложности: Ничего |
|||||
77 |
![]() |
|
|||
Поздравляю вас с завершением нашего эпического курса по созданию клиент-серверной игры в шахматы по сети! Запишите живое видео, где будет видно, что в игру можно поиграть с двух разных устройств/компьютеров. Расскажите на видео о своём подвиге. Чем курс понравился, что было сложно, что было интересно, что можно будет добавить. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 дня 2 час. 9 мин. [Показать отчёт] Научился: Научился работать в Unity3D, создавать свою библиотеку, кроме того создавать на asp.net сервере свою игру. В качестве бонуса у меня с мертвой точки сдвинулось продвижение моей игры "Руммикуб". Сложности: Да блин как всегда сумбур. Про румми вообще смазано получилось. Видеообзор: 81O0l5STCQQ |
|||||
78 | Рефакторинг. С чего начать? |
|
|||
На этом уроке мы начинаем рефакторинг кода клиентской части на Unity. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 час. 1 мин. [Показать отчёт] Научился: В качестве рефакторинга на следующий шаг рекомендую перенести проект в какую-либо VCS. Тогда все изменения легко можно будет откатить и это уже не проблема будет там, что мы ничего не сделали. Сложности: Придумать. |
|||||
79 | Рефакторинг. Координатные трансформации |
|
|||
На этом уроке мы продолжаем рефакторинг и сейчас мы выделим статические элементы. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 4 час. 16 мин. [Показать отчёт] Научился: Все сделал. Сложности: Ничего. |
|||||
80 | Рефакторинг. Чёрный ящик |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы займёмся словарями. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 17 мин. [Показать отчёт] Научился: Да пока ничему - рефакторим потихоньку. Вот обратил внимание, что в VS 2017, вместо конструкции x + "," + y, можно использовать $"{x},{y}" и тоже работает. Тут дело вкуса - кому как больше нравится. Сложности: Ничего. |
|||||
81 | Рефакторинг. Интерфейсная прослойка |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим интерфейс ICreatable. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 21 мин. [Показать отчёт] Научился: Я поражен! 5 раз один и тот же урок перезаписывал урок Витольдович! Я просто к чему - уже готовлю уроки по Руммикубу и уже влез в эту шкуру. Вот микрофон себе нормальный заказал. Я думаю будет интересно. Я взял за идею шахматную доску, только ее увеличил по ширине и высоте. 5 раз урок перезаписывать - это же какие глубины рефакторингой мудрости удалось постичь! Сложности: Ничего! |
|||||
82 | Рефакторинг. Ящик с фигурами |
1 тест |
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы сделаем класс Box() абстрактным. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 9 мин. [Показать отчёт] Научился: Пою оду рефакторингу! Это всегда весело и полезно! Сложности: Ничего. |
|||||
83 | Рефакторинг. Многоклеточная сущность |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс BoxSquares(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 23 мин. [Показать отчёт] Научился: Перенесено создание клеток в отдельный класс. Сложности: Ничего. |
|||||
84 | Рефакторинг. Вынос переноса |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс Box().SetPosition(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 54 мин. [Показать отчёт] Научился: Еще сделан очередной рефакторинг. Сложности: Ничего. |
|||||
85 | Рефакторинг. Спрайт, не дай себя заинтерфейсить |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс Box().SetSpriteAt(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 31 мин. [Показать отчёт] Научился: Проведен очередной рефакторинг. Вот с братом играем в партеечку. Он играет на андроиде - у меня на компе. Сложности: Ничего. |
|||||
86 | Рефакторинг. Клетка в клетке |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы перенесём и разделим класс ShowSquare(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 41 мин. [Показать отчёт] Научился: Все получилось особо хвастаться нечем. Сложности: Ничего. |
|||||
87 | Рефакторинг. Шахматная независимость |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы перенесём некоторые функции в класс BoxSquares(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт] Научился: Пока мелкий рефакторинг. Все получилось и заработало и это главное. Сложности: Ничего. |
|||||
88 | Рефакторинг. Хоровод из четырёх фигур |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы порефакторим функционал превращения пешки. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 день 5 час. 59 мин. [Показать отчёт] Научился: Все получилось. Сложности: Ничего. |
|||||
89 | Рефакторинг. Волшебник изумрудного ящика |
|
|||
Мы продолжаем рефакторинг нашего кода. На данном уроке мы создадим класс BoxPromots(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 час. 55 мин. [Показать отчёт] Научился: Научился рефакторингу. Сложности: Ничего. |
|||||
90 | Рефакторинг. Потерянная пешка |
|
|||
На этом уроке мы вернёмся к нашей библиотеке для исправления старой ошибки: пешка может превратиться в чужую фигуру ил остаться пешкой. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 день 13 час. 26 мин. [Показать отчёт] Научился: Очень ценный урок получился. Я доволен, что пешку до ума довели. Сложности: Особо ничего, но даже видно, что многие баги - это такие фичи. Ну например пешка идет на последнюю горизонталь и превращается в ферзя и сразу объявляет шаг королю. Ну вот и это нужно было тоже оддебажить. Очень интересно, но по опыту знаю, что зачастую не благодарный труд, особенно когда заказчик стоит над душой и по его (а самое главное по твоему) мнению все должно работать. |
|||||
91 | Рефакторинг. Класс шахматной игры |
|
|||
ЭТОТ УРОК НУЖНО ПЕРЕЗАПИСАТЬ. ДЛЯ ЭТОГО МНЕ НУЖЕН ПРОЕКТ ДО ЕГО ВЫПОЛНЕНИЯ. ПОЖАЛУЙСТА ПЕРЕД ВЫПОЛНЕНИЕМ ЭТОГО УРОКА СОЗДАЙТЕ АРХИВ ПРОЕКТА И ПРИШЛИТЕ ЕГО МНЕ. Мы на финишной прямой нашего рефакторинга. На данном уроке мы вынесем логику игры в отдельный класс Game(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 22 час. 34 мин. [Показать отчёт] Научился: Ну как - научился тому, что дьявол кроется в деталях. Нужно быть внимательным к мелочам. Сложности: Грех жаловаться, что что-то сложное. |
|||||
92 | Рефакторинг. Двухэтажное превращение |
|
|||
Мы всё ближе и ближе к финишу нашего рефакторинга. На данном уроке мы вынесем оставшуюся логику игры в класс Game(). Отчёт отправил: 7119. Новопашин Владимир Выполнено за 13 час. 18 мин. [Показать отчёт] Научился: Очередной рефакторинг. Я бы не сказал, что было скучно - наооборот было весело. Сложности: Ничего. |
|||||
93 | Рефакторинг. Финальное причёсывание |
|
|||
Мы поздравляем тебя с завершением рефакторинга. На данном уроке мы причешем наши скрипты. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 18 мин. [Показать отчёт] Научился: Да причесал, что было. Сложности: Ничего. |
|||||
94 | Рефакторинг. Последний аккорд |
|
|||
На этом уроке мы заканчиваем наш эпический курс. Получилось здорово. Я доволен результатом. Надеюсь, вы тоже. Мы проделали огромную работу. Каждый стал чуточку умнее и опытнее. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 36 мин. [Показать отчёт] Научился: Для меня это не финальный отзыв - я еще буду проходить урок димандоса. Вообщем для меня символ этого лета - запущенная студия Unity3D и шахматы. Ну и да - это дало толчок для моего проекта руммикуба. Прям не знаю - мозги зашевелись. Ну и конечно нельзя огульно переносить всю логику из шахмат в руммикуб. За основу взял шахматную доску, только я ее увеличил как по ширине, так и по высоте. Ну и много таких моментов. Сложности: Ничего. |
|||||
95 | VIP. Меню DimanDOSа |
|
|||
1. Создание и размещение кнопки вызова меню и панели с кнопками. 2. Программирование действий по нажатиям кнопок - создание функций и привязка их к событиям нажатия. Отчёт отправил: 7119. Новопашин Владимир Выполнено за 2 дня 22 час. 52 мин. [Показать отчёт] Научился: Спасибо Диман Досу (почему Досу - мне это не понятно - ведь старая операционная система - правильнее бы надо было говорить - ДиманВиндоузу - ну да ладно - это дело вкуса) за его урок по созданию меню. Молодец! Довольно просто и доходчиво объяснил. Я же сделал на смену fenа от сервера еще и уведомление push для версии android. Как только fen поменялся, то тут же выдаю push уведомление. Сложности: Столкнулся с такой проблемой. Что слишком много выдавалось push уведомлений и мне пришлось в программе искать дополнительные возможности проверки их наличия, чтобы не засорять на андроиде системную шторку этими уведомлениями. Достаточно одного. И да - пришлось для этого уведомления отдельно слепить иконку. |
|||||
Итого: 95 видеоуроков |
17 час. 04 мин. 18 тестов |
19 чел. | |||
Финалисты: Дмитрий, Yefim, Tekashnik, Иван Воронин, ser2018, Алексей, Дмитрий Б, alklokov, FireWolf, Andrew, Max, Новопашин Владимир, Красимир Зорбов, Антон, Евгений, Anatoli, Freud, Алена, MaxB . |