Online обучение c#

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Статистика по видеоурокам

  • Всего просмотрено уроков: 40
  • Всего выполнено уроков: 39

Отчёты по видеоурокам

Дата Видеоурок Результат
2017-12-10 23:01 Демо игры VIP. Устный счёт + 15 7 час. 0 мин.
Первый раз попробовал try catch - полезная вещь, позволяет защититься от "неадекватного" юзера. Написал чуть по своему, использовал свойства кнопок tag, чтобы не писать лишний код и тд. Неверные ответы выделял красным цветом.
все доступно
2017-12-10 15:59 Демо игры ФИНАЛЬНЫЙ УРОК + 15 10 мин.
быстро лепить микроотзывы с макрофотографиями

2017-12-10 15:47 Демо игры Камень ножницы бумага + 15 5 дней 5 час. 1
Широко пользовался отладчиком, чтобы выловить мелки ошибки. Еще потренил приведение типов, свободно ориентируюсь в свойствах формы и элементов. Нормально работаю с событиями, в тч умею корректно удалить лишние. Уверенно пользуюсь таймером. Поработал с новым элементом формы - панель.
все доступно
2017-12-05 10:32 Демо игры Бот для Быстрощёлка + 15 1 день 16 час.
Из программы управлял таймером, тактика сначала полностью смотреть урок потом самостоятельно делать хорошо стимулирует мышление, бодро шлепаю формы

2017-12-03 17:47 Демо игры Игра Быстрощёлк + 15 3 час. 53 мин.
Теперь делаю по другому, смотрю полностью видео, потом не глядя делаю задание, в трудных местах если гугл сходу не помог, подсматриваю в видео. Пощупал класс DateTime, TimeSpan.. форматированный вывод. Бодро леплю формы, понимаю что делать с событиями, как использовать свойства.
#.# у меня выводил в формате .7 , пришлось сделать так:

label_result.Text = clicks_second.ToString ("0.00") + "  clicks per second";
2017-12-03 13:41 Демо игры Лабиринт 2D - игра + 15 17 час. 49 мин.
дополнительно прокачал навыки работы с формами, поискал неочевидные ошибки, очень понравился способ обратиться именно к тому объекту который вызвал событие + приведение к нужному типу (чтобы получить доступ к свойству Visible). Таймер на форме - удобен и прост в применении
кнопки финиш - на 1-м и 2-м уровне находились на одном и том же месте - и при открытии 2-го уровня мышь доли секунды находилась на финише из-за чего срабатывал выход ДО всего другого, потратил некоторое время, пока дошел в чем дело
2017-12-02 19:49 Демо игры Лабиринт 2D - меню + 15 3 дня 8 час. 43 мин.
нашел иконки в сети, поставил аудиоРекордер на свой мак и генерю .wav файлы, научился пробрасывать звук через rdp (иначе невозможно было проверить, что все работает корректно), вспомнил как работать со свойствами и событиями элементов формы.

2017-11-29 11:00 Демо игры C# чего начать программировать + 15 8 мин.
Хочу достаточно свободно программировать на си шарпе, так чтобы не упираться в слабое знание на каждом шагу (роботов для трейдинга)

