C# обучение для чайников

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

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

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

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

После взноса  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:02:13
1 тест
109 чел. ★ 4.8 Done
  Мы начинаем создание легендарной игровой программы
"Сапёр" на языке программирования Java.

Отчёт отправил: 1901. Neverwinter 2 Выполнено за 19 мин. [Показать отчёт]
Научился: Ничему, джава уже была для чего-то))) 
Сложности: Сделать скриншот Всё видно в пуске (на раб столе не держу ярлычков) 
2 FREE Простое окно 00:03:02
96 чел. ★ 4.9 Done
  На этом уроке мы начинаем новый проект
и создадим JFrame приложение.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 9 мин. [Показать отчёт]
Научился: Создавать проект джава. 
Сложности: Пока ничего. Не сразу 1.8 подключил - надо было сказать - мол выберете джаву для Интеллидже Идеа 
3 Закрытие на выходе 00:03:00
91 чел. ★ 4.9 Done
  На этом уроке мы настроим JFrame приложения.
Для этого пропишем необходимые параметры.

Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Закрывать джава программу на крестик 
Сложности: Да всё просто 
4 Полёт над классом 00:03:53
89 чел. ★ 4.8 Done
  На этом слайде мы обсудим все поля и методы основного класса нашей запускаемой игры JavaSweeper, который наследуется от JFrame
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Ознакомился с планом действий по реализации игры 
Сложности: setImages() - самая интересная функция - для "установки" картинок... Интересно, она с файла будет их брать или из ресурсов... 
5 Пустая панель 00:02:33
88 чел. ★ 4.9 Done
  На этом слайде мы добавим на нашу форму панель, установим ее размер и разместим ее по центру экрана
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 20 мин. [Показать отчёт]
Научился: Научился добавлять панель на форму и задавать её(панели) размеры. 
Сложности: Задать размеры панели: я пишу ширина, высота... а надо сразу число писать. Ых.... 
6 Раздельная инициализация 00:02:23
88 чел. ★ 4.9 Done
  На этом слайде мы займемся рефакторингом. Мы не будем добавлять новой функциональности, а просто красиво оформим то, что уже есть.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Выделять набор команд в отдельный метод в Jawa. 
Сложности: Всё понятно. 
7 Метод рисования 00:01:59
88 чел. ★ 4.9 Done
  На этом слайде мы наконец-то начнем рисовать. Создадим Paint-компонент для отображения рисунков на нашей панели и на форме.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 4 мин. [Показать отчёт]
Научился: Рисовать линию 
Сложности: Понять про анонимный класс 
8 Импорт картинок 00:01:22
86 чел. ★ 4.9 Done
  На этом слайде мы добавим в наш проект картинки, которые потом будем показывать на панели во время игры.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 1 час. 35 мин. [Показать отчёт]
Научился: Добавлять картинки в проект 
Сложности: Ничего 
9 Загрузка и отображение 00:02:13
86 чел. ★ 4.9 Done
  На этом слайде мы выведем картинку на панель
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Выводить картинку 
Сложности: Ничего. 
10 Угловая бомба 00:01:31
85 чел. ★ 4.9 Done
  На этом слайде мы добавим еще пару картинок на нашу форму.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 3 мин. [Показать отчёт]
Научился: Добавлять много картинок 
Сложности: Ничего. 
11 Константные размеры 00:02:42
85 чел. ★ 4.9 Done
  На этом слайде мы добавим константы и немножко порефакторим.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 4 мин. [Показать отчёт]
