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

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

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

Теория ООП

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

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

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

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

3000 руб.


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

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

# Название видеоурока Решило Рейтинг Доступ
1 Инкапсуляция мечты 00:09:02 100 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 10 мин. [Показать отчёт]
Научился: Инкапсуляция - скрыть от пользователя то, что ему не надо(объекты, реализация), а предоставить только функционал. 
Сложности: пока ничего 
Комментарии: все хорошо 
2 Урок рисования 00:08:10 96 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 15 мин. [Показать отчёт]
Научился: Рисовать 
Сложности: пока ничего 
Комментарии: хочу продолжения 
3 Первый класс 00:09:53 89 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 1 час. 00 мин. [Показать отчёт]
Научился: в начале непонятно было, потом уже стало норм 
Сложности: ничего 
Комментарии: жду следующего урока 
4 Второй класс 00:09:13 85 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: он аналогичен предыдущему 
Сложности: ничего 
Комментарии: хороший урок 
5 Круглый класс 00:08:10 82 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: похожий урок 
Сложности: ничего 
Комментарии: наверное,стоило бы x и y сделать private, чтобы потом не запутаться в дальнейшем при вызове 
6 Структура пикселя 00:10:55 71 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: аналогу Pointa 
Сложности: ничего 
Комментарии: все отлично 
7 Структура vs Класс 00:25:05 64 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 1 час. 00 мин. [Показать отчёт]
Научился: Узнал кое-что новое именно о структурах 
Сложности: разобраться 
Комментарии: все отлично 
8 Пиксели для классов 00:14:44 61 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: расщиплять код 
Сложности: ничего 
Комментарии: все отлично 
9 Расстояние между пикселями 00:12:12 60 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 40 мин. [Показать отчёт]
Научился: Изменять конструктор, добавлять новые удобства 
Сложности: ничего 
Комментарии: все отлично 
10 Цветные карандаши 00:14:54 58 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 1 час. 00 мин. [Показать отчёт]
Научился: понять 
Сложности: находить ошибки 
Комментарии: А почему не была использована перегрузка конструктора с добавлением цвета + цвет по умолчанию, находящийся в статическом классе как константа? Так ведь было бы меньше классов и читаемость повысилась бы. Пример: http://pastebin.com/vgvkSZNb 
11 Рисуем Снеговика 00:14:40 57 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: повторение 
Сложности: ничего 
Комментарии: жду продолжения 
12 Второй Снеговик 00:09:46 57 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: повторил 
Сложности: повторил 
Комментарии: 1. событие на нажатие клавиши, чтоб старый затирался, новый нарисовывался с координатой + delta 2. аналогично первому пункту. Но тут наверное нужно все объекты привязать к какой-то точке, чтобы относительно него меняли свой размер. 3. не знаю. 
13 Богатое наследство 00:12:53 56 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: написать 
Сложности: написать 
Комментарии: наследование - дальнейшее использование всего(при использовании определенных модификаторов доступа) набора функций элементов у родительского объекта для дочернего. 
14 Фигуральный базовый класс 00:10:56 55 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: умещать разные типы в один массив с использованием наследования 
Сложности: норм 
Комментарии: наверное, определить тип, а потом рисовать каждую фигуру. 
15 Рисователь снеговиков 00:11:51 55 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: узнал о typeof 
Сложности: ничего 
Комментарии: position для вращения 
16 Переезд метода Draw 00:11:54 55 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: перемещать метод 
Сложности: ничего 
Комментарии: все отлично 
17 Переезд graph в базовый класс 00:13:10 55 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: инкапсулировать методы Draw для фигур 
Сложности: ничего 
Комментарии: все отлично 
18 Мощь полиморфизма 00:09:01 53 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: познакомился на примере с абстрактным классом 
Сложности: понять 
Комментарии: все отлично 
19 Спрайт для Снеговика 00:12:28 53 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: работать с коллекцией 
Сложности: ничего 
Комментарии: все отлично 
20 Перемещение круга 00:11:42 53 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: перерисоыывать объект 
Сложности: понять 
Комментарии: все отлично 
21 Перемещение других фигур 00:08:37 53 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: отсчитывать точки для разных фигур 
Сложности: понять 
Комментарии: все отлично 
22 Перемещение Снеговиков 00:10:48 52 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: повторил полиморфизм 
Сложности: ничего 
Комментарии: все отлично 
23 ПОЛУФИНАЛЬНЫЙ УРОК. 46 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: Хороший курс, половина пути пройдена. Есть много моментов которые стали понятны, где теория ооп применяется на практике. 
Сложности: ничего 
Комментарии: Тимур Исмагилов 
24 Интерфейс. Зачем он нужен. 00:09:33 44 чел. ★ 4.9 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: Интерфейс - класс без реализации, но имеет описание то, что должен уметь делать класс реализующий его. 
Сложности: переключать на русскую раскладку 
Комментарии: все отлично 
25 Интерфейс. Правила игры. 00:12:23 43 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: foreach(IGamer lead in gamer) foreach(IGamer isCatch in gamer) if(lead.IsCatch(isCatch)) {isCatch.SetLeader; break;}  
Сложности: предположить реализацию 
Комментарии: все отлично 
26 Интерфейс. Алгоритм игры. 00:07:48 43 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: Реализовать класс, который реализует интерфейс "Игрок" 
Сложности: ничего 
Комментарии: все отлично 
27 Интерфейс. Создаём кружок. 00:08:36 42 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: ничему 
Сложности: ничего 
Комментарии: Наверное, нужно реализовать интерфейс игрок для того, чтобы круг мог участвовать в игре, т е научить его играть 
28 Интерфейс. Площадка для игры. 00:11:58 41 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: класс Арена необходим для инициализации картинки, на которой будут отображаться фигуры 
Сложности: разобраться 
Комментарии: Только не понял для чего вызвали метод Clear() в конструкторе? 
29 Интерфейс. Кружок на площадке. 00:11:49 41 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: другому подходу рисованию 
Сложности: ничего 
Комментарии: В коде ошибка. Таким образом нужно выводить окружность graphics.DrawEllipse(pen, circle.center.X-circle.radius, circle.center.Y-circle.radius, circle.radius*2, circle.radius * 2);//ширина и высота круга А не graphics.DrawEllipse(pen, circle.center.X-circle.radius, circle.center.Y-circle.radius, circle.center.X+circle.radius, circle.center.Y+circle.radius); 
30 Интерфейс. Запускаем кружки на площадку! 00:11:49 41 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: сделал еще на прошлом уроке 
Сложности: ничего 
Комментарии: все отлично 
31 Интерфейс. Кружок хочет играть. 00:09:42 41 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: для беги, наверное нужно, старый круг затереть фоновым цветом, новый нарисовать со смещением центра и дальнейшим его присваиванием center= new Point(center.x+sx, center.y+sy); 
Сложности: все отлично 
Комментарии: все отлично 
32 Интерфейс. Кружок готов к игре! 00:20:47 40 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 1 час. 00 мин. [Показать отчёт]
Научился: как можно реализовать соприкосновение двух окружностей 
Сложности: ничего 
Комментарии: все отлично 
33 Интерфейс. Кружочки гоняются друг за другом. 00:11:53 40 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 1 час. 00 мин. [Показать отчёт]
Научился: все понять. 
Сложности: --- 
Комментарии: Очень гибко получилось, осталось во всем разобраться и модифицировать игру 
34 Интерфейс. Изменяем правила игры. 00:10:22 39 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: даже не додумался до считывания шагов) 
Сложности: супер 
Комментарии: ну можно убивать шарик, но это уже нужно изменять интерфейс и добавлять метод 
35 Интерфейс. Создаём новую игру. 00:12:31 37 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: в FindNewVirus каждого из списка virused поймал ли он игрока из списка gamers, но перед этим вирусного игрока не дать проверять себя !virused.Contains(g) 
Сложности: привыкать нужно 
Комментарии: буду дальше учиться 
36 Интерфейс. ФИНАЛЬНЫЙ УРОК. 00:13:05 34 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 1 час. 00 мин. [Показать отчёт]
Научился: простоте модификации 
Сложности: понять 
Комментарии: Очень здорово! Я в восторге! 
37 Интерфейс. VIP. Квадратики тоже хотят играть. 00:16:23 35 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 50 мин. [Показать отчёт]
Научился: что-то не получилось этим методом разобраться =(( 
Сложности: метод Поймал 
Комментарии: интересно, где там ошибка 
38 Интерфейс. VIP. Пересечение прямоугольников. 00:09:47 33 чел. ★ 5 Done
  Отчёт отправил: 3223. Тимур Решено за 30 мин. [Показать отчёт]
Научился: модифицировать программу, используя разные типы 
Сложности: понять все это 
Комментарии: все отлично 
39 Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. 00:22:25 27 чел. ★ 5 Open
  Итого:   39 видеоуроков общей продолжительностью 7 час. 40 мин. 27 чел. ★ 4.95  
  Финалисты:   lomik,   Роман,   Максим Базуев,   Neverwinter 2,   Владимир,   Никита,   Оля,   Валера Луцевич,   Anton Sozykin,   Permitin Alexey,   Артём,   Максим Лапшинов,   Frank,   Archi,   Александр Львович,   Ильшат,   Олег Михайлович,   Дмитрий,   Новопашин Владимир,   Евгений,   Сергей Соколов,   Александр Б.,   Максим Саратов,   Алексей В.,   Александр,   Rita,   Станислав .

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: согласно плана урока: 1. Реaлизoвaть метод SetNewVirus(Игрок). 2. Реaлизoвaть метод FindNewVirus(). 3. Запycтить нoвую игру, сменив в FormGame - GameCatch нa GameVirus. 4. Попpoбoвать обездвижить зарaжённыъ игрoкoв. 5. Напиcaть в кoмментариях отзыв oб этой ceрии уроков.
Трудности: Ничего
Все понятно
Научился: Из этой серии уроков узнал основные аспекты ООП в C#, осознаю что не всё осознал и понял на все 100% поэтому планирую пересмотреть уроки еще разок :) Уроки коротенькие но это не лишило их объемности информации. Хочу сказать что сама информация ( содержание уроков ) довольно эксклюзивное и мне нравится как преподносится информация. Можно сравнить с сериалами когда в конце каждой серии упоминается о том что ждет впереди и это увеличивает интерес.
Трудности: Не могу сказать что что-то было сложным т.к почти большая часть уроков проходилась на повторении.
без комм.