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 5 ошибок обучающих курсов. Java + Xonix 00:09:22
1 тест
31 чел. ★ 4.6 Done
  Из-за каких ошибок большинство обучающих курсов не очень эффективны? Мы начинаем создание игровой программы Xonix с обзора этих самых ошибок, чтобы избежать их при создании практического видеокурса по изучению языка Java на примере написания небольшой видеоигры.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Узнал о частых ошибках обучающих курсов 
Сложности: найти время 
Комментарии: Полностью согласен с ошибками видео-курсов, цитируют книжки, просто берут количеством, "забивая головы". 
2 FREE Поиграем? 00:04:59
1 тест
53 чел. ★ 4.8 Done
  На этом уроке вам необходимо:
1. скачать Java-код игры Xonix,
2. откомпилировать код.
3. запустить игру.
4. разобратья в игре и дойти хотя бы до 5 уровня.
Приложить скриншот результата.

В следующих уроках мы будем создавать эту игру с нуля -
отличный способ познакомиться с основными идеями Объектно-
Ориентированного Программирования на конкретном примере.
Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Одна из первых игр, которые игрался и создавал на одних из первых ПК (СПЕКТР-001 и ZX Spectrum) так как есть опыт игры, дошёл до 5 уровня без проблем =) 
3 Свои правила 00:03:51
1 тест
47 чел. ★ 4.9 Done
  На этом уроке мы установим свои правила в этой игре.
Поменяйте каждый параметр и проверьте результат.

В отчёте необходимо написать, изменение какого параметра было самым интересным.
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Ничему новому 
Сложности: найти время 
Комментарии: Поэкспериментировал с константами, русифицировал статус бар, увеличил размеры поля до стандарта HD, поигрался с интервалом отображения игровых циклов, всё супер =) з.ы. цвета заменил на ZX Spectrum аналоги 
4 Установка Eclipse 00:06:45
1 тест
41 чел. ★ 4.9 Done
  На этом уроке мы скачаем и установим Eclipse. А также создадим первый Java - проект.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Был опыт работы с Eclipse, интересная среда, но после перехода на IntelliJ IDEA понял, что IDE для Java может работать быстрее =) з.ы. На скриншоте продемонстрировал, что в IntelliJ IDEA тоже можно увидеть список методов для удобства. 
5 Окно проекта 00:07:32
1 тест
39 чел. ★ 4.9 Done
  Создать проект и вывести окно
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Отличный урок, идём дальше. 
6 Использование констант 00:05:22
1 тест
38 чел. ★ 4.9 Done
  Добавим константы для размера окна и заголовка окна.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Коротко и ясно =) 
7 Панельный Canvas-класс 00:11:18
1 тест
38 чел. ★ 4.9 Done
  На этом уроке мы добавим панельный класс,
который называется Canvas - основа холста
для всех последующих рисунков.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Хорошо идём =) 
8 Координатный кубик 00:08:47
1 тест
38 чел. ★ 4.9 Done
  На этом уроке мы передеаем отображение кубика -
сделаем так, чтобы он риовался в заданных (x, y) координатах.
Также добавим ещё несколько констант.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Неторопливо идём к цели, смакуя каждую строчку =) 
9 Классный кубик 00:08:41
1 тест
36 чел. ★ 5 Done
  На этом уроке мы создадим для кубика отдельный класс.
И его отрисовку будем вызывать "как полагается".
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Отличная оптимизация, короче код, приятнее читать =) 
10 Перемещение кубика 00:05:24
36 чел. ★ 5 Done
  На этом уроке мы добавим функцию для перемещения кубика.
Для её вызова нужно будет написать Главную функцию игры go().
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Жизнь это движение =) 
11 Живой кубик 00:06:35
1 тест
36 чел. ★ 5 Done
  На этом уроке мы затавим кубик двигаться.
Для этого поместим вызов перемещения и перерисовки в бесконечный цикл.
А чтобы увидеть движение кубика - добавим функцию задержки DELAY.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Вперёд, в бесконечность =) 
12 Граница на замке 00:10:46
1 тест
31 чел. ★ 5 Done
  На этом уроке мы ограничим движение кубика рамками нашего экрана.
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: На втором скриншоте частично видна мысль оптимизация для идеальной подгонки размеров окна под игровое поле. На любой ОС проблем не будет. Нужно будет использовать Dimension, который я уже предлагал в курсе Явный Сапёр, нужно эту фишку и тут использовать. з.ы. Надо будет внедрить это на первом уроке следующего вебинара по этому курсу =) 
13 Точное прикосновение 00:07:41
31 чел. ★ 5 Done
  На этом уроке произведем коррекцию размеров игрового поля, чтобы кубик точно вписывался в границы окна.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Так как на прошлом уроке решил проблемы размеров игрового поля, то отступы по сути не нужны, но будем идти по курсу не сворачивая, отложил внедрение "деменшен" до следующего вебинара =) 
