Обучение c# видеоуроки

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

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Микроигры

В этом видео-курсе мы будем создавать более сложные и более интересные игровые программы, которые потребуют от программиста не только знание визуальных компонентов, но и навыки составления алгоритмов для реализации логики игры и/или искусственного интеллекта.

По мере обучения мы создадим знакомые тебе с детства игры:
пятнашки и арканоид, виселица и крестики-нолики,
змейка и шарики 5 в ряд, и даже популярную сейчас игру 2048.
Для каждой из этих игр мы создадим “искусственный интеллект”, поэтому играть с программой будет не так-то просто... :)

В разных играх ты познакомишься с разными алгоритмами:
работа с графикой, переборы вариантов, алгоритм поиска в глубь и в ширину,
работа с массивами и матрицами, динамическое создание визуальных компонентов,
работа с координатами, элементы теории графов и, конечно же,
применение концепций Объектно-Ориентированного Программирования, сейчас без него никуда!

А в конце курса тебя ждёт VIP-урок по созданию микро-шутера "Стрелялка".



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

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

После взноса  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 Игра 15 - Кнопки 00:13:41
1 тест
181 чел. ★ 5 Done
  Создание известной игры «Пятнашки» — отличное упражнение для начинающих программистов.
На первом уроке мы создадим интерфейс игры и разместим все кнопки.
На втором уроке мы напишем класс логики игры и допишем программу.
На третьем уроке мы вместо кнопок будем использовать картинки —
динамически их создавать и размещать на них вырезанные кусочки основной картинки.
Отчёт отправил: 1947. Denis Выполнено за 20 мин. [Показать отчёт]
Научился: --  
Сложности: ничего 
Комментарии: Идем дальше! 
2 Игра 15 - Алгоритм 00:42:15
1 тест
145 чел. ★ 5 Done
  Завершаем создание игры Пятнашки.
На втором уроке мы напишем класс логики игры, в котором опишем матрицу для хранения чисел на кнопках и реализуем основные методы: start, shift, check_numbers и другие.

Отчёт отправил: 1947. Denis Выполнено за 50 мин. [Показать отчёт]
Научился: хитростям пятнашек 
Сложности: ничего 
Комментарии: Отличная игра! 
3 Игра 15 - Картинка 00:36:03
2 теста
103 чел. ★ 5 Done
  Переделываем игру Пятнашки в Пазл картинки.
Убираем кнопки, вместо них динамически размещаем матрицу PictureBox'ов,
в которые загружаем кусочки картинки, предварительно разрезав их
и сохранив все части картинки в матрицу Image.
Размер поля можно будет выбирать, от 3 на 3 до 6 на 6.
Отчёт отправил: 1947. Denis Выполнено за 50 мин. [Показать отчёт]
Научился: разбивать картинку на части 
Сложности: исправлять ошибки 
Комментарии: Очень интересный урок. ползем дальше! 
4 Аполлон. Главные герои 00:07:08
2 теста
55 чел. ★ 4.8 Done
  На этом уроке мы озвучим правила игры Аполлон.
Выясним, какие у нас будут главные герои.
Твоё самостоятельное задание -
нарисовать на бумаге внешний вид игры
со всеми главными героями.
Как ты это себе представляешь.
Отчёт отправил: 1947. Denis Выполнено за 10 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
Комментарии: уже выполнял эти уроки на курсе в день Космонавтики 
5 Аполлон. Законы физики 00:26:47
53 чел. ★ 5 Done
  Корабль Аполлон прилуняется на Луну.
На этом уроке мы рассмотрим упрощённую
физическую модель этого процесса и
выпишем все параметры и все формулы,
которые будут управлять этим процессом.
Отчёт отправил: 1947. Denis Выполнено за 30 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
Комментарии: Выполнил этот урок в рамках курса на день космонавтики 
6 Аполлон. Плавное прилунение 00:55:16
1 тест
50 чел. ★ 5 Done
  На этом уроке мы допишем игру Аполлон.
