Изучение c# на примерах

Формула программиста
основатель — Волосатов Евгений Витольдович

Игра Тетрис

Цель игры - набрать как можно больше очков.
Очки начисляются при заполнении
Полностью горизонтальной линии фигурами.
Тогда эта линия уберется и зачисляться очки.

Это 20 уроков по написанию игры Тетрис,
Мы пройдемся по всем этапам разработки.
Посмотрим что нам будет необходимо,
Чтобы легко, удобно и быстро управлять игрой.
Напишем несколько универсальных методов,
Которые помогут в работе с массивами.

Что ты получишь, пройдя курс:
+ Собственную игру Тетрис
+ Знания, для перемещения блоками элементов
+ Навык разработки динамических игр

Различные вариации игры
1. Классический
2. На прохождение
3. Классический вдвоем кооператив
4. Классический вдвоем каждый сам за себя
5. Вдвоем друг против друга

Объём: 17 видеоуроков
Время: 6 часов 28 минут.
Доступ на 30 дней.

4,000 руб.


Для подписки на пакет необходимо авторизоваться.

Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 Подготовка формы 00:10:54 24 чел. ★ 4.8 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 22 мин. [Показать отчёт]
Научился: Научился терпеливо повторять все действия учителя 
Сложности: Оторваться от игры в Тетрис 
Комментарии: Начало курса положено! 
2 Игровая доска 00:22:02 20 чел. ★ 4.8 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 33 мин. [Показать отчёт]
Научился: Качественно перепечатывать код из видеоурока в свой проект. 
Сложности: Понять почему координаты рассчитываем picture.Location = new Point(x*(box_size-1), y*(box_size-1));, а не picture.Location = new Point(x*(box_size)-1, y*(box_size)-1); Пока так и не понял. 
Комментарии: Попробовал вычислять размер бокса как: int box_size = panel.Size.Width/size_x; Пока деление происходит без остатка - работает. 
3 Логика игры 00:17:08 17 чел. ★ 4.9 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 31 мин. [Показать отчёт]
Научился: Закрепил полученные ранее знания. 
Сложности: Все было разжевано и понято. 
Комментарии: Хорошие уроки! 
4 Класс Фигур 00:17:22 11 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 32 мин. [Показать отчёт]
Научился: Научился создавать фигуры для Тетриса. 
Сложности: Самостоятельно создать оставшиеся фигуры. 
Комментарии: Больше курсов хороших и разных! 
5 Движение фигур 00:22:20 11 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 45 мин. [Показать отчёт]
Научился: Научился двигать фигуры. 
Сложности: Реализовать самостоятельно движение фигур влево-вправо. 
Комментарии: Новая фигура появляется в том случае, если у предыдущей фигуры больше нет возможностей для движения. 
6 Разноцветные фигуры 00:21:38 11 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 45 мин. [Показать отчёт]
Научился: Мы все учились понемногу чему-нибудь и как-нибудь. 
Сложности: Самым сложным было сесть за урок. При этом, уроки мне нравятся, но прокрастинация не дает заниматься регулярно. 
Комментарии: Прорвемся. 
7 Поворачиваем фигуры 00:16:14 11 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 45 мин. [Показать отчёт]
Научился: Продолжил написание замечательной программы. 
Сложности: Было очень увлекательно. 
Комментарии: Люблю домашние задания. В этот раз самостоятельно делали повороты некоторых фигур. 
8 Управление 00:29:18 10 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 55 мин. [Показать отчёт]
Научился: Проверил, что самостоятельная работа за прошлый урок была сделана правильно.:) 
Сложности: Сложностей не возникло. 
Комментарии: Как сделать, чтобы на Паузе нельзя было управлять? Возможно, следует при постановке на паузу присваивать figure.nr=0, а после включения игры восстанавливать это значение предусмотрительно сохраненное во временной переменной. Но, данный способ не проверял. 
9 Мини-панель 00:22:10 10 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 39 мин. [Показать отчёт]
Научился: Закрепил то, что изучали когда писали класс board. Интересно было посмотреть как автор решил проблему с отображением на малой панели следующей фигуры. 
Сложности: Удержать в голове логику происходящего. 
Комментарии: В этом классе нет массивов map и map_back потому что у нас нет необходимости сохранять предыдущие фигуры, которые уже "опустились на дно". 
10 Удаляем строки 00:32:37 9 чел. ★ 5 Done
  Отчёт отправил: 4591. Aleksandr Zaitcev Решено за 55 мин. [Показать отчёт]
Научился: Впитывал чужой опыт. 
Сложности: Разобраться с методами TrimArray и AddRow. 
Комментарии: Возможно, следует вообще не использовать метод DelLines, а вместо него использовать что-то типа: if (fire) {TrimArray(map_back, y); AddRow(map_back); RefreshBoard(); } 
11 Проигрыш 00:14:54 8 чел. ★ 4.9 Open
12 Перезапуск игры 00:24:36 8 чел. ★ 5 $
13 Главное меню 00:24:00 8 чел. ★ 5 $
14 Уровень 1 00:34:28 8 чел. ★ 5 $
15 Игра вдвоем кооператив 00:20:16 8 чел. ★ 5 $
16 Игра вдвоем каждый сам за себя 00:28:37 8 чел. ★ 5 $
17 Баттл начинается! 00:29:46 5 чел. ★ 5 $
18 ФИНАЛЬНЫЙ УРОК 4 чел. ★ 5 $
19 VIP урок. Angry Birds или проблемы красивых игр 00:20:07 4 чел. ★ 5 $
  Итого:   19 видеоуроков общей продолжительностью 6 час. 48 мин. 4 чел. ★ 4.97  
  Финалисты:   Аркадий,   Сергей Соколов,   Николай,   Алексей|BrisK|Кривицкий .

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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: записывать видео с первого раза ))) а вообще стал более быстро понимать как работать с классами и полями, их методами доступа, при реализации своих доработок немного пришлось изменить код чтобы получать доступ к полям в других классах.
Трудности: устранить все ошибки в программе))
Всё очень понравилось. Хотелось бы сесть и самому все повторить, но думаю так быстро не получиться, хотя если такое проделать то это будет +200% к опыту.
Смотреть видеозапись: https://youtu.be/TqycJxY4cos
Научился: Спасибо за отличный видео курс. На этом курсе я повторил теорию ООП. Научился работать с массивами. Научился обрабатывать нажатия клавиш и многому другому.
Трудности: в принципе ничего сложного не вспомню.
Еще больше таких отличных курсов =)
Смотреть видеозапись: https://youtu.be/SxKRYpR0OL0