Обучение языку c#

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

Игры со Спрайтами

Создание программы для рисования спрайтов.
Использование спрайтов для двух игр -
+ Аполлон - полёт на Луну
+ Домино - пасьянс из плашек домино.

Объём: 33 урока.
Создаём: Конструктор спрайтов + 2 игры
Срок: 30 дней

5,000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Спрайт. Первая форма 00:13:27 82 чел. ★ 4.8 Done
  Отчёт отправил: 1803. Саша Решено за 15 мин. [Показать отчёт]
Научился: повторил снеговиков 
Сложности: ждать тех участников, кто не подключился))) 
Комментарии: пока все понятно 
2 Спрайт. Структура для линии 00:11:07 75 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 20 мин. [Показать отчёт]
Научился: повторил как работать со структурами 
Сложности: ничего 
Комментарии: в следующий раз буду делать скрины прямо во время вебинара, чтобы потом не переделывать сначала всю программу. 
3 Спрайт. Класс для графики 00:09:32 68 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 15 мин. [Показать отчёт]
Научился: оптимизации кода 
Сложности: ничего 
Комментарии: нет вопросов 
4 Спрайт. Класс для Спрайта 00:14:10 48 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 10 мин. [Показать отчёт]
Научился: повторил как работать со списками.  
Сложности: вообще говоря, самым сложным является проектирование программы а не реализация. здесь уже все за нас спроектировано, поэтому и не сложно и уже не так интересно.. 
Комментарии: хотелось бы самостоятельное задание на проектирование программы. возможно на основе шаблонов.  
5 Спрайт. Рисуем линии мышкой 00:22:31 46 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 20 мин. [Показать отчёт]
Научился: повторил события мышки 
Сложности: ничего 
Комментарии: пока все понятно 
6 Спрайт. Панель инструментов 00:19:00 46 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 15 мин. [Показать отчёт]
Научился: в основном созданию интерфейса программы 
Сложности: ничего 
Комментарии: все пока понятно 
7 Спрайт. Сериализация объекта 00:18:23 44 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 20 мин. [Показать отчёт]
Научился: этот урок был наиболее интересным: я узнал как сохранять и загружать файлы в формате .xml. Это очень удобно. 
Сложности: найти ошибку в функции Load. ошибка заключалась в том, что вместо StreamReader я написал StringReader (в принципе в видеоуроке мы это разобрали, но я внимания не обратил) 
Комментарии: все отлично! 
8 Аполлон. Главные герои 00:07:08 53 чел. ★ 4.7 Done
  Отчёт отправил: 1803. Саша Решено за 15 мин. [Показать отчёт]