Свяжем класс логики с интерфейсом.
Сделаем управление двигателем с помощью мышки.
Добавим таймер, функцию отображения корабля.
А также сообщение о конце игры и перезапуск игры.
Отчёт отправил: 1947. Denis Выполнено за 30 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
Комментарии: Выполнил урок в рамках курса на день космонавтики. 
7 ПОЛУФИНАЛЬНЫЙ УРОК 00:23:23
70 чел. ★ 4.9 Done
  Задание.
Записать видеообзор любой программы из первой части этого курса.

Отчёт отправил: 1947. Denis Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: -- 
Сложности: -- 
Комментарии: Курс прохожу благодаря клубу улиток. Все остальное в видеообзоре. 
Видеообзор: o9L8jL_PNv8
8 2048 - Учимся играть 00:08:33
99 чел. ★ 4.8 Done
  Начинаем создание модной игры 2048.
Но сначала нужно научиться в неё играть.
Это можно сделать здесь: http://2048game.com/ru/
Отчёт отправил: 1947. Denis Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: играть в 2048 
Сложности: набрать 1024 очка, так и не набрал 
Комментарии: играть научился, идем дальше. 
9 2048 - Интерфейс 00:39:12
89 чел. ★ 5 Done
  На этом уроке мы создадим интерфейс программы.
Динамически создадим Label для цифр и разместим их в матрицу.
Раскрасим кнопочки и создадим обработчик курсорных клавиш.
Отчёт отправил: 1947. Denis Выполнено за 50 мин. [Показать отчёт]
Научился: динамически создавать label на tableLayoutPanel 
Сложности: -- 
Комментарии: Отлично, идем дальше 
10 2048 - Смещение 00:24:30
2 теста
83 чел. ★ 4.9 Done
  На этом уроке мы реализуем класс с логикой игры.
Далее, напишем заглушки для функций смещения клеток
и функцию проверки окончания игры game_over().
Отчёт отправил: 1947. Denis Выполнено за 2 час. 15 мин. [Показать отчёт]
Научился: использовать рекурсию 
Сложности: переписать логику игры 
Комментарии: Мне сразу не понравилось разделение передвижения плашек и их объединения. У меня изначально был другой алгоритм в голове, который я и реализовал. Если при движении влево по уроку мы шли справа налево, то я же шел слева направо. Мне так показалось логичнее. Полный алгоритм можно увидеть на скриншоте. Не претендую на оптимальность, но хотя бы не вызываются лишний раз функции перемещения (как мне кажется). Перерисовка tableLayoutPanel происходила очень долго (Изначально думал, что это у меня комп слабый). Оказалось, что это из-за свойства CellBorderStyle. Когда поставил его в положение None, игра просто полетела. Остаточное моргание формы частично решал еще в Сокобане. Перед вызовом функции логики убирал видимость tableLayoutPanel, а после всех передвижений, возвращал обратно. Осталось одно общее мигание всех лейблов на долю секунды, но оно решилось установкой свойства DoubleBuffered. Визуально больше ничего не моргает. В игру от себя добавил подсчет очков (по правилам с википедии). А также возможность возврата на 1 шаг назад (сохранение предыдущего состояния матрицы map, и перерисовка значений в лейблах по ней).  
11 2048 - Объединение 00:43:33
33 чел. ★ 5 $
  На этом уроке мы напишем функции смещения и объединения клеток.
Далее, пошагово выполним эти алгоритмы, чтобы понять принцип их работы.
12 FREE Крестики-Нолики. Игра на двоих 00:40:36
121 чел. ★ 4.9 Done
  Играл в крестики-нолики, мелом на асфальте?