Научился: Задавать размер константами 
Сложности: Ничего 
12 Перечисление кубиков 00:03:42
85 чел. ★ 4.9 Done
  На этом слайде мы создадим перечисление Box
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 13 мин. [Показать отчёт]
Научился: Создавать перечисление 
Сложности: Ничего. 
13 Первый цикл 00:01:59
85 чел. ★ 4.9 Done
  На этом слайде мы выведем все картинки на форме
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 3 мин. [Показать отчёт]
Научился: Загружать картинки по циклу 
Сложности: Ничего. 
14 Картинка в кубике 00:03:45
84 чел. ★ 4.9 Done
  На этом слайде мы поместим картинку в каждый экземпляр перечисления Box.

Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Отвязывать лишний объект от перечисления 
Сложности: Понять про Image и Enum... 
15 Источник ресурсов 00:01:53
79 чел. ★ 4.9 Done
  На этом слайде мы сделаем загрузку картинок через систему ресурсов в языке Java
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 3 мин. [Показать отчёт]
Научился: Помечать корень ресурсов 
Сложности: Ничего. 
16 Запускаемый jархив 00:02:55
73 чел. ★ 5 Done
  На этом слайде мы создадим запускаемый JAR-архив для нашей программы

Примечание.
При попытке запуска jar на линуксе появляется сообщение "is not marked as executable".
Необходимо запускать архив из командной строки:
  java -jar JavaSweeper.jar
Либо разрешить исполнение этого файла, чтобы запускать по клику мышкой:
 chmod +x JavaSweeper.jar

Отчёт отправил: 1901. Neverwinter 2 Выполнено за 1 мин. [Показать отчёт]
Научился: Узнал, что jar это зип архив. Ух ты! 
Сложности: "Построить Артефакты" 
17 Карта классных сокровищ 00:04:48
70 чел. ★ 4.9 Done
  На этом слайде мы разберем UML-схему нашего проекта
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 9 мин. [Показать отчёт]
Научился: Узнал, из каких элементов будет состоять программа 
Сложности: По идее такую схему рисовать бы до начала работы с проектом, но гораздо легче после ))) 
18 Наши координаты 00:03:24
65 чел. ★ 5 Done
  На этом слайде мы создадим класс Coord и задействуем его в нашей программе
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Узнал что в Jawa нет структур 
Сложности: Понять, зачем нужна структура (класс). 
19 Статичная граница 00:03:12
65 чел. ★ 4.9 Done
  На этом слайде мы создадим класс Ranges, который будет использоваться во многих классах нашего проекта и позволит задавать глобальные параметры и перебор всех координат.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 1 мин. [Показать отчёт]
Научился: Ознакомился с классом Ranges 
Сложности: Понять наш будущий план... Я еще не знаю как это будет использоваться, но List AllCoords мне уже не нравится... Ну, посмотрим. 
20 Установка размеров 00:04:22
64 чел. ★ 4.9 Done
  На этом слайде мы создадим класс Range с двумя статичными методами для установки и получения размеров нашего поля.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 18 мин. [Показать отчёт]
Научился: Продолжаю создавать программу... 
Сложности: Намучился с get и set - у меня тоже подчеркивал красным, пока public не написал... Очень хорошо, что уроки ультракороткие - ошибку искать в совсем небольших пределах 
21 Полный список 00:04:28
60 чел. ★ 5 Done
  На этом слайде мы добавим в класс Range список всех координат нашего поля и будем его использовать для перебора всех клеток
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 22 мин. [Показать отчёт]
Научился: Добавили в проект список всех координат поля... 
Сложности: Понять, как все это работает. 
22 Радуга картинок 00:03:18
57 чел. ★ 4.9 Done
  На этом слайде мы добавим иконку нашей программе и немножко пошалим с отображением картинок на экране
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 16 мин. [Показать отчёт]
Научился: Устанавливать иконку 
Сложности: Ничего 
23 Фасадный класс 00:02:05
57 чел. ★ 4.9 Done
  На этом слайде мы начнем создавать фасадный класс Game и напишем первые два метода этого класса

Отчёт отправил: 1901. Neverwinter 2 Выполнено за 3 мин. [Показать отчёт]
Научился: Назначение класса фасад - управлять игрой! 
Сложности: фасад - внешние вызовы к одному классу идут.... как то так... 
24 Игровая координата 00:04:07
57 чел. ★ 4.9 Done
  На этом слайде мы создадим класс Game и реализуем в нем конструктор, а также метод getBox(), который по заданным координатам возвращает, что должно быть в указанной клетке нашего поля.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 5 мин. [Показать отчёт]