Научился: делать наброски интерфейса 
Сложности: найти чем бы сфотографировать 
Комментарии: Прощу прощения за плохое качество изображения. 
9 Аполлон. Законы физики 00:26:47 59 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 25 мин. [Показать отчёт]
Научился: создавать физическую модель игры 
Сложности: пока ничего 
Комментарии: пока все понятно 
10 Аполлон. Плавное прилунение 00:55:16 53 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 1 час. 05 мин. [Показать отчёт]
Научился: разрабатывать логику игры, рассчитывать координаты элементов winForms, ну и конечно "прилунять" корабль 
Сложности: вот именно само прилунение корабля 
Комментарии: Несмотря на простую физику игры, все равно возникают сложности. Например - в какой момент вызвать нужный метод или через какое время начинать тормозить корабль. 
11 Спрайт. Рисуем Аполлона 00:14:10 41 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 1 час. 15 мин. [Показать отчёт]
Научился: работать с событиями мышки. рисовать в созданном с нуля редакторе. 
Сложности: 1. Нарисовать Землю. 2. Еще до просмотра урока долго не мог понять, почему фоновый рисунок не отображается. Оказывается прозрачность надо было указать в классе Graph. 
Комментарии: все супер! 
12 Аполлон. Graph и Sprite на Луне 00:19:58 38 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 1 час. 15 мин. [Показать отчёт]
Научился: Загружать ранее созданные xml-файлы, вызывать необходимые методы. 
Сложности: Полчаса потратил на отображение Луны. Как выяснилось, забыл в классе Graph поменять номер цвета с черного на желтый, поэтому на черном фоне Луну было не видно. Также были проблемы с позиционированием загружаемых объектов. но это на следующем уроке будет разбираться. 
Комментарии: Пока все понятно, но ошибки возникают на ровном месте. 
13 Аполлон. Финальное прилунение 00:29:58 38 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 1 час. 10 мин. [Показать отчёт]
Научился: рассчитывать координаты объектов, редактировать созданные методы. 
Сложности: подогнать координаты. 
Комментарии: Создал новый метод Draw, принимающий параметр Color color, чтобы менять цвет объектов в программе.  
14 Полуфинальный урок 00:23:23 26 чел. ★ 4.8 $
15 Домино. Правила игры 00:20:55 42 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 30 мин. [Показать отчёт]
Научился: Повторил как работать со структурами и перечислениями, ознакомился с формализацией логики игры. 
Сложности: Найти домино и сфотографировать. 
Комментарии: Так и не понял, что не так в моем фото. Своего домино у меня нет, это бабушкино. Понятно что вид потертый, но тоже ж домино.  
16 Домино. Перемешиваем плашки 00:22:49 39 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 35 мин. [Показать отчёт]
Научился: Учусь проектировать логику игры. Узнал про алгоритм игры домино. 
Сложности: Когда все разобрали, все кажется простым. Самому бы пришлось повозиться.  
Комментарии: Это наиболее сложный этап игры. Саму программу написал еще во время вебинара, но тогда мало что понял. Сейчас уже все понятно. 
17 Домино. Динамическая пирамида 00:21:39 39 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 45 мин. [Показать отчёт]
Научился: Создавать контролы программно, с помощью координат и циклов.  
Сложности: Понять расположение label-ов.  
Комментарии: На данном этапе все понятно. 
18 Домино. Делегаты отображения 00:20:38 37 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 35 мин. [Показать отчёт]
Научился: Повторил делегаты, узнал, что переменным типа "делегат" можно присваивать несколько функций с одинаковыми параметрами. 
Сложности: На вебинаре сразу не понял dp += ShowPlateConsole. Потом проанализировал и понял.  
Комментарии: Все супер. 
19 Домино. Выбираем и убираем 00:27:16 37 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 45 мин. [Показать отчёт]
Научился: Создавать методы отображения, добавления/удаления отметки плашек домино, изучил подробнее логику игры. 
Сложности: Ничего 
Комментарии: добавил условие на удаление отметки: если сумма цифр не равна указанной сумме, то помечаем плашки как open. 
20 Домино. Ура! Победа! 00:19:12 37 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 40 мин. [Показать отчёт]
Научился: Играть в домино))) на самом деле изучил на примере домино как создаются одни из самых важных функций в любой игре - Победа и Проигрыш.  
Сложности: Выиграть.  
Комментарии: Тестировал работу двух функций на совсем простом домино - с макс. числом 8, 6 и 3. Это чтоб побыстрее сдать отчет. А так еще хочу попробовать поиграть на больших массивах (вроде как присылал в первом отчете). 
21 Спрайт. Рисуем плашки 00:25:50 33 чел. ★ 4.9 Done
  Отчёт отправил: 1803. Саша Решено за 25 мин. [Показать отчёт]
