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

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!

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

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

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

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

Хочу купить!

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

Цена: 1200 p.


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

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

Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт]
Научился: Повторил пройденное. (DrawEllipse, DrawLine) 
Сложности: Не было. 
Комментарии: Приятно, что понимаешь что делаешь. 
2 Движение шарика 00:31:11 108 чел. ★ 4.9 Done
  Второй урок.
Добавление таймера, создание функции для изменения координат, реализация отскока шарика от краёв картинки, учёт размера кружка, стирание старого положения.

Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт]
Научился: Отражать шарик от стен. 
Сложности: пока не сложно, но интересно 
Комментарии: Жду следующий урок 
3 Новый класс Graph 00:29:03 87 чел. ★ 4.9 Done
  Третий урок
Создание класса Graph и перенос в него всех действий с графикой.
Отчёт отправил: 2146. Иван Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Рефакторингу и осторожности при замене одного текста на другой 
Сложности: Вернуть все назад. 
Комментарии: При замене sy на s.y поменялись все system на s.ystem. А когда поменял sx на s.x . то в ResXResourceReader - подобных словах поменялось на Res.xResourceReader. И еще что-то где-то сломалось, так, что пришлось заводить новый проект и переделывать все с нуля. Так что теперь сто раз подумаю, прежде чем что-то на автомате менять. 
4 Новый класс Figure 00:31:21 77 чел. ★ 4.9 Done
  Четвёртый урок
На этом уроке мы вынесем всю логику работы с координатами в отдельный класс Pixel и в конце добавим ещё одни шарик в наш "Хранитель экрана".

Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт]
Научился: Повторил наследование, взаимодействие объектов друг с другом. Обращаться к protected свойствам! 
Сложности: Прыгать между классами 
Комментарии: Интересно, что в классе Figure одни точки. Вроде как там ничего и не происходит, а на самом деле без него ничего работать не будет. Удалось сделать разноцветные шарики(сделал для этого массив цветов), но не сразу. Сначала они у меня мигали разными цветами, так как менял цвет в функции DrawCircle, а потом догадался, что надо делать в Draw() и добавить туда параметр для цвета. 
5 Новый класс Polygone 00:30:58 69 чел. ★ 4.9 Done
  Пятый урок
На этом уроке мы закончим создание хранителя экрана.
Мы создадим класс Polygone для хранения многоугольника.
Также добавим в класс Graph метод для его рисования.
В результате получится забавный анимированный многоугольник + потенциал для дальнейшего развития программы.
Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт]
Научился: рисовать полигоны 
Сложности: Все получилось. 
Комментарии: Сделал закрашенные шарики. Так и не понял, почему у меня при рисовании полигона какой-то пиксель остается не закрашенный. 
6 ПОЛУФИНАЛЬНЫЙ урок 00:23:23 45 чел. ★ 4.9 Done
  Задание:
Записать видео обзор созданного хранителя экрана.
Рассказать, понравился ли тебе курс, чему ты научился, что было самым сложным.

Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт]
Научился: искать время 
Сложности: записать  
Комментарии: что-то получилось 
Видеообзор: https://youtu.be/lYpxMGg0VEg
7 Форма настроек 00:23:24 38 чел. ★ 5 Done
  Шестой урок
На этом уроке мы создадим форму для выбора настроек нашего Хранителя экрана.
Можно будет выбрать цвет фона и цвет линий, а также количество вершин.
форма будет создана в новом классе Window Forms.
Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт]
Научился: Повторил вызов диалогов и обработку возвращаемых значений. Научился использовать trackbar 
Сложности: нет 
Комментарии: Все интересно. Добавил для практики еще радио боксы. 
8 Применение настроек 00:29:52 38 чел. ★ 5 Done
  Седьмой урок
На этом уроке мы добавим кнопку Сохранения настроек
и сделаем применение выбранных параметров.
Для этого нам нужно будет организовать
передачу данных между формами.
Для применения всех настроек придётся дорабатывать
классы Graph и Figure, писать алгоритм
для добавления/удаления вершин
и создания случайной фигуры.
Придётся дорабатывать
Отчёт отправил: 2146. Иван Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Оказалось новым, что в rand.Next(-5,5); можно использовать отрицательные значения. Очень понравилось, что данные можно вытягивать из классов без применения модификаторов доступа ! Здорово, что через фукции это легко делается. 
Сложности: было очень интересно 
Комментарии: Что-то с трудом мог остановиться. Сделал заливку градиентом на форму, и еще рамочку вокруг лейблов со скошенными углами. Правда как-то мелко, и это в итоге не особо заметно. Не сразу, но все-таки удалось реализовать радиобаттоны!  
9 Использование реестра 00:29:45 38 чел. ★ 5 Done
  Восьмой урок