Я играл, и очень много, был непревзойдённым профессионалом
в своём дворе, изучил все ходы-выходы в этой программе,
и замахнулся на создание искусственного интеллекта! :)
Игрушка не сложная, она отлично подходит для
упражнения в программировании для программиста.
Отчёт отправил: 1947. Denis Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Научил компьютер играть в крестики - нолики 
Сложности: Найти ошибку в конце =) В рандом_комп закоментил вызов функции Place и удивлялся, почему комп ходит в занятые клетки! 
Комментарии: Лучшая программа из всего курса Нано-игр! Побольше бы таких. Я сделал результат игры не строкой, а перечислением. Не люблю я такие вещи в строках хранить. 
13 Крестики-Нолики. Игра с компьютером 00:49:33
52 чел. ★ 4.9 Done
  На этом уроке мы добавим в игру Крестики-Нолики искуственный интеллект.
Мы напишем алгоритм, который будет искать наилучший ход для позиции.
Отчёт отправил: 1947. Denis Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: писать ИИ 
Сложности: обыграть компьютер 
Комментарии: все таки удалось обыграть комп =)  
14 ФИНАЛЬНЫЙ УРОК 00:23:23
54 чел. ★ 4.9 Done
  Задание:
Записать видео обзор любой игры, созданной на этом курсе.

Отчёт отправил: 1947. Denis Выполнено за 3 час. 00 мин. [Показать отчёт]
Научился: Писать микро игры 
Сложности: сделать обзор курса 
Комментарии: Надеюсь, обзор вам понравится. 
Видеообзор: 0wLG-5SLzLA
15 VIP урок. Формула 1 00:41:47
101 чел. ★ 4.9 Done
  Создаём динамический графический объект - машинку.
Ездит по экрану. Поворачивает. Восемь направлений.
Разгоняется и тормозит. Задний ход.

Отчёт отправил: 1947. Denis Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: управлять радиомашинкой 
Сложности: -- 
Комментарии: Добавил вывод на экран текущего положения, скорости, и состояния паузы. Пауза включается по нажатию на пробел (отключается таймер), и когда врезаешься в стену. После окончания игры машинка появляется в левом верхнем углу 
16 VIP урок. Стрелялка 01:33:59
63 чел. ★ 4.9 Done
  Сегодня мы напишем классический одноэкранный шутер.
Будет лететь самолётик и сбивать шарики.
На примере простых объектов демонстрация основ ООП.
Отчёт отправил: 1947. Denis Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: наследованию 
Сложности: ничего 
Комментарии: Как раз недавно также разбирался с наследованием. Ширину и высоту в базовом классе описал как        public int w { get; protected set; } public int h { get; protected set; } Наверно именно это Игромистр хотел реализовать, но не удалось. Также, при создании конструктора в наследнике, нужно вызывать базовый конструктор вот так: public Fire (int minx, int miny, int maxx, int maxy)       :base(minx, miny, maxx, maxy) Тогда не придется создавать конструктор с пустыми параметрами в базовом классе и дублировать код присваивания границ. Спасибо за урок, появились даже мысли скрестить это с арканоидом! Вроде где то уже такое видел.  
17 VIP урок. Змейка 01:08:56
11 чел. ★ 4.8 $
  Создаём популярную игру «Змейка».
На примере простых объектов демонстрация основ ООП.
  Итого:   17 видеоуроков 10 час. 38 мин.
9 тестов
9 чел. ★ 4.93  
  Финалисты:   Tekashnik,   Максим Лапшинов,   Иван Воронин,   Permitin Alexey,   Кирилл,   Артём Нагорный,   no name,   Дмитрий,   MaxB .

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





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

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

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

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


Написал игру Сапер ( точнее восстановил написанную год назад) программу. Программа была написана на спор. кто быстрей напишет я на С# или коллега на Java Сложным было в программе написать функцию которая при нажатии на свободное поле, открывала по цепочке все пустые поля. Пришлось рекурсивно это делать


Научился: Держаться перед аудиторией.
Трудности: Держать себя в руках, когда что-то идет не так.
Курс супер - жду продолжений.