Курсы для программистов

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта | Обход блокировки
Игровой комплекс Сокобан - Введи код скидки

Хранитель экрана

11 уроков по созданию полноценного хранителя экрана.
На первых пяти уроках мы создаём анимацию геометрических фигур,
На последующих уроках добавляем
редактирование параметров,
их сохранение в реестре,
полноэкранный режим работы хранителя экрана,
создание предобзора и
установка собственноручносозданной заставки
в качестве системного хранителя экрана.

Основные темы, рассматриваемые на этом курсе:
-Инкапсуляция.
-Работа с реестром.
-Рисование в C#.
-Простые алгоритмы движения объектов.

Объём: 14 уроков.

Хочу купить!

Купить в рассрочку за мегахеши

Цена: 1200 p.


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

# Название видеоурока Решило Рейтинг Доступ
1 Создаём графику 00:28:12 122 чел. ★ 4.9 Done
  Первый урок.
Анализ проекта, создание формы, инициализация графики, рисование окружностей.

Отчёт отправил: 9263. Андрей Н. Выполнено за 50 мин. [Показать отчёт]
Научился: В общем все просто и понятно, ничего пока нового. 
Сложности: --- 
Комментарии: Пункта рефакторинга кода в контекстном меню у меня нет, видимо это из-за более "свежей" версии VS2015. Как оказалось, вместо этого нужно использовать пункт QuickActions и он автоматически предлагает извлечь метод. 
2 Движение шарика 00:31:11 108 чел. ★ 4.9 Done
  Второй урок.
Добавление таймера, создание функции для изменения координат, реализация отскока шарика от краёв картинки, учёт размера кружка, стирание старого положения.

Отчёт отправил: 9263. Андрей Н. Выполнено за 50 мин. [Показать отчёт]
Научился: Подгонять ответ прибавлением и отниманием единицы. 
Сложности: --- 
Комментарии: --- 
3 Новый класс Graph 00:29:03 87 чел. ★ 4.9 Done
  Третий урок
Создание класса Graph и перенос в него всех действий с графикой.
Отчёт отправил: 9263. Андрей Н. Выполнено за 50 мин. [Показать отчёт]
Научился: Научился выносить сходный функционал в отдельный класс. 
Сложности: --- 
Комментарии: Автор выбрал не тот конструктор за основной. Если выбрать за основной конструктор наиболее полный из них, то избежать повторного запуска кода легко. На скриншоте можно увидеть мое решение, как видно код инициализации повторно не выполняется. Еще как вариант (еще проще) - использование параметров по умолчанию, но конкретно в моем исполнении этот вариант не подошел, т.к. у меня по умолчанию в качестве фона используется "естественный" цвет формы Windows, а такой цвет не является константой и компилятор на него ругается. 
4 Новый класс Figure 00:31:21 77 чел. ★ 4.9 Done
  Четвёртый урок
На этом уроке мы вынесем всю логику работы с координатами в отдельный класс Pixel и в конце добавим ещё одни шарик в наш "Хранитель экрана".

Отчёт отправил: 9263. Андрей Н. Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Более детально изучил создание новых классов 
Сложности: --- 
Комментарии: По поводу статических переменных внутри класса - ключевое слово this к ним не относится, но вместо него можно использовать имя класса, так в методе InitMinMax(Pixel min, Pixel max) можно написать: Figure.min = min; Figure.max = max; и все прекрасно работает  
5 Новый класс Polygone 00:30:58 69 чел. ★ 4.9 Done
  Пятый урок
На этом уроке мы закончим создание хранителя экрана.
Мы создадим класс Polygone для хранения многоугольника.
Также добавим в класс Graph метод для его рисования.
В результате получится забавный анимированный многоугольник + потенциал для дальнейшего развития программы.
Отчёт отправил: 9263. Андрей Н. Выполнено за 1 час. 30 мин. [Показать отчёт]
Научился: Более глубоко изучил работу с классами. Изучил работу со списками. Изучил передачу массива объектов в параметрах. 
Сложности: --- 
Комментарии: --- 
6 ПОЛУФИНАЛЬНЫЙ урок 00:23:23 45 чел. ★ 4.9 Done
  Задание:
Записать видео обзор созданного хранителя экрана.
Рассказать, понравился ли тебе курс, чему ты научился, что было самым сложным.

Отчёт отправил: 9263. Андрей Н. Выполнено за 1 час. 20 мин. [Показать отчёт]
Научился: Научился записывать видеообзор приложения. 
Сложности: Набраться храбрости записать видео. 
Комментарии: --- 
Видеообзор: https://youtu.be/VWauk1G4QdA
7 Форма настроек 00:23:24 38 чел. ★ 5 Done
  Шестой урок
На этом уроке мы создадим форму для выбора настроек нашего Хранителя экрана.
Можно будет выбрать цвет фона и цвет линий, а также количество вершин.
форма будет создана в новом классе Window Forms.
Отчёт отправил: 9263. Андрей Н. Выполнено за 40 мин. [Показать отчёт]
Научился: Создавать и открывать модальное окно. 
Сложности: --- 
Комментарии: --- 
8 Применение настроек 00:29:52 38 чел. ★ 5 Done
  Седьмой урок