14 Классный шарик 00:07:52
1 тест
30 чел. ★ 5 Done
  В этом уроке мы создадим класс для нового героя нашей игры - для шарика.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Кубик штурмует неприступный шарик =) 
15 Живой шарик 00:03:57
1 тест
28 чел. ★ 5 Done
  На этом уроке мы оживим шарик, напишем/скопируем функции для его передвижения.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Кружатся в ритме "Коко Джамбо" =) 
16 Снова рефакторинг 00:06:59
21 чел. ★ 5 Done
  На этом уроке мы займёмся рефакторингом и перенесём функцию onMap в главный класс программы.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Закрепил пройденное 
Сложности: найти время 
Комментарии: Отлично, идём дальше =) 
17 Абстрактный субъект 00:04:39
1 тест
28 чел. ★ 5 Done
  На этом уроке мы создадим абстрактный класс Subject,
в который перенесём повторяемый код из классов Кубика и Шарика.
Благодаря Наследованию код классов Cube и Ball станет более компактным.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Урок можно было разбить на 3 урока поменьше: 1 - выносим onMap() 2 - создаём абстрактный класс 3 - удаляем дубликаты и добавляем экстендед к кубику и шарику было бы и со скриншотами компактнее, а то покрывало получилось, плюс из-за телодвижений с дубликатами строк сурсконтрол софт сума сходит, пришлось фотошопить дифф, чтобы он был адекватный =) 
18 Базовое наследство 00:02:40
21 чел. ★ 5 Done
  На этом уроке мы избавимся от дублирующегося кода, благодаря наследованию.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Отлично, три урока вместо одного смотрятся намного лучше =) 
19 Броуновское движение 00:06:03
1 тест
28 чел. ★ 5 Done
  На этом уроке создадим экземпляр класса Random
Теперь наши субъекты будут появляться в случайных
местах и двигаться в разных направлениях.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Уже идея родилась по поводу реализации визуальной составляющей на основе этой игры, надо будет выбрать время и воплотить для финального видео-обзора =) 
20 Размножение шариков 00:07:33
27 чел. ★ 5 Done
  На этом уроке мы добавим несколько шариков на наше поле.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Полировка объектов до округлой формы - срезаем углы =) 
21 Чудеса полиморфизма 00:10:02
1 тест
25 чел. ★ 5 Done
  На этом уроке воспользуемся магией Полиморфизма -
Поместим и шарики, и кубики в один массив.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторение пройденного 
Сложности: найти время 
Комментарии: Термотетрисная реакция =) 
22 Упаковка панели в окно 00:08:37
18 чел. ★ 5 Done
  На этом уроке мы переделаем способ задания размеров карты и экранной формы.
Спасибо за помощь Ивану Воронину, который подготовил материал этого урока.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Ну вот теперь можно не переживать за совместимость с другими ОС или стилями рабочего стола =) 
23 Земля и Вода 00:16:06
1 тест
14 чел. ★ 5 Done
  На этом уроке мы создадим, как творец, Землю и Воду.
Сделаем класс Field для отображения поля всей игры.
Напишем метод paint для отображения всей карты.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Отличный урок, сотворили землю и воду, двигаемся дальше к сотворению мира Xonix =) 
24 Матрица Мира 00:11:58
1 тест
12 чел. ★ 5 Done
  На этом уроке мы создадим матрицу нашего поля.
Мы должны будем хранить состояние игрового поля
и для этого нам потребуется двумерный массив - матрица.
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Добавил функционал проверки есть ли рядом с координатами такой же объект мира как и пытаемся установить, если есть, ищем другое место, если нет, ставим, теперь все 10 ставятся на море, не касаются земли, не касаются друг друга. Отличный урок, идём дальше. 
25 Цветовая дифференциация 00:11:38
8 чел. ★ 5 Done
  Когда у общества нет цветовой дифференциации штанов, то нет цели!