Научился: Передали фасадному классу управление координатами отрисовки 
Сложности: Да ничего вобщем то... 
25 Матрица мира 00:04:32
56 чел. ★ 4.9 Done
  На этом слайде мы создадим класс Matrix для хранения всех элементов нашего игрового поля
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 5 мин. [Показать отчёт]
Научился: Создали матрицу бомб 
Сложности: Ничего 
26 За гранью видимого 00:04:49
55 чел. ★ 4.9 Done
  На этом слайде мы добавим в класс Matrix два метода - геттер и сеттер для получения и установки полей нашей игры
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 5 мин. [Показать отчёт]
Научился: Добавили методы для установки полей 
Сложности: Ничего 
27 Бомбанутый класс 00:02:55
53 чел. ★ 5 Done
  На этом слайде мы поговорим о классе Bomb, который будет использоваться для хранения нижнего слоя нашего поля, где находятся бомбы и числа вокруг них
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 2 мин. [Показать отчёт]
Научился: Узнал, какие методы будут в классе Bomb - класс для контроля бомб и их цифр)) 
Сложности: Ничего... максимум 50%... интересненько)) 
28 Тестовая бомба 00:05:11
54 чел. ★ 5 Done
  На этом слайде мы начнем создавать класс Bomb
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 4 мин. [Показать отчёт]
Научился: Теперь передаём количество бомб 
Сложности: Пока ничего 
29 Случайные бомборазмещения 00:04:35
54 чел. ★ 5 Done
  На этом слайде мы разместим бомбы в случайных местах на нашей карте
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 4 мин. [Показать отчёт]
Научился: Размещать бомбы 
Сложности: ЕЕЕЙЙ!!! С первого раза 10-ка!!! Да-а-а! 
30 Сравнение координат 00:03:09
53 чел. ★ 5 Done
  На этом слайде мы исправим несколько ошибок и добавим в класс Coord метод для сравнения двух координат
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Добавили метод сравнения координат 
Сложности: Воу! Второй раз подряд 10 мин! )) 
31 Ограда из единиц 00:06:29
53 чел. ★ 4.9 Done
  На этом слайде мы научимся проставлять единицы вокруг каждой бомбы
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 8 мин. [Показать отчёт]
Научился: Размещать единички вокруг бомбы 
Сложности: О-о-о... 4-кратная вложенность... Воу! 
32 Следующая цифра 00:04:16
51 чел. ★ 5 Done
  На этом слайде мы будем увеличивать цифры вокруг каждой новой размещенной бомбы
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 4 мин. [Показать отчёт]
Научился: Увеличивать цифры вокруг бомбы 
Сложности: Забавно, вроде в курсе сапер С# было иначе... ну да ладно. 
33 Дважды в одну воронку 00:05:52
49 чел. ★ 5 Done
  На этом слайде мы исключим попадание двух бомб в одну воронку
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Теперь 2 бомбы в одну клетку не попадут 
Сложности: Ничего 
34 Флаг над классом 00:09:18
48 чел. ★ 5 Done
  На этом слайде мы перейдем к верхнему уровню нашей абстракции - классу Flag.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 8 мин. [Показать отчёт]
Научился: Узнал, из чего состоит класс Flag 
Сложности: setOpenedToBox - открывает клетку... по левому щелчку 
35 Королевская траншея 00:05:02
48 чел. ★ 5 Done
  На этом слайде мы создадим методы start() и get() в класс Flag.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Добавили пару методов класса Flag. Теперь открываем то что нужно, а не сразу карту минного поля... 
Сложности: Ничего. 
36 Клавишные инструменты 00:04:16
48 чел. ★ 5 Done
  На этом слайде мы создадим два метода в классе Game - pressLeftButton() и pressRightButton()
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Подготовили функции для обработки кнопок мыши 
Сложности: Время найти... очень не люблю делать что-то на скорость... 
37 Мышечный адаптер 00:06:27
47 чел. ★ 5 Done
  На этом слайде мы, наконец, добавим интерактив в нашу программу и зарегистрируем адаптер мыши для опроса левой и правой кнопки.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Создали методы для обработки кнопок мыши 