Научился: Особенно ничему. Продолжаем рисовать в редакторе спрайтов. 
Сложности: Рисовать точки прямыми линиями. 
Комментарии: Интересная идея - рисовать по контуру изображения. В детстве я часто из книжек переводил иллюстрации на прозрачную бумагу, а потом через копировальную - на обычную бумагу. Получались забавные подделки иллюстраций.  
22 Домино. Отображение плашки 00:26:38 33 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 50 мин. [Показать отчёт]
Научился: Научился работать с массивами байтов, конвертировать string в byte[], применять десериализацию. 
Сложности: Сначала стал сам выполнять, создал перечисление картинок Picture, функцию PictureToString. Потом не понял, в каком формате должны быть картинки (выяснилось позже, что в byte[]) зашел в тупик и посмотрел видеоурок.  
Комментарии: Все супер! 
23 Домино. Двойной спрайт 00:29:27 32 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 1 час. 25 мин. [Показать отчёт]
Научился: Работать со спрайтами (продолжаю учиться) 
Сложности: Изменить существующие методы с учетом использования спрайтов.  
Комментарии: Решил вывести спрайты вместо цифр на лэйблах. Создал методы ShowPicture (делегат), CreatePicture, InitPictures. Как видно на скриншоте, спрайты выводятся, но игра пока не работает. Буду переделывать метод ShowPlate. 
24 Домино. Анимация спрайта 00:17:36 32 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 10 мин. [Показать отчёт]
Научился: Основам анимации. 
Сложности: Рассчитать координаты, чтобы плашки не уехали. 
Комментарии: Все супер! 
25 Домино. Подъём переворотом 00:28:16 32 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 25 мин. [Показать отчёт]
Научился: Продолжаю изучать анимацию. 
Сложности: Не сложно, а долго - опять же подогнать координаты. Для этого надо правильно рассчитывать масштаб. 
Комментарии: Пока что плашка растягивается больше чем нужно, но я этот вопрос решу. 
26 Домино. Базовый класс Анимаций 00:21:37 32 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 1 час. 10 мин. [Показать отчёт]
Научился: Продолжаю изучать оптимизацию кода.  
Сложности: Намучился с пропорциями плашек! Надо было спрайты создавать указанного размера. 
Комментарии: Если бы не размеры и пропорции плашек, то все ОК.  
27 Домино. Три наследника Аниматора 00:30:26 32 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 30 мин. [Показать отчёт]
Научился: Создавать классы-наследники с отличающимися друг от друга функциями.  
Сложности: Ничего, все сложное уже сделали. 
Комментарии: Все супер. 
28 Домино. Пирамида из анимашек 00:15:05 32 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 20 мин. [Показать отчёт]
Научился: Узнал, как создавать матрицу спрайтов. 
Сложности: Ничего 
Комментарии: На самом деле я уже предпринимал попытку отображать матрицу плашек, но вместо спрайтов я использовал картинки и запутался с позиционированием. 
29 Домино. Rolling Stones 00:19:29 31 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 25 мин. [Показать отчёт]
Научился: Модифицировать метод RollDomino. 
Сложности: Ничего 
Комментарии: Сделал рандомное появление плашек домино - отдельно слева и справа. 
30 Домино. Наведение порядка 00:20:25 31 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 15 мин. [Показать отчёт]
Научился: Открывать плашки домино. 
Сложности: Ничего 
Комментарии: На данном этапе все понятно. 
31 Домино. Финальный аккорд 00:22:58 30 чел. ★ 5 Done
  Отчёт отправил: 1803. Саша Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Отлаживать программу! На завершительном этапе нашел ошибку, из-за которой плашки при нажатии глючили.  
Сложности: Проверять заново программу. 
Комментарии: Ну что я могу сказать - Ура, победа! (правда для плашек с суммой 6, для ускорения сдачи задания). Запланировал: исследовать и улучшить анимацию появления, поворота и исчезновения плашек. 
32 ФИНАЛЬНЫЙ урок 00:23:23 23 чел. ★ 5 $
33 VIP урок. Телефон по TCP/IP протоколу 00:47:44 18 чел. ★ 5 $
  Итого:   33 видеоурока общей продолжительностью 12 час. 26 мин. 18 чел. ★ 4.95  
  Финалисты:   Оля,   Руслан,   Екатерина,   Иван,   Андрей Поляков,   Дмитрий,   Елена,   Ильшат,   Фомичева Наталья,   Илья,   Владимир,   Никита,   Сергей Сергеевич,   Артём,   Мариша ,   Михаил Ермишин,   Максим Лапшинов,   Максим .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: видео записывать и разговаривать
Трудности: разговаривать
все хорошо получилось я довольный и мотивированный остался
Смотреть видеозапись: https://youtu.be/sNfZu7oi4nM
Научился: Записывать видеобзор программы.
Трудности: Записать видео.
Записать с 1 раза не получилось , получилось только с 3. Надеюсь нормально получилось.Микрофон у меня не очень. http://www.youtube.com/watch?v=Mmimvfst3YM