На этом уроке мы займёмся рефакторингом -
негоже использовать цветовую дифференциацию штанов объектов,
лучше перечислить их в отдельном enum-классе Cell.

https://www.youtube.com/watch?v=2FgWNKgSvqY
Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Супер, лучше поздно чем никогда =) з.ы. одна из первых игр, которые я увидел на ПК. ещё на Спектр-001 
26 Острова, острова 00:11:49
1 тест
8 чел. ★ 5 Done
  А острова, а острова, где-то ждут нас острова...
Всё же карты не всегда бывают правы.
А острова, а острова, я найду вас острова!

На этом уроке мы вынесем размещение островов в отдельный метод.

https://www.youtube.com/watch?v=Zm2VyOL2rHA
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Отличный урок, но я бы метод, который добавляет N-островов назвал бы во множественном числе, добавив буковку s в конце названия, см. скриншот.  =) 
27 Среда обитания 00:12:40
1 тест
7 чел. ★ 5 Done
  На этом уроке мы определим среду обитания для наших субъектов.
Кубики живут на суше, шарики на воде.
И добавим в абстрактный класс функционал
жизнедеятельности субъектов в родной среде обитания.

https://www.youtube.com/watch?v=sQHqFBvFt6M

// старый урок - QHKMrETJNaI //
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт]
Научился: Закрепил пройденное 
Сложности: найти время 
Комментарии: Добавил ещё пару кубиков и шариков. Всё супер, идём дальше. 
28 Главный герой 00:08:27
7 чел. ★ 5 Done
  На этом уроке мы создадим класс Xonix и нарисуем главного героя.

Земля и вода создана, рыбы и животные резвятся,
настало время создать Хониха «из праха земного».

Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Отлично, появился главный протагонист =), идём дальше. 
29 Клавиши подсознания 00:11:07
1 тест
7 чел. ★ 5 Done
  На этом уроке мы создадим слушатель для клавиатуры,
чтобы пользователь смог управлять главным героем.
Это будет отдельный класс, имплементирующий интерфейс KeyListener.
Отчёт отправил: 10558. Иван Воронин Выполнено за 8 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Слушатель клавиш уже использовали, при прохождении курсов по Java, поэтому лишний раз повторил это дело =) отличный урок, наконец наш протагонист научился двигаться туда, куда скажут =) 
30 Прыжок в воду 00:10:27
6 чел. ★ 5 Done
  На этом уроке мы научим Хониха "нырять".
Добавим флаг статуса - на воде он или на суше,
и при выходе в море - проставим первую клетку моста.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Отличный урок, по поводу движения протагониста, он как змейка, если нажать в противоположную сторону движение и он находится в состоянии рисования пути, то он возвращается в точку, где последний раз был на суше и отнимается одна жизнь =) уже приближаемся к реализации данный правил. 
31 Прогулки по воде 00:08:47
1 тест
6 чел. ★ 5 Done
  На этом уроке мы научим Хониха правильно ходить по воде.
Строить за собой мост и даже превращать следы в землю.

https://www.youtube.com/watch?v=Ogh3GjpS07k
Отчёт отправил: 10558. Иван Воронин Выполнено за 7 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Отличный урок, идём дальше. 
32 Заштриховка области 00:09:25
1 тест
6 чел. ★ 5 Done
  Ты квадратик нарисуй, и немножко заштрихуй!

На этом уроке мы напишем оригинальный рекурсивный алгоритм заливки области.
На этом наша игра практически завершена, остались сплошные мелочи.

Подробнее о рекурсии в курсе «Комбинаторика»
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт]
Научился: Повторил пройденное 
Сложности: найти время 
Комментарии: Супер урок, я вначале думал заливать области, пока не наткнёшься на шарик, если наткнулся, то отмена заливки и так дальше, но этот вариант куда быстрее и оптимальнее, сразу двух зайцев. Бомба. 
33 Живая Легенда 00:09:29
1 тест
6 чел. ★ 5 Done
  На этом уроке мы добавим метку для отображения информации.
Наша легенда будет показывать приветствие, счёт и сообщение о завершении игры.
Отчёт отправил: 10558. Иван Воронин Выполнено за 18 мин. [Показать отчёт]
Научился: Отлично, статистика и информации по ситуации в игре это самое важное, чтобы было к чему стремиться и быть в курсе, что происходит =) 
Сложности: найти время 
34 Процент Земли 00:09:01
1 тест
6 чел. ★ 5 Done
  На этом уроке мы будем считать процент огороженной земли.