Сложности: Сыграть в игру. 
38 Схема правой педали 00:02:24
47 чел. ★ 5 Done
  На этом слайде мы разберем алгоритм нажатия правой кнопки мышки в игре JavaSweeper
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 4 мин. [Показать отчёт]
Научился: Ознакомился с алгоритмом правой кнопки мыши 
Сложности: Алгоритм свитч почти написан на втором скрине, не хватает только кейсов слева, и брейков справа.... Ну и собственно свича сверху))) 
39 Смена флагов 00:03:36
47 чел. ★ 5 Done
  На этом слайде мы реализуем установку и удаление флажков и напишем реализацию функции pressRightButton()
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Реализовали функцию для обработки правого щелчка 
Сложности: Нарисовать. 
40 Добро пожаловать! 00:04:24
47 чел. ★ 5 Done
  На этом слайде мы добавим строчку состояния в нашу программу
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 8 мин. [Показать отчёт]
Научился: Добавили панельку, которая будет писать : победил, проиграл, привет))... 
Сложности: Отличная идея сначала прописать состояния, а потом делать левую кнопку 
41 Недетские состояния 00:02:52
47 чел. ★ 5 Done
  На этом слайде мы создадим перечисление GameState, в котором будет храниться состояние игры

Отчёт отправил: 1901. Neverwinter 2 Выполнено за 3 мин. [Показать отчёт]
Научился: Создали перечисление с состояниями игры 
Сложности: Ничего 
42 Актуальное информирование 00:06:07
47 чел. ★ 5 Done
  На этом слайде мы сформируем сообщение о текущем статусе игры в зависимости от текущего состояния и выведем его на экран
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 8 мин. [Показать отчёт]
Научился: Информировать игрока о состоянии игры. 
Сложности: Ничего. 
43 Алгоритм открывашки 00:07:43
47 чел. ★ 5 Done
  На этом слайде мы займемся обработкой нажатия левой кнопки мышки
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 32 мин. [Показать отчёт]
Научился: Познакомился с алгоритмом для левой кнопки мыши 
Сложности: Понять алгоритм. И вообще 30 минут - ненастоящее время, реально я делал меньше, но оно считает подрят.... 
44 Выбор из выбора 00:05:05
47 чел. ★ 5 Done
  На этом слайде мы напишем метод openBox(), который перебирает все возможные состояния клеток и в зависимости от этого выполняет ту или иную операцию.

Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Обрабатывать механизм нажатия на открытую клетку 
Сложности: Ничего. Я тоже решил последовать примеру и поменял размер шрифта на 18. 
45 Нулевая рекурсия 00:04:01
47 чел. ★ 5 Done
  На этом слайде мы рекурсивно откроем все клетки вокруг нулей.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Рекурсивно открываем пустые клетки. 
Сложности: Наверное - самая мощная часть во всём алгоритме сапёра. Класс. Как это классно выглядит. В с# тоже же можно так на неё смотреть? (на вызов координат). В своём сапёре я сделал плавное открытие клеток и теперь любуюсь как они открываются в "замедленном времени" 
46 Учёт зарытых флагов 00:04:19
47 чел. ★ 5 Done
  На этом слайде мы будем считать количество флажков и закрытых клеток на нашем поле
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Считать флаги и закрытые клетки 
Сложности: Ничего. Нет, короткие уроки - это всё таки круто - отчетов только дофига проверять... 
47 Телеграмма о флажках 00:03:28
47 чел. ★ 5 Done
  На этом слайде мы выведем сообщение пользователю, сколько флажков и сколько бомб есть на экране
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 6 мин. [Показать отчёт]
Научился: Писать сообщение пользователю о количестве флагов и бомб. 
Сложности: Ничего. 
48 День Победы! 00:05:25
47 чел. ★ 5 Done
  На этом слайде мы проверим, а не победили ли мы!
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 7 мин. [Показать отчёт]
Научился: Проставлять флаги на неотмеченные клетки, если их количество равно количеству бомб (непомеченных). 
Сложности: Ничего. 
49 Первая ошибка сапёра 00:06:13
47 чел. ★ 5 Done
  На этом слайде мы зафиксируем поражение, когда игрок подорвался на бомбе.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 10 мин. [Показать отчёт]