2017-06-17 22:48 Теория ООП Интерфейс. Площадка для игры. + 16 30 мин.
достаточно общо понял,  как создать "поле" для размещения на нем объектов (вовлечена куча классов, структура и тд). полистал описание на сайте майкрософта примененных классов.
Класс Арена создает нам фактически поле (Graphics) для последующего размещения/рисования на нем
много смутнознакомых (оч давно проходил первую часть ООП) классов
все ок
2017-06-17 13:49 Теория ООП Интерфейс. Создаём кружок. + 16 20 мин.
пишу быстрее самого урока, а потом проверяю все ли ОК
все ок
таймер надо, список игроков наполнить, визуализацию какую-никакую на форме надо (в виде кружков цветных)
2017-06-17 13:21 Теория ООП Интерфейс. Алгоритм игры. + 16 30 мин.
развитие темы предыдущего урока, пишем на более высоком уровне абстракции.
все доступно
сжать 2-3 урока в один чуть более длинный. для запуска игры, нужно собственно создать и добавить игроков, задать таймером ритм игры, определиться с критерием "догнал" в игре.
2017-06-17 12:46 Теория ООП Интерфейс. Правила игры. + 16 1 час. 01 мин.
разработка на более высоком уровне абстракции, мы пишем код под неизвестные заранее объекты с заданными (в интерфейсе) свойствами/функционалом. маленький хак, писать сначала все что хотим и чуть позже с помощь intellysense расписывать реализацию.
все ясно и понятно пока
все ок
2017-06-17 11:22 Нано-игры Арканоид - Уровень и ракетка + 16 1 час. 30 мин.
оригинальное применение кнопок и лейблов, побольше узнал про свойства и события форм, кнопок, лейблов
небольшому удобному "хаку" как быстро найти вызов "лишнего" события, которое мы удалили руками
ракетка "залипала" у краев - вылечил добавлением условия что выход из метода если "ракетка у левого края и пытаемся двигать еще левее, если правее - ок",  для правого края зеркально. Проблемы что ракетка не доходит до краев у меня нет, сделал чтобы чуть чуть заходила за край для верности (чтобы шарик не "проваливался" в будущем)
все ОК
2015-11-08 21:57 Теория ООП Интерфейс. Зачем он нужен. + 20 15 мин.
Интерфейс - это набор и сигнатура (если я правильно применяю термин) методов (то есть, что возвращают, если возвращают вообще хоть что-нибудь, какие-нибудь там параметры методов и тд), без собственно описания этих методов, оформленных вместе так, что их можно унаследовать. Видимо конкретная реализация этих методов возможна у наследников.
пока все доступно
все ок
2015-10-19 15:00 Теория ООП ПОЛУФИНАЛЬНЫЙ УРОК. + 20 10 мин.
Сергей, курс ООП понравился, могу теперь наследовать, инкапсулировать и полиморфизировать.
все ок
все ок
2015-10-19 13:06 Теория ООП Перемещение Снеговиков + 20 1 час. 00 мин.
Прокачал дополнительно полиморфизм.
все норм
все норм
2015-10-16 22:18 Теория ООП Перемещение других фигур + 20 1 час. 00 мин.
Ввел поправку для начальных координат всего зоопарка фигур Position, написал метод Demo(), получившуюся произвольную композицию фигур двигаю по нажатию кнопки
все норм
все ок
2015-10-15 12:39 Теория ООП Перемещение круга + 33 45 мин.
свободно разруливаю в получившейся программе (пишу слегка по своему, соотв все проблемы приходится решать самому, в лоб из видео не спишешь, но структура повторена, полиморфизм, наследование и инкапсуляция применены).  Отдельный кружок нарисовал, кнопку сделал, кружок перемещается.
все ок
все ок
2015-10-14 15:54 Теория ООП Спрайт для Снеговика + 20 1 час. 15 мин.
Полиморфизм во всей красе, перегружаю методы, сделали удобный класс Sprite куда начали инкапсулировать многое относящееся к снеговикам, потихоньку разгружая класс формы.
Поковырялся, пока не сообразил, что сначала надо установить Graph объекту Shape а только потом его добавить в коллекцию, а не наоборот.
Не очень ясно, зачем нам при создании нового спрайта SnowMan2 = new Sprite(); задавать graph SnowMan2.SetGraph(graph); ведь фактически мы отдельно задаем один и тот же graph для каждого shape отдельно (в методе AddShape и этого должно быть вполне достаточно для рисования (однако при попытке пропустить SnowMan2.SetGraph(graph)) программа перестает компилироваться
2015-10-14 12:54 Теория ООП Мощь полиморфизма + 20 30 мин.
потренил полиморфизм, освоил конструкции virtual overraid, посмотрел abstract, оценил удобство вызова метода без вникания в суть того, как конкретно для каждого типа он работает
все норм
все норм
2015-10-14 11:59 Теория ООП Переезд graph в базовый класс + 20 2 час. 00 мин.
Инкапсулировал метод Draw в классы фигур, убрал общие для классов фигур поля в родительский класс Shape, научился рисовать Pen из родительского класса или переопределять его для цветных классов. Проникся удобством полиморфизма, когда можно просто в цикл засунуть всю инициализацию (и очевидно любую другую обработку) не заморачиваясь с конкретными типами.
Все норм
все доступно
2015-10-13 10:11 Теория ООП Переезд метода Draw + 20 2 час. 00 мин.
Инкапсулировать метод в класс и потом пользоваться им. Улаживать конфликты, когда класс потомок содержит метод, а класс родитель нет, при этом оперируем с классом родителем.
Чисто без заглядывания в видео сам реализовать не смог,  но в итоге разобрался полностью с вопросом.
Все здорово, хочется продолжать.
2015-10-12 15:04 Теория ООП Приведение с мотором + 20 25 мин.
Дальнейшему структурированию проекта
все норм
Отдельная точка Position нам нужна,  для создания дополнительного уровня абстракции (чтобы  в дальнейшем оперировать уже только ею)
2015-10-07 08:21 Теория ООП Фигуральный базовый класс + 20 25 мин.
Открыл для себя, что можно создать массив с элементами соотв базовому классу, а по факту поместить туда наследников, что конечно гиперУдобно.
все доступно
в метод Draw(Shape shape) предлагаю поместить проверку какого наследника по факту передали и вызывать соотв Draw
2015-10-06 08:38 Теория ООП Богатое наследство + 21 30 мин.
Научился наследовать классы (и соотв правильно оформлять конструкторы класса наследника инициализирующие конструктор родительского класса)
Проблем не было
Так как 2 урока назад написал снеговика с нуля (а пользовать контроль версий я поленился), то у меня не было готовых классов родителей. В итоге я сделал новые родительские классы, и вынес туда все кроме цветного карандаша, далее унаследовал их и добавил карандаш.
2015-10-06 07:48 Теория ООП Второй Снеговик + 20 35 мин.
все элементарно, прикольные массовые замены в notepad++
все ок
Надо все касающееся снеговика (а не только пиксели) поместить в структуру, и задать некоторые зависимости (например руки начинаются только от тела), а остальные точки задать как ф-цию от какой-то одной точки (2-х если хотим не только двигать статичную картинку, 3-х если полное 3d)
2015-10-05 23:19 Теория ООП Рисуем Снеговика + 20 3 час. 01 мин.
Быстро накидал снеговика в Paint, забил координаты точек, все бодро с нуля закодировал, сразу с цветами. что и как называется (а также перегрузки) в классе graphics посмотрел в определении класса. Были и проблемы.
часа полтора, не меньше, ухлопал на то чтобы все это начало отображаться на форме, так как упустил, что надо свойству pictureBox.Image - присвоить наш bitmap с картинками. Пересмотрел все, в итоге Snagit наделал скриншотов и стал уже построчно сравнивать (и свойства pictureBox тоже) и нашел где проблема.
Все супер
2015-10-04 12:34 Демо игры Картинка с секретом + 20 3 час. 01 мин.
Размещать кнопки на форме, изменять свойства объектов формы из методов обрабатывающих события, создавать вручную иконки и размещать из в проект.
из-за устаревшей версии браузера наковырялся пока установил редактор иконок, с кодом проблем не было
Все очень подробно и доступно, пример интересен даже тем, кто не первый раз в жизни видит формы.
2015-10-02 21:53 Демо софт Вступительное слово + 1 20 мин.
накатывать Visual Studio на свою виртуальную машину на парковке (завел отдельную от роботов, только под учебу и всякие эксперименты)
Накатить языковой пакет (так и не сделал пока, о чем жалею, и на досуге (когда мозг откажет решать задачки из консоли поковыряю еще)).
Не смог нормально разместить фотку в анкете (все время она ложится на бок)
2015-10-02 08:50 Теория ООП Цветные карандаши + 20 1 час. 30 мин.
Искать ошибки, более самостоятельной работе, пошире использовать цвета, и вообще посвободнее себя чувствовать со всеми пройденными ранее темами
Раньше смотрел видео и делал задание параллельно, теперь сначала видео, потом все выключаю и самостоятельно делаю задание.
Все норм
2015-09-30 08:56 Теория ООП Расстояние между пикселями + 20 50 мин.
Добавлять методы в структуру, и вызывать возвращаемые ими значения в качестве параметра перегруженного конструктора (вроде точно описал происходившее?). еще потренили this, перегрузки конструктора
Чуть труднее было разобраться в методе в структуре (что откуда берется, значения), но потом все прояснилось.
все вери гуд
2015-09-30 08:05 Теория ООП Пиксели для классов + 20 1 час. 01 мин.
расширил практику использования структур, научился удалять повторный код (а значит и необходимость его редактировать если будут изменения) из перегружаемого конструктора с помощью конструкции : this, Все ошибки заметил сразу, до их исправления в уроке.
Все доступно
Отличный приемчик с resolve остался для меня недоступным (видимо в силу comunity версии Visual studio)
2015-09-28 22:38 Теория ООП Структура vs Класс + 20 1 час. 10 мин.
в общем я понял, что структура сразу находится в памяти и в этом ее плюс, она заметно легковеснее за счет своих ограничений, чем стандартный класс, также ясно, что структура передается "по значению" а не по ссылке.
Сразу не было понятно:
про виртуальные члены
стек и куча понятны оч приблизительно (разные варианты оперативной памяти)
Хотелось бы (видимо будет дальше) чуть больше разъяснений про области практического применения структур
2015-09-28 21:16 Теория ООП Структура пикселя + 20 1 час. 05 мин.
Создание структуры, перегрузка конструкторов, передача структур в конструктор (в качестве параметра). Освоил рефакторинг (переименование переменной) в Visual Studio.
Все делаю слегка по своему, поэтому поковырялся переделывая класс Circle (чтобы рисовал так как указано в уроке)
Не ясно, зачем было городить структуру, когда можно было применить обычный класс?
2015-09-27 22:53 Теория ООП Инкапсуляция мечты + 20 10 мин.
Освоил интерфейс подачи отчетов, создавать проекты и настройки форм, прикольно оказалось создавать и прикреплять иконки
Выбирать картинку для иконки
все ок
2015-09-27 20:22 Теория ООП Круглый класс + 20 30 мин.
Освоил рисование эллипсов, остальное вроде все тоже самое что и в предыдущих 2-х
нашел ошибку (свою) во втором уроке
все ок
2015-09-27 18:59 Теория ООП Второй класс + 20 15 мин.
в принципе повторил предыдущий (закрепил). Еще раз повнимательнее посмотрел перегрузку методов, оч понравилось. Быстро понял, что требуется и сделал еще до просмотра видео. Уяснил что разные по сути сущности не надо связывать друг с другом наследованием, даже если они очень похожи.
Забыл сделать конструктор класса Box публичным
Понравилось, когда видишь ошибку, чувствуешь что разбираешься сам.
2015-09-27 18:33 Теория ООП Первый класс + 20 15 мин.
Делать переменные класса - полями, создавать конструктор, создавать перегруженный метод? и вызывать его из другой перегрузки? (речь про Draw(), Выносить объявление переменных в начало класса, чтобы их было видно из всех методов, открывать скрытые по умолчанию переменные класса (поля класса). обозначать переменные с именами совпадающими с именами переменных(параметров) метода словом this
все доступно
Про this надо более конкретно (плохо видно куда тыкается курсор и соотв можно не уловить смысл)
2015-09-27 18:03 Теория ООП Урок рисования + 20 1 час. 00 мин.
Заливать pictureBox битМэпом, и рисовать там с помощью объекта Pen, линии и квадраты (очевидно нарисую если что и остальное)
Запуск нарисованного
все норм
все ок
  Нано-игры Арканоид - Шарик и кирпичики   Открыто


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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: Заливать pictureBox битМэпом, и рисовать там с помощью объекта Pen, линии и квадраты (очевидно нарисую если что и остальное) Запуск нарисованного
все ок


Научился: Делать переменные класса - полями, создавать конструктор, создавать перегруженный метод? и вызывать его из другой перегрузки? (речь про Draw(), Выносить объявление переменных в начало класса, чтобы их было видно из всех методов, открывать скрытые по умолчанию переменные класса (поля класса). обозначать переменные с именами совпадающими с именами переменных(параметров) метода словом this
Про this надо более конкретно (плохо видно куда тыкается курсор и соотв можно не уловить смысл)