Отчёт отправил: 10558. Иван Воронин Выполнено за 18 мин. [Показать отчёт]
Научился: Отличный урок, повторил пройденное, осталось добавить проверку на процент заливки, подсчёт очков и победу, так же цикл запуска очередного уровня =) 
Сложности: найти время 
35 Следующий уровень 00:16:05
1 тест
6 чел. ★ 5 Done
  На этом уроке мы сформируем функцию
для перехода на следующий уровень игры.
Каждый уровень будет сложнее предыдущего -
будут добавляться шарики, кубики, острова,
увеличиваться скорость игры.

Отчёт отправил: 10558. Иван Воронин Выполнено за 11 мин. [Показать отчёт]
Научился: Отличная доработка, всё ближе и ближе к финальному штриху =) 
Сложности: найти время 
36 Конец игры 00:12:47
1 тест
5 чел. ★ 5 Done
  На этом уроке мы научим шариков и кубиков ловить Хониха.
Если они его поймают или ухватятся за путь - игра начнётся заново.
Придумайте, что ещё можно добавить в игру.
Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 24 мин. [Показать отчёт]
Научился: 1 - Добавил жизни, изначально 3. 2 - Уменьшил диапазон срабатывания при врезании в xonix или в его путь враждебных объектов. Теперь если они точно попадают в точку с незавершённым путём или в точку самого xonix, тогда срабатывает событие и отнимается жизнь. 3 - Если xonix стоит не двигаясь на земле и прямо на него наехал квадратик, отнимается жизнь и появляется квадратик в новом рандомном месте. 4 - Если xonix движется по воде и в него врезается шарик, то шарик появляется в рандомном месте на воде, а xonix возвращается туда, откуда начал свой путь следования по воде, незавершённый путь отменяется, отнимается жизнь. 5 - При переходе на новый уровень, жизнь увеличивается на 1. 6 - Снизу добавил отображение текущего количества жизней. з.ы. на первом скриншоте почти пройденный 4 уровень, когда попал на 5, на xonix наткнулся квадратик и xonix ушуршар за пределы карты, решил устранить это баг, добавив проверку находится ли он на воде или нет, так если он стоит и ещё не разу не двигался, то координаты возврата были по умолчанию за пределами карты. Поэтому второй скриншот с 5 уровнем, это уже последующая игра, по сути я дважды дошёл до 5 уровня =) 
Сложности: найти время 
37 ФИНАЛЬНЫЙ УРОК без видео
1 тест
5 чел. ★ 5 Done
  Поздравляю с завершением приключений Хониха!
Напиши своё впечатление о прохождении этого курса.
Что ещё ты хотел бы добавить в эту программу?
* Запиши видеообзор созданной программы.
Отчёт отправил: 10558. Иван Воронин Выполнено за 3 мин. [Показать отчёт]
Научился: Отличный курс, игрушка детства, есть ещё куда пилить, добавил проверку при генерации островков, чтобы они не граничили друг с другом, нужно добавить статистику, обработку столкновений с врагами и лимит попыток, они же жизни =) 
Сложности: найти время 
Видеообзор: q6XrnCCmoKI
  Итого:   37 видеоуроков 5 час. 15 мин.
28 тестов
5 чел. ★ 4.97  
  Финалисты:   Иван Воронин,   Новопашин Владимир,   Dmitry Sinitsin,   Anatoli,   Yefim .

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





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

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

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

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


Научился: лично для меня в этом курсе было прорывом увидеть воочию действие рекурсии на примере работы метода по закраске оттяпанной Зониксом территории у воды. Не сказать, чтобы я про ту рекурсию впервые слышал, попадалась она и прежде, но чтобы понять - вот здесь уже заслуга этого курса. Сам для себя отметил, что вижу рекурсию, понимаю когда она останавливается, понимаю что происходит при ее перегрузке с помощью аргументов. В общем, то был восторг, когда дошло и понял. Допиливать игруху можно долго и с удовольствием, можно добавить музыку фоном, анимировать события звуками столкновений. Курс живой и интересный.



Научился: Отличный курс, игрушка детства, есть ещё куда пилить, добавил проверку при генерации островков, чтобы они не граничили друг с другом, нужно добавить статистику, обработку столкновений с врагами и лимит попыток, они же жизни =)