Научился: Фиксировать поражение. 
Сложности: Играть после победы / поражения... Я встречался в с# сапёре... Ну, это несложно пофиксить. Хотя вобщем то и не мешает. С функцией изГеймОвер действительно красивее. 
50 Открываем карты 00:07:26
45 чел. ★ 5 Done
  На этом слайде мы покажем расположение бомб после проигрыша.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 11 мин. [Показать отчёт]
Научился: Показывать расположение бомб после проигрыша. (Неверно помеченных и не помеченных) 
Сложности: Да всё здесь сложно, блин... 
51 Цифровой помощник сапёра 00:11:31
46 чел. ★ 5 Done
  На этом слайде мы напишем помощник, который помогает открывать заведомо безопасные клетки.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 17 мин. [Показать отчёт]
Научился: Открывать заведомо безопасные клетки 
Сложности: Последний урок, ура!!! 
52 Финальный аккорд 00:17:49
35 чел. ★ 5 Done
  На этом видео мы проанализируем всё, что было сделано - пройдёмся по всему коду программы.
Также поговорим о создании Бота для игры Сапёр - как это можно сделать.
Ваше задание - записать видеообзор созданной игры, выложить
на youtube и разместить ссылку на видео в описании.
Отчёт отправил: 1901. Neverwinter 2 Выполнено за 52 мин. [Показать отчёт]
Научился: Посмотрел обзор всего курса! Здорово!! 
Сложности: Я очень устал. Тем не менее нашел в себе силы вырезать все ругательства... Курс - супер. Джава - гори в аду. Спасибо за просмотр. 
Видеообзор: fX2W7veZd7Y
  Итого:   52 видеоурока 3 час. 50 мин.
1 тест
35 чел. ★ 4.96  
  Финалисты:   Никита,   Владислав,   Иван Воронин,   1  ,   Александр Р.,   Danil42Russia,   Pavlin,   Андрей Шевченко,   Neverwinter 2,   Сергей Стефаненко,   Александр,   Михаил,   Hofflin,   Сергей,   VladYorkyee,   chokayes,   Александр,   Tekashnik,   Денис,   Vladimir Falejev,   Yefim,   Иван,   Новопашин Владимир,   sergeykin,   FireWolf,   Кирилл Шмойлов,   yerv,   Нюта,   Anna,   Алексей В.,   AZANIR,   Дмитрий,   zhikharevav,   Dmitry Sinitsin,   Андрей Гладков .

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





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

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

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

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


Научился: Создавать окна, использовать адаптер для мыши. Все это писать на языке Java. Создавать и использовать перечисления. Использовать ООП при написании программ.
Трудности: Сложно было успевать все записывать за маэстро. Чувствуется, что за кадром осталась огромная работа по рефакторингу. Нам же достался бриллиант, сверкающий своими гранями, т.к. каждая функция на своем месте - ни удалить, ни прибавить. Прямо скажу, что курс - образец для подражания, но пока это для меня недостижимая цель. Когда сам начинаешь писать, все валится в одну кучу. Так что буду стремиться к совершенству. Спасибо огромное за курс! Получил огромное удовольствие от его прохождения!



Научился: Просьба за то, что не снял видеообзор камни не кидать xD Была проделана большая работа. Данный курс был разбит на короткие уроки в котором не было воды. Его можно сравнить с хороший книгой, прочитав один раз, хочется прочитать опять. Но понимая, что вложил 0 усилий что бы сделать данную игру, приходят мысли что надо сесть осмыслить и сделать самому. Спасибо Евгению Витольдовичу за данный курс. На этом всё)