На этом уроке мы будем сохранять параметры в реестре и считывать их оттуда.
Функции для работы с реестром вынесем в отдельный статический класс.
Сделаем считывание и сохранение всех трёх параметров:
цвет фона, цвет линий, количество вершин.
Отчёт отправил: 2146. Иван Выполнено за 30 мин. [Показать отчёт]
Научился: Узнал, как сохранить данные в реестре 
Сложности: С видео - все просто. 
Комментарии: Удалось сохранить и свой параметр толщины Pen. 
10 Параметры командной строки 00:22:41 36 чел. ★ 5 Done
  Девятый урок
На этом уроке мы узнаем,
как нужно управлять запуском стандартных хранителей экрана.
Какие параметры командной строки для этого используются.
Добавим анализ аргументов командной строки
в свою программу, в зависимости от которых
будем открывать либо настройки программы,
либо запускать хранитель экрана.
Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт]
Научился: Использовать аргументы! 
Сложности: Все было просто. 
Комментарии: Все-таки я пока оставил запуск окна настроек из самого сейвера. Если будет очень мешать, то, конечно придется удалить. Еще экспериментирую с прозрачностью backgrounda, чтобы можно было на задний фон ставить, например, свою картинку. Заметил, что во время работы скринсейвер загружает проц на 25%. Поделитесь, пожалуйста, в комментах - у кого как грузит проц наш saver. 
11 Полноэкранный режим 00:13:58 36 чел. ★ 5 Done
  Десятый урок
На этом уроке мы переделаем нашу заставку чтобы она работала в полноэкранном режиме.
Для этого уберём заголовок, установим аттрибут "поверх всех окон".
Создадим ещё один конструктор, которому будем передавать размеры основного экрана.
Отчёт отправил: 2146. Иван Выполнено за 20 мин. [Показать отчёт]
Научился: Динамически создавать picturebox и задавать ему размер, опираясь на разрешение экрана 
Сложности: Сложно остановиться. Урок маленький, но оказался очень насыщенным. 
Комментарии: !далось все сделать!Решил закрывать saver не по щелчку мыши, а по нажатию клавиши ESC. Так как я оставил возможность вызова настроек по двойному щелчку пр. кн. мыши. Удалось также сделать прозрачный фон(задав цвет через условие , что если цвет 254,255,255- то значит он будет прозрачный, ну почти пасхалка), через который можно увидеть фоновую картинку picture box-a. Еще, урока три назад сделал заливку градиентом фона формы, что тоже мне очень понравилось. 
12 Режим предобзора и установка 00:25:51 36 чел. ★ 5 Done
  Одиннадцатый урок, последний
На этом уроке мы закончим создание хранителя экрана.
Сделаем самую сложную часть - вывод предобзора в окно вызвавшей программы.

Отчёт отправил: 2146. Иван Выполнено за 2 час. 00 мин. [Показать отчёт]
Научился: Использовать winapi. Разбираться с проблемами 
Сложности: Догадаться, в чем же было дело. 
Комментарии: Да, поплатился из-за своих экспериментов. Поэтому так долго делал этот урок. Кровь эти дополнительные параметры попили. Все почему-то оказалось чуть-чуть не так, как в видео. Например, при аргументе /c приходила строка "/c:123123". А при аргументе /p - число приходило в args[1]! И все равно, долго программа вываливалась с ошибкой. А все оказалось из-за того, что я использовал картинку для фона, и не засунул ее в ресурсы, как только я ее туда поместил, все заработало как часы! 
13 ФИНАЛЬНЫЙ урок 00:23:23 32 чел. ★ 4.9 Done
  Задание
Высказать свой отзыв об этом курсе
записав видеообзор полученной программы.

Отчёт отправил: 2146. Иван Выполнено за 40 мин. [Показать отчёт]
Научился: обобщать 
Сложности: все хорошо 
Комментарии: Наконец, записал видео. 
Видеообзор: https://youtu.be/vyOO-P940ow
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#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: еще одна прокачка записи своего обзора, набираюсь опыта рассказывать о своих успехах и достижениях!
Трудности: не возникло, вот только конечно хотелось еще сделать дубль, что-то не очень понравилось как я говорила, оставила как есть, так что строго не судите, а сделайте эту программу и получите столько положительных эмоций и знаний как и я! :)
Все замечательно! Я очень рада закончить эту серию уроков! Это было очень захватывающее и увлекательное познания нового, а так же повторения что уже знаю! И что самое главное результат виден и он шикарный что меня приводит в неописуемый восторг!!! :) P.S. для тех кто захочет использовать мою программу, нужно распаковать и правой кнопкой мышки нажать и выбрать "Установить", дальше настраивай как тебе понравится :)
Научился: Практика в формулировании текста для видеобзора.
Трудности: Найти подходящее время для записи видео, чтобы не мешали посторонние звуки, подбор текста. Однако, после полуфинального обзора в этом же видеокурсе, финальный обзор дался сравнительно легко.
Огромное спасибо Евгению Витольдовичу за такой замечательный видеокурс и за создание проекта videosharp.info!
Смотреть видеозапись: http://www.youtube.com/watch?v=9mxVsbjri3c&feature=youtu.be