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

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

Получить доступ

Теория ООП

Практический курс по теории Объектно-ориентированного программирования.
С нуля создаётся проект по рисованию различных геометрических фигур,
которые потом объединяются в спрайты, взаимодействуют друг с другом.

Во время создания проекта постоянно применяется рефакторинг кода,
при этом демонстрируются приёмы Объектно-ориентированного программирования.

Во второй части курса мы проработаем понятие Интерфейса.

Объём: 39 коротких видеоуроков
Время: 7 часов 40 минут.
Доступ на 30 дней.

3000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Инкапсуляция мечты 00:09:02 99 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Термину "Инкапсуляция" 
Сложности: Ничего сложного 
Комментарии: Инкапсуляция - это следование принципу "Пользуйся, но внутрь не лезь. Тебе одолжили вещь, Ты можешь ее использовать для своих нужд, но распоряжаться не имеешь права. Право пользования, но не право владения. А что там внутри - ЗАПРЕТ!" Ярким примером инкапсуляции является "черный ящик" самолета. Каждый пилот знает для каких целей он предназначен (а именно - узнать каким именно способом пилот угробил самолет), но влезть внутрь и покопаться НЕЛЬЗЯ! Инкапсуляция позволяет защитить от внешнего воздействия готовые автономные блоки программы определенного назначения. 
2 Урок рисования 00:08:10 95 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Основы графики 
Сложности: Ничего сложного 
Комментарии: Все замечательно 
3 Первый класс 00:09:53 88 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Выделять в отдельный класс автономный блок кода 
Сложности: Все понятно 
Комментарии: Все отлично 
4 Второй класс 00:09:13 84 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Повторил создание классов 
Сложности: Ничего сложного 
Комментарии: Все нормально 
5 Круглый класс 00:08:10 81 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 15 мин. [Показать отчёт]
Научился: Рисовать круг 
Сложности: Ничего сложного 
Комментарии: Все отлично 
6 Структура пикселя 00:10:55 70 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Создавать структуру по координатам. 
Сложности: Все понятно 
Комментарии: Все отлично 
7 Структура vs Класс 00:25:05 63 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Изучил разницу между структурой и классом. 
Сложности: Сложностей не возникло. 
Комментарии: Все замечательно. 
8 Пиксели для классов 00:14:44 60 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Работать со структурой Pixel, упрощать код. 
Сложности: Сложность только в том, что все в новинку. 
Комментарии: Все замечательно. 
9 Расстояние между пикселями 00:12:12 60 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Выделять полезные и частоиспользуемые функции в отдельную блоки 
Сложности: Все понятно. 
Комментарии: Все замечательно. 
10 Цветные карандаши 00:14:54 58 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 40 мин. [Показать отчёт]
Научился: Создавать новые "цветные" классы. 
Сложности: Сложностей не возникло. 
Комментарии: Все отлично. 
11 Рисуем Снеговика 00:14:40 57 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Создавать спрайты 
Сложности: Рисование. 
Комментарии: Все отлично 
12 Второй Снеговик 00:09:46 57 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Менять цвета спрайтов. 
Сложности: Все понятно. 
Комментарии: 1. Достаточно добавить delta1 для х и delta2 для y и прописать их в каждый пиксель. 2. Необходимо определить центральную точку, относительно которой будет происходить вращение снеговика. Подойдет точка C. Затем положение всех пикселей переопределить относительно этой точки. Затем в каждую из функций добавить угол смещения Альфа. В общем, все очень сложно и муторно. :-) 3. Снова определить центральную точку, например C, а все размеры переопределять относительно ее. Отказаться от абсолютных показателей и перепрописать их размер в зависимости от радиуса окружности С, а положение каждого спрайта выразить относительно точки С. Во все спрайты добавить коэффициент. И снова все очень сложно. В общем, пришло время объединять все спрайты в единый объект, с которым уже можно осуществлять любые операции сжатия, перемещения и т.п. 
13 Богатое наследство 00:12:53 56 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Знакомство с понятием "наследование", оптимизация кода путем очистки дублирующих строк. 
Сложности: Все понятно. 
Комментарии: Все отлично. 
14 Фигуральный базовый класс 00:10:56 55 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Знакомство с классом фигур Shape. 
Сложности: Не сложно, но все ново. 
Комментарии: Все отлично. Как реализовать функцию Draw - понятия не имею. 
15 Рисователь снеговиков 00:11:51 55 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Созданию спрайта, т.е. цельного объекта из отдельных фигур, с которым уже можно будет осуществлять непосредственные действия. Познакомился с GetType. 
Сложности: Не сложно, но ново. 
Комментарии: Все отлично. Shape position понадобится для осуществления операций со спрайтом - перемещение, разворот и т.п. 
16 Переезд метода Draw 00:11:54 55 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Пытаемся освободить базовый класс от лишнего кода, распихивая его по соответствующим классам. 
Сложности: Сложность только в новизне материала. 
Комментарии: Все отлично. 
17 Переезд graph в базовый класс 00:13:10 55 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Продолжаем оптимизировать программу, очищать основной код. 
Сложности: Проблем не возникло, просто все ново. 
Комментарии: Все отлично. 
18 Мощь полиморфизма 00:09:01 53 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Познакомился с понятиями полиморфизма и абстрактного класса. 
Сложности: Все понятно. 
Комментарии: Все отлично. 
19 Спрайт для Снеговика 00:12:28 53 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Создали новый класс Sprite со всем списком фигур. 
Сложности: Повторять - не сложно, но все ново. 
Комментарии: Все отлично. 
20 Перемещение круга 00:11:42 53 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Перемещать объекты. 
Сложности: Все понятно. 
Комментарии: Все замечательно. 
21 Перемещение других фигур 00:08:37 53 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Перемещать фигуры. 
Сложности: Сложностей не возникло. 
Комментарии: Все отлично. 
22 Перемещение Снеговиков 00:10:48 52 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Перемещать спрайты 
Сложности: Все понятно 
Комментарии: Все отлично. 
23 ПОЛУФИНАЛЬНЫЙ УРОК. 46 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 5 мин. [Показать отчёт]
Научился: Писать отзыв. 
Сложности: Ничего сложного. 
Комментарии: Курс очень интересен и надеюсь, что окажется очень полезен в практической деятельности. Инкапсуляция, наследование, полиморфизм - это нужно знать! Без Объектно-ориентированного программирования нынче никуда. :-) Большое спасибо Евгению Витольдовичу за подробное и доступное изложение материала. С уважением, Дмитрий Богомолов.  
24 Интерфейс. Зачем он нужен. 00:09:33 44 чел. ★ 4.9 Done
  Отчёт отправил: 4814. Дмитрий Решено за 15 мин. [Показать отчёт]
Научился: Познакомился с понятием "интерфейс".  
Сложности: Понять что за "голя" такая. Сначала думал, что это салки или ловы, но теперь-то ясно, что это какая-то более загадочная игра. Понятие "интерфейс" проще всего объяснить через анекдот: Приходит мужик устраиваться на работу: - Что Вы можете? - Могу копать! - А что еще? - Могу не копать! Интерфейс - это полный список того, что объект МОЖЕТ делать. Если захочет. 
Комментарии: Все отлично. 
25 Интерфейс. Правила игры. 00:12:23 43 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 15 мин. [Показать отчёт]
Научился: Создавать новые методы. 
Сложности: Все понятно, кроме сути и правил самой игры "Голя".  
Комментарии: Все отлично. 
26 Интерфейс. Алгоритм игры. 00:07:48 43 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 15 мин. [Показать отчёт]
Научился: Познакомился с новыми методами, прописали алгоритм игры. 
Сложности: Все понятно. Нужно дать игре старт!  
Комментарии: Все отлично. 
27 Интерфейс. Создаём кружок. 00:08:36 42 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 15 мин. [Показать отчёт]
Научился: Добавили новый класс Circle 
Сложности: Ничего сложного 
Комментарии: Все отлично. 
28 Интерфейс. Площадка для игры. 00:11:58 41 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Создали новый класс, чтобы реализовать поле для игры. 
Сложности: Все понятно. 
Комментарии: Все отлично. 
29 Интерфейс. Кружок на площадке. 00:11:49 41 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Добавили 3 новых метода: Show, Refresh, Circle. 
Сложности: Все понятно. 
Комментарии: Все великолепно. 
30 Интерфейс. Запускаем кружки на площадку! 00:11:49 40 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Настроили форму и выпустили множество кружков на волю. 
Сложности: Сложностей не возникло. 
Комментарии: Все отлично. 
31 Интерфейс. Кружок хочет играть. 00:09:42 40 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Продолжаем работать с интерфейсом, осуществляем реализацию его методов. 
Сложности: Все понятно. 
Комментарии: Думаю, что метод "Беги" заключается в том, чтобы стремиться подальше от Голи. Метод "Поймал" возникает при наложении фигур Голи и Жертвы. 
32 Интерфейс. Кружок готов к игре! 00:20:47 39 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 40 мин. [Показать отчёт]
Научился: Реализовали новые методы Беги и Поймал, добавили новые функции Cross и Distance 
Сложности: Вся сложность только в новизне. 
Комментарии: Все отлично. Теперь нужно заставить шарики удирать. Шарики убегают от Голи, Голя должен стремиться к ближайшему шарику. 
33 Интерфейс. Кружочки гоняются друг за другом. 00:11:53 39 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Добавили таймер и игроков, запустили игру. 
Сложности: Все понятно. 
Комментарии: Все отлично. Нужно предусмотреть, чтобы новым Голей не мог стать тот, кто только что передал эстафету. 
34 Интерфейс. Изменяем правила игры. 00:10:22 38 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Продолжаем улучшать игру и внедрять правила. 
Сложности: Все понятно. 
Комментарии: Все отлично. 
35 Интерфейс. Создаём новую игру. 00:12:31 37 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 30 мин. [Показать отчёт]
Научился: Начинаем создавать новую игру на основе того же интерфейса. 
Сложности: Все понятно. 
Комментарии: Игра продолжается до тех пор, пока не остается последний незараженный ЭТИМ вирусом. Он одновременно и победитель, и будущий носитель нового вируса. Он становится первым Голей и начинает заражать всех остальных. Наверно, должен вестись счетчик здоровых кружочков до тех пор, пока не останется только 1. В этот момент все Голи становятся не-Голями, а последний не-Голя - Голей.  
36 Интерфейс. ФИНАЛЬНЫЙ УРОК. 00:13:05 33 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Создали новую игру на старом интерфейсе. 
Сложности: Сложностей не возникло, но все новое. 
Комментарии: Курс ООП очень понравился, познакомился с новыми понятиями "Инкапсуляция", "Наследование", "Полиморфизм". Научился создавать спрайты, а также создавать множество игр на одном интерфейсе. Планирую активно использовать полученные навыки на практике, в частности, при создании своей игры. 
37 Интерфейс. VIP. Квадратики тоже хотят играть. 00:16:23 34 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 25 мин. [Показать отчёт]
Научился: Создали игру с тем же интерфейсом, но уже под другие фигуры. 
Сложности: Все понятно. 
Комментарии: Все отлично. 
38 Интерфейс. VIP. Пересечение прямоугольников. 00:09:47 32 чел. ★ 5 Done
  Отчёт отправил: 4814. Дмитрий Решено за 20 мин. [Показать отчёт]
Научился: Создали игры с квадратиками, а также выпустили одновременно на арену разные фигуры. 
Сложности: Повторять не сложно, но все новое. 
Комментарии: Все отлично. 
39 Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. 00:22:25 26 чел. ★ 5 Open
  Итого:   39 видеоуроков общей продолжительностью 7 час. 40 мин. 26 чел. ★ 4.95  
  Финалисты:   lomik,   Роман,   Максим Базуев,   Neverwinter 2,   Владимир,   Никита,   Оля,   Валера Луцевич,   Anton Sozykin,   Permitin Alexey,   Артём,   Максим Лапшинов,   Frank,   Archi,   Александр Львович,   Ильшат,   Олег Михайлович,   Дмитрий,   Новопашин Владимир,   Евгений,   Сергей Соколов,   Александр Б.,   Максим Саратов,   Алексей В.,   Александр,   Rita .

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




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

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

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

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