На этом уроке мы добавим кнопку Сохранения настроек
и сделаем применение выбранных параметров.
Для этого нам нужно будет организовать
передачу данных между формами.
Для применения всех настроек придётся дорабатывать
классы Graph и Figure, писать алгоритм
для добавления/удаления вершин
и создания случайной фигуры.
Придётся дорабатывать
Отчёт отправил: 9263. Андрей Н. Выполнено за 40 мин. [Показать отчёт]
Научился: Передавать параметры из формы в форму 
Сложности: --- 
Комментарии: У компонента Button (кнопка) есть свойство DialogResult, изменив которое в конструкторе можно уже не писать код на присваивание. У компонента TrackBar (движок с засечками) правильнее использовать событие ValueChanged все-таки, а не Scroll, т.к. оно должно охватывать изменение любым способом, например стрелками с клавиатуры, про Scroll я так не уверен... 
9 Использование реестра 00:29:45 38 чел. ★ 5 Done
  Восьмой урок
На этом уроке мы будем сохранять параметры в реестре и считывать их оттуда.
Функции для работы с реестром вынесем в отдельный статический класс.
Сделаем считывание и сохранение всех трёх параметров:
цвет фона, цвет линий, количество вершин.
Отчёт отправил: 9263. Андрей Н. Выполнено за 20 мин. [Показать отчёт]
Научился: Научился работе с реестром Windows 
Сложности: --- 
Комментарии: Непонятно зачем автор хранит значения в виде строк, ведь это куча лишних шишек и конвертаций, есть ведь ключи реестра типа DWORD 
10 Параметры командной строки 00:22:41 36 чел. ★ 5 Done
  Девятый урок
На этом уроке мы узнаем,
как нужно управлять запуском стандартных хранителей экрана.
Какие параметры командной строки для этого используются.
Добавим анализ аргументов командной строки
в свою программу, в зависимости от которых
будем открывать либо настройки программы,
либо запускать хранитель экрана.
Отчёт отправил: 9263. Андрей Н. Выполнено за 30 мин. [Показать отчёт]
Научился: Научился работе с параметрами командной строки 
Сложности: --- 
Комментарии: --- 
11 Полноэкранный режим 00:13:58 36 чел. ★ 5 Done
  Десятый урок
На этом уроке мы переделаем нашу заставку чтобы она работала в полноэкранном режиме.
Для этого уберём заголовок, установим аттрибут "поверх всех окон".
Создадим ещё один конструктор, которому будем передавать размеры основного экрана.
Отчёт отправил: 9263. Андрей Н. Выполнено за 20 мин. [Показать отчёт]
Научился: Научился выводить свою форму на весь экран и поверх всех окон. 
Сложности: --- 
Комментарии: Редактирование кода создания PictureBox было излишне, конечно, достаточно просто отредактировать параметры формы и PB сам растянется на всю нее. 
12 Режим предобзора и установка 00:25:51 36 чел. ★ 5 Done
  Одиннадцатый урок, последний
На этом уроке мы закончим создание хранителя экрана.
Сделаем самую сложную часть - вывод предобзора в окно вызвавшей программы.

Отчёт отправил: 9263. Андрей Н. Выполнено за 40 мин. [Показать отчёт]
Научился: Научился с помощью вызовов функций WinAPI32 выводить свой скринсейвер в окне предпросмотра! 
Сложности: --- 
Комментарии: --- 
13 ФИНАЛЬНЫЙ урок 00:23:23 32 чел. ★ 4.9 Done
  Задание
Высказать свой отзыв об этом курсе
записав видеообзор полученной программы.

Отчёт отправил: 9263. Андрей Н. Выполнено за 20 мин. [Показать отчёт]
Научился: Записывать видеообзор приложения. 
Сложности: Записывать видеообзор приложения. 
Комментарии: --- 
Видеообзор: https://youtu.be/i-D89kHLBjc
14 VIP. Говорящие часы. Запись голоса 00:57:32 30 чел. ★ 5 $
  На уроке создаём программу для записи звуковых файлов,
которые будут использованы для создания говорящих часов.
15 VIP. Говорящие часы. Воспроизведение 00:38:41 28 чел. ★ 5 $
  На уроке пишем программу,
которая показывает и говорит текущее время
  Итого:   15 видеоуроков общей продолжительностью 7 час. 19 мин. 14 чел. ★ 4.96  
  Финалисты:   Олюшка,   Денис,   Дмитрий,   Андрей Поляков,   Артём,   Permitin Alexey,   Валерий Жданов,   Алексей В.,   Станислав,   Tekashnik,   Иван Воронин,   Neverwinter 2,   Новопашин Владимир,   Александр .

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




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

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

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

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


Научился: Записывать видео уроки
Трудности: Собрать все воедино
Здесь - все самое интересное, что касается моего хранителя экрана.


Научился: Еще раз записал видеообзор своей, теперь уже готовой, программы.
Замечаний нет.