Online обучение c#

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

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

 14075

-- Rise

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

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

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

Дата Видеоурок Результат
2019-09-18 16:56 Новые технологии VIP урок - Создание архиватора - 2 часть + 11 21 час. 54 мин.
Очень сложный урок, если честно. Надо будет его потом пройти еще раз.
Добавление в архив новых файлов.
2019-09-11 19:22 Новые технологии VIP урок - Создание архиватора - 1 часть + 10 1 час. 0 мин.
Повторил, как динамически создавать файлы и как обрабатывать исключения.
Ничего сложного, спасибо за урок.
2019-09-10 19:15 Новые технологии VIP урок. C# + MySQL через DataSet + 9 1 час. 43 мин.
Научился ставить простой php сервер на локальную машину с помощью программы DevServer 17.
Подключаться си-шарпом к БД и выполнять селекты, апдейты и инсерты я умел еще на microsoft sql server.
Я так и не понял, каким образом можно heidi sql подключить к нашей локальной БД? У меня возникает та самая ошибка. И в верху написано, что нужно "выполнить следующую команду:
mysql> set @@global.show_compatibility_56=ON;"
Но, при этом автор урока видимо совсем забыл, что объясняет это людям, которые свой сервер пока никогда не устанавливали и понятия не имеют  - как и куда нужно вставить эту строчку. Я так и на разобрался в этом, к сожалению. Пришлось создавать свою бд и таблицу во встроенном в сервер модуле-утилите phpmyAdmin.
Спасибо за урок, все остальное понятно.
2019-09-09 18:22 Новые технологии ФИНАЛЬНЫЙ УРОК + 6 1 час. 9 мин.
Повторил как нужно записывать видеообзоры. Но они пока у меня получаются очень корявыми. Волнуюсь, запинаюсь и забываю половину о том, что планировал бойко рассказать.
Первое время не понимал - зачем вообще в урок встроено обязательное задание для того, чтобы самому снять обзор. Потом начало доходить, что это необходимо, чтобы научиться самому красиво презентовать свои творения, тренировать правильную, красивую и грамотную речь.
Дальше буду проходить вип-уроки в "Новых технологиях."
Ничего, буду тренироваться дальше.
2019-09-05 20:36 Новые технологии Построение графиков + 7 1 час. 42 мин.
Познакомился с библиотекой ZedGraph. Теперь имею представление как нарисовать примитивный график.
Разобраться с МажорГрид и МинорГрид.
2019-09-04 21:00 Новые технологии Печать таблицы + экспорт в Excel + 8 4 час. 0 мин.
Переводить данные из datagridview в формат html.
Переводить данные из datagridview в формат csv.
Познакомился с контролом webbrowser
Составление текста для html.
2019-09-03 17:46 Новые технологии Работа с WinAPI + 6 1 час. 6 мин.
Пользуясь winapi - закрыть нужное окошко, зная лишь его название.
Понять билиберду в скопипащенной winapi.
2019-03-24 10:55 Нанософт Баскетбольное табло + 10 1 час. 44 мин.
Узнал о двух довольно важных свойствах winform-контролов - тэг и тэбиндекс. Первый позволяет добавить контролу какую-то дополнительную информацию, второй - определяет порядок перебора выделения клавишей TAB.

Тут все просто.
2019-03-20 21:26 Нанософт Шахматные часы + 9 1 час. 59 мин.
Повторил инструменты MenuStrip и TableLayoutPanel.
Ничего сложного. Спасибо за уроки.
2019-03-20 11:24 Нанософт Твоё портфолио + 9 1 час. 48 мин.
Работе с инструментом tabControl. Повторил запуск exe-приложений и открытие веб-страниц браузером по умолчанию.
Добавление сторонних проектов в свой проект.
2019-03-16 22:06 Новые технологии Мотиватор + 11 52 мин.
Научился рисовать линии на картинке, рисовать текст, настраивать шрифт. Запускать файл.
Все просто.
Спасибо за урок.
2019-03-15 19:29 Новые технологии Клиент-сервер для смены обоев + 12 2 час. 15 мин.
Закрепил знания по тому, как с помощью Windows API поменять фоновую картинку на ПК.
Продолжаю закреплять знания по написанию программ, которые умеют общаться между собой по TCP/IP.
Понять, как осуществляется обмен данными между ПК.
2019-03-12 22:05 Новые технологии ПОЛУФИНАЛЬНЫЙ УРОК + 12 16 мин.
Всем добрый день!
Узнал интересную вещь о том, как сделать так, чтобы при запуске приложения - консоль не появлялась. На самих видеоуроках узнал как сделать так, чтобы параллельно запустить метод асинхронно с помощью делегата, что часто бывает полезным.  Надеюсь, что узнаю еще много-много полезных вещей.
Спасибо за уроки.
С уважением, Дмитрий Сахаров.
Ничего не бывает сложным, когда разберешься.
2019-03-04 11:00 Новые технологии Говорящие часы. Запись голоса + 14 1 час. 58 мин.
Повторил запуск делегатов в отдельном потоке. (Но до сих пор с трудом понимаю разницу между Invoke и BeginInvoke). Научился записи wav-файлов с микрофона.
Понимание запуска делегатов в параллельном/асинхронном потоке.
2019-02-13 09:01 Новые технологии Говорящие часы. Воспроизведение + 16 10 час. 29 мин.
Научился работать с wav - файлами.
Повторил создание дополнительных потоков через класс Thread.
Разобраться с тем, как запускать звуковые файлы через событие клика.
2019-02-09 23:15 Начало здесь День №8. ВИДЕОФИКСАЦИЯ УСПЕХОВ. + 6 55 мин.
Повторил как записывать видео для ютуба. Я уже делал это для курса "Объектно-ориентированное программирование". Это не так сложно, как оказалось. Теперь я дал описание к видео "Обои рабочего стола". Ссылка на отчет ниже.
https://www.videosharp.info/14075/checking/soft2=45
Видео:
https://youtu.be/sXO9EEibjso
Очень сложно подавать информацию. Многое совершенно вылетает из головы, когда записываешь. Я забыл указать ссылку на свою страничку. И еще забыл рассказать о некоторых вещах. Это при том, что я раза три перезапускал видео.
2019-02-08 21:45 Дневник успеха Полезные права и обязанности в Клубе формулистов + 8 32 мин.
В данном видео идет повторение всего, что проходилось в видеокурсе "Начало здесь".
Для меня самое важное остается выполнение видеокурсов и сдача их на проверку. Разумеется я также обязан проверять отчеты других.
Прикладываю скриншот своего первого еженедельного отчета.
Для меня самое сложное - это выполнение консольных задач. Иногда очень тяжело придти к правильному ответу.
2019-02-08 21:37 Начало здесь День №8. Подведение итогов и составление Планов. + 6 25 мин.
Сегодня я выполнил дневную норму плюс заполнил свой первый в жизни недельный отчет.
https://www.videosharp.info/14075/checking/power=2433

2019-02-08 21:36 Дневник успеха 2019-02-10 : Поле труд любит. + 9 6 мин.
За эту неделю:

+ Я проверил 29 отчётов у 18 формулистов.

+ Я написал 9 сообщений 7 формулистам общим объёмом 4 килобуквы

+ Я набрал 5 текстов:
    1 => «C# набор / Первая программа», без ошибок
    2 => «C# набор / Служебные слова», без ошибок
    3 => «C# набор / Определение массива», без ошибок
    4 => «C# набор / Сравнение двух целых чисел», без ошибок
    5 => «C# набор / Звездочки», без ошибок

+ Я решил 2 задачи:
    1 => «Олимпиада / Случайная задача» на 100%
    2 => «Олимпиада / Телеграмма» на 10%

+ Я выполнил 9 видеоуроков:
    1 => «Начало здесь / День №4. Развитие Алгоритмического мышления.» за 39 мин.
    2 => «Начало здесь / День №5. Создание игровых и прикладных Программ.» за 1 час. 32 мин.
    3 => «Начало здесь / День №6. Обучательное тестирование» за 22 мин.
    4 => «Начало здесь / День №7. Регулярный и Последовательный подход.» за 1 час. 36 мин.
    5 => «Новые технологии / Модульное тестирование» за 1 час. 24 мин.
    6 => «Новые технологии / Делегаты на кубиках» за 1 час. 22 мин.
    7 => «Новые технологии / Нити на кубиках» за 1 час. 14 мин.
    8 => «Новые технологии / Телефон по TCP/IP протоколу» за 2 час. 58 мин.
    9 => «Новые технологии / Обои рабочего стола» за 3 час. 48 мин.

− Я не собрал ни одного Мегахеша :o(
==========================================================================================================================================================
Итак, в начале этого года я твердо решил для себя начать серьезно заниматься программированием на видеошарпе. Пока собирался духом - января как не бывало. Поэтому моя история началась с февраля. Я записался в Клуб Формулистов и начал свой путь. Как я понял, основная философия данного ресурса в том, что заниматься программированием нужно по немногу, но каждый день. Нет ничего страшного проходить ровно по одному видеоуроку каждый день. Страшно пройти за один день 5 уроков, а потом забросить на неделю. Начать решил с курса "Начало здесь", и сейчас его уже почти прошел. Чуть позже, параллельно с ним начал курс "Новые технологии". Стараюсь выполнять по одному курсу в день. Надеюсь, что не брошу.


2019-02-08 17:26 Новые технологии Обои рабочего стола + 14 3 час. 48 мин.
Взаимодействию с Windows API.
Подружиться с Windows API.
Да, и почему то в редакторе реестра, в том параметре, где указывается путь к скриншоту, у меня написан короткий путь к файлу, а не полный. Поэтому у меня вместо фона устанавливался черный фон. Пришлось немного пошаманить с переменной dir, чтобы в этот параметр заносился полный путь. Я добился своего, но обратной стороной медали стало то, что теперь в перечне скриншотов в самой программе я не могу избавиться от косой черты в именах файлов. Но основную задачу я при этом выполнил - файлы успешно скачиваются по ссылке и устанавливаются в виде фона.
Если будет время и настраение - буду думать как избавиться от косой черты.
Спасибо за интересный, хоть и сложный урок.
2019-02-07 22:14 Новые технологии Телефон по TCP/IP протоколу + 15 2 час. 58 мин.
Впервые написал клиент-серверную программу, которая может работать и  как сервер и как клиент. Теперь есть понятие(самое примитивное и туманное) по какому принципу работают онлайн игры и приложения обмена данными.
Вся программа для меня довольно сложная.
2019-02-07 19:37 Начало здесь День №7. Регулярный и Последовательный подход. + 8 1 час. 36 мин.
Вступил в КФ еще неделю назад. Оформил подписку на 5 месяцев.
Отчеты проверил, комментарий отписал, текст набрал, видео сейчас смотрю. Набрал 21 балл + будет еще, когда досмотрю видеоурок "Телефон по TCP/IP протоколу" в новых технологиях.

2019-02-06 11:35 Начало здесь День №6. Обучательное тестирование + 11 22 мин.
Создал тест для урока "Нити на кубиках".
https://www.videosharp.info/video/quiz/nr=62/quiz_id=542
Ничего сложного. Это мой второй тест.
2019-02-06 10:20 Новые технологии Нити на кубиках + 12 1 час. 14 мин.
Запускать одновременно несколько потоков в одной программе. Раньше я их очень сильно боялся. И если мне нужно было, чтобы что-то в моей программе происходило "само по себе", я просто создавал таймер, куда пихал все, что мне нужно было.
Понять, по какому принципу работает условие if(InvokeRequired). Как я понял, это условие "усыпляет" наш поток, которым мы пытаемся добраться до свойства textDices.Text. Как только предыдущий поток в очередной раз "освобождает" это свойство, то тут же "просыпается" наш поток и изменяет его. При этом все последующие потоки, которые доходят до этого свойства "усыпляются".
Если я не правильно это понял, то, пожалуйста, поправьте меня.
Спасибо за урок.
2019-02-05 20:36 Начало здесь День №5. Создание игровых и прикладных Программ. + 9 1 час. 32 мин.
Все выполнил.
Начал курс "Новые технологии".
https://www.videosharp.info/14075/checking/soft2=61

2019-02-05 18:39 Новые технологии Делегаты на кубиках + 10 1 час. 22 мин.
Хорошо повторил, что такое делегаты.
Найти картинки для кубиков в интернете.
2019-02-04 18:03 Новые технологии Модульное тестирование + 11 1 час. 24 мин.
Впервые я увидел своими глазами, что такое "Модульное тестирование", про которое так часто слышал.
Как я понял, "тестировочный" проект отличается от обычного тем, что обладает более расширенным инструментарием для отслеживания всего того, что творится во время выполнения "подопытного" проекта.
Все понятно.
Спасибо за урок.
2019-02-04 16:23 Начало здесь День №4. Развитие Алгоритмического мышления. + 10 39 мин.
Все выполнил, получил 21 бал за сегодня.
Но я до сих пор не имею понятия, на что их тут можно тратить....

По поводу задачи - нужно было написать программу, которая перемножала между собой 5 чисел, введенных с клавиатуры. Это почти то же самое, что и написать факториал. Как я понял, такие задачи очень хорошо показывают пользу рекурсии.

2019-02-03 22:52 Начало здесь День №3. Безошибочное владение Клавиатурой. + 6 15 мин.
Итак, начал занятия по набору символов на клавиатуре. Начал с C# НАБОРа. Прошел только "Первая программа" и "Служебные слова". Сколько же нервов мне это стоило. Давно я так не психовал. Но, на удивление, со временем таки одолел эти два первых урока без единой ошибки. Со скоростью правда 80-100 символов в минуту. На первый урок ушло 2 подхода, а вот на второй - аж целых 11. Надеюсь, что все это не зря, и когда-нибудь мне вернутся мои страдания сторицей.
Спасибо за урок и за возможность набивать пальцы для будущих код-марафонов.
Да, забыл сказать, комментарии и оценки отчетов я сегодня тоже выставлял.

2019-02-02 22:22 Начало здесь День №2. Общение с Единомышленниками. + 5 27 мин.
Мой отзыв на отчет Александра (3922):
https://www.videosharp.info/3922/checking/simple1=2031#card
Если у меня возникают какие-либо вопросы, то обычно задаю их прямо тут, в комментариях к своим или чужим отчетам. Если возникают прям совсем страшные вещи(например, проблема с оплатой), то пишу Витольдовичу на почту.
Всем спасибо за урок.

2019-02-02 00:13 Начало здесь День №1. Создание микро-Привычки. + 15 2 час. 7 мин.
Проверил пять отчетов. Некоторым написал комментарии. Получил в общей сумме за сегодня 11 баллов.
Как я понял за сегодняшнее занятие, суть данного проекта - научить человека программировать через прививание привычки каждый день уделять несколько минут какому-либо упражнению. В основном, это проверка чужих отчетов, написание ответов к ним. Плюс выполнение своих видеоуроков.
Но у меня возникло несколько вопросов. Если кто будет проходить мимо - просьба ответить, если не сложно.
Сперва, что касается ежедневных привычек:

1. "Реши одну задачу". Это ведь из раздела задач, семантика и алгоритмика, так? Если я не знаю правильного решения текущей задачи, то могу ли я где-то узнать ответ? Или баллы начисляются только в случае самостоятельного прихода к правильному ответу?
2. "Набери один текст". Это из раздела соло. Должен ли я каждый день выполнять разные задачи? Или я, при желании, имею полное право тренировать только определенную группу текстов? Например, сишарповскую, получая за каждое прохождение новые баллы.
3. "Придумай один тест". "Получи за это +5 баллов." Мне кажется, это очень не выгодно с точки зрения потраченного времени/полученных за это 5 баллов. Придумать целый тест к выполненному уроку - это не шутка, знаете ли. Я даже в теории не могу представить, как это может выглядеть со стороны - выработать привычку каждый день сидеть и придумывать целый тест к какому либо видеоуроку и получать за это какие-то несчастные 5 баллов....
4. "Выполни один видеоурок. И получи +10 байт, по 5 байт за каждый отчёт по видеоуроку.".  Итак, если я начинаю смотреть очередной видеоурок - мне автоматом прилетает 1 балл. Если я его сдаю в итоге на проверку - к имеющемуся баллу приходит еще 5 баллов, так? Если я в этот же день успеваю сдать на проверку второй видеоурок - то к имеющимся 6 баллам начисляется еще 10 баллов. В итоге, за выполнение двух уроков в день я получаю 16 баллов, верно? Если я сдам еще и третий урок в этот же день, то я получу за него опять 10 баллов или следующие уроки будут оцениваться по 5 баллов?
Теперь, давайте поговорим насчет бонусов:
1. "Учись каждый день". Ну это понятно, если я отзанимался 1 день и в графе "Мое обучение" набрал 15 баллов, то на следующий день я получу +1 балл к общему количеству. Отзанимался 2 дня - получаю +2 балла и т.д. Через 5 дней я получаю +5 баллов, и при сохранении данной привычки, каждый день получаю также по 5 баллов. Если хоть в один день я набираю 14 баллов - начинаем все сначала. Я прав?
2. "Поделись работой в соц. сети." Понятное дело, это делается ради рекламы данного ресурса. Получается, если в соц. сетях я сижу только в целях прослушивания музыки, и не состою в различных группах и пабликах, то тут я пролетаю. Очень жаль, конечно....
3. "Собери один мегахеш." Это нужна мощная видеокарта. Примерно за какое время я смогу набрать 1 мегахеш на MSI 980ti ?
4. Обнуление баллов за текущий день происходит в 12 ночи?

Теперь финальный вопрос на миллион долларов: Я же правильно понимаю, что основная цель работы на этом ресурсе(которая подразумевает, что параллельно этому, ты постепенно, день за днем, постигаешь мастерство программирования) - это заработок баллов? Отсюда следует вопрос - зачем они вообще нужны, что они дают, на что их можно потратить? Я помню, год-два назад, каждый видеокурс тут стоил отдельных денег и много баллов можно было обменять на жирную скидку. Теперь же существует единая подписка на все курсы. В чем же тогда смысл баллов сейчас? Ну кроме того, чтобы померяться их количеством с другими формулистами.

Заранее горячо благодарю за исчерпывающие ответы.

2018-10-14 17:50 Демо игры VIP. Бесплатная консультация + 12 2 мин.
Евгений Витольдович, спасибо за возможность личной консультации с Вами.
Но, пока она мне не нужна, может быть понадобится попозже.
Еще раз спасибо.

2018-09-28 13:37 Демо игры C# чего начать программировать + 12 50 мин.
Работаю в тех.поддержке. В программисты меня в свое время не взяли. Хочу просто научиться писать программы, которые будут автоматизировать часть моих действий. Поскольку работаю в Windows и лишь изредка отправляю комманды по SSH на юникс, то самым наилучшим языком для себя я выбрал си-шарп. Тут мне нравится, единственное , что смущает - постоянно меняется ценовая политика. То каждый курс стоил отдельные деньги, то Евгений решил за счет своих учеников майнить криптовалюту, теперь я вижу, что существует лишь единая подписка на клуб формулистов, то есть, если хочешь получить неограниченный доступ к любому курсу - изволь платит 1,5к рублей каждый месяц. Ну а так, все неплохо.
Спасибо.

2018-09-28 10:09 Демо софт VIP. Бесплатная консультация + 17 1 мин.
Добрый день! На консультации еще не был.

2018-04-19 09:43 Теория ООП Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. + 24 2 час. 34 мин.
Научился пользоваться Camtasia Studio и записывать видео. Идет оно сравнительно долго и объясняю я довольно коряво и некрасиво. В следующий раз буду готовиться по лучше.
Понять математическую обработку проверки столкновения круга и квадрата.
2018-04-17 10:33 Теория ООП Интерфейс. VIP. Пересечение прямоугольников. + 24 23 мин.
Спасибо за урок.
Не совсем понимаю, почему Евгению Витольдовичу не нравится использовать в игре и шары и квадраты. Почему по его мнению это не правильно? Разве не это в итоге должно показать всю магию интерфесов и полиморфизма. Когда интерфейс Игрок мы можем реализовывать и через шары и через квадраты. Если только он не хочет этого делать лишь из-за того что уже не хочет мучать нас лишний раз математической сложностью реализации столкновения шаров и квадратов.
2018-04-17 09:50 Теория ООП Интерфейс. VIP. Квадратики тоже хотят играть. + 22 35 мин.
Все ясно, спасибо за урок. Метод "Поймал", думаю, будет содержать алгоритм получения координат углов двух пересекающихся квадратов и уже на основе этих координат будет идти вычисление расположения углов относительно друг друга (с помощью операторов больше или меньше), которое и покажет - пересекаются ли два квадрата или нет.
Ничего.
2018-04-16 12:44 Теория ООП Интерфейс. ФИНАЛЬНЫЙ УРОК. + 23 42 мин.
Очень понравился данный курс. Благодаря ему я начал, наконец, четко понимать суть ООП, и два способа реализации полиморфизма: через наследование классов и через интерфейсы.
Какой курс возьму следующим: сперва добью до конца этот, с квадратами. Потом, скорее всего, просмотрю графоциклы, потому что, я на данном видеокурсе, бывало, иногда вообще не понимал, на основе какого алгоритма взаимоотношений объектов-интерфейсов  Витольдович реализовывал ту или иную возможность, и потом ещё долго ковырялся в своем же коде, пытаясь разобраться что к чему. И боюсь, что эти ваши отели, змейки, шарики, шахматы и пр. просто введут меня в глубокий ступор. Поэтому возьму пока то, что легче для понимания.
Спасибо за курс.
Так и не понял, как перемещать кусок кода с помощью alt+up/alt+down. У меня не получилось.
2018-04-15 10:48 Теория ООП Интерфейс. Создаём новую игру. + 20 24 мин.
Метод SetNewVirus, скорее всего сперва проверяет метод FindNewVirus. Если он возвращает true, то зараженных игроков он делает незараженными, а последнего незараженного - зараженным.
FindNewVirus - скорее всего, проверяет, является ли число зараженных игроков равным единице. Если да, то возвращает true.
Ничего, спасибо за урок.
2018-04-14 17:18 Теория ООП Интерфейс. Изменяем правила игры. + 23 21 мин.
Помню, на просторах интернета была очень похожая flash-игра. Где ты мышкой управляешь одним квадратом, а другие квадраты, увеличивая свою скорость, беспорядочно бегают по экрану и ты своим квадратом должен от них уклоняться (в условиях очень ограниченной площади). В описании ещё было сказано, что якобы американские пилоты истребителей могут уворачивать свой квадрат до 2-х минут времени (хотя там и 20 секунд продержаться сложно). Может быть и не совсем то, но, я думаю, данную игру тоже можно как-то реализовать с помощью интерфейса.

Ничего. Спасибо за урок.
2018-04-14 15:56 Теория ООП Интерфейс. Кружочки гоняются друг за другом. + 23 1 час. 6 мин.
Насчет недочета с переголением: не совсем понимаю, чем Евгению Витольдовичу не понравилась идея сделать так, чтобы при столкновении, оба шара меняли направление? Это ведь как в жизни получится. Неужели это более правильно - когда шары проходят друг через друга?
Насчет моей личной идеи - во время заголения можно сделать ещё одну проверку: создать новый флаг, показывающий, находятся ли шары друг на друге. Не совсем точно конечно выразился, но, думаю идея понятна - сделать ещё одну проверку против переголения.
Спасибо за урок.
В теории - ничего, но чувствую, потом придется ещё несколько раз все это разбирать.
2018-04-14 13:44 Теория ООП Интерфейс. Кружок готов к игре! + 23 47 мин.
Спасибо за урок.
Я думаю, что запустить игру можно с помощью Tick(). И при этом нужно как-то выбрать первого голю.
По какому принципу идет проверка на то, поймал ли голя неголю понятно. Довольно сложно понять нюансы создания нового кружка на основе его другого конструктора.
Спасибо за урок. Как всегда, довольно четко, по делу и не очень долго.
2018-04-14 10:47 Теория ООП Интерфейс. Кружок хочет играть. + 22 18 мин.
Все лучше начинаю понимать суть Интерфесов. Единственное что, мне не понятно, почему Евгений Витольдович так откомментировал какое-то замечание в чате об интерфейсе - "какой же это полиморфизм?". Но ведь суть интерфейсов как раз и относится к одному из способов полиморфизма. Отличие реализации полиморфизма через интерфейсы от реализации через наследование классов лишь в том, что интерфейсом мы "объединяем" те классы, между которыми нет "родства", т.е. нет ничего общего. Хотя что то, что это - полиморфизм как он есть. Или я не прав?
Ничего. Мы начали реализовать интерфейс Игрок в классе Circle.
2018-04-14 10:25 Теория ООП Интерфейс. Запускаем кружки на площадку! + 22 38 мин.
Все понятно, спасибо.
Ничего, все ясно.
2018-04-03 17:21 Теория ООП Интерфейс. Кружок на площадке. + 20 23 мин.
Повторил создание рандомных чисел.
Ничего. Спасибо за урок.
2018-01-08 18:01 Теория ООП Интерфейс. Площадка для игры. + 15 19 мин.
Класс арена нужен для создания и инициализации поля, где будет игра.
Ничего, спасибо за урок.
2018-01-05 17:14 Теория ООП Интерфейс. Создаём кружок. + 15 12 мин.
Нужно создать метод отрисовки данного кружка-игрока/голи на экране. Плюс - реализовать метод Move - для изменения позиции кружка.
Ничего, спасибо за урок.
2018-01-04 20:19 Теория ООП Интерфейс. Алгоритм игры. + 16 12 мин.
Нужно ещё добавить классы-игроки и реализовать в них интерфейс Игрок.
Ничего, спасибо за урок.
2018-01-04 18:59 Теория ООП Интерфейс. Правила игры. + 15 41 мин.
Узнал как использовать реализованный интерфейс. По сути интерфейс это шаблон объекта, в который мы можем передавать любой объект, который реализуют различные классы.
Алгоритм FindNewLeader() я понимаю примерно так, что мы должны в цикле пробежаться по всем игрокам в списке gamers и в каждой итерации как-то узнать является ли текущий игрок leader'ом.
Алгоритм SetNewLeader(Игрок g): в данный метод передаем Игрок'а g и пишем примерно следующее:  this.leader = g;
Как то так.
Понять как использовать реализованный интерфейс
2018-01-04 09:08 Теория ООП Интерфейс. Зачем он нужен. + 15 22 мин.
Определению интерфейса.
Интерфейс есть объявление набора свойств, методов и событий, который должны реализовывать несколько классов.
После того как интерфейс будет несколько раз реализован различными способами, мы сможем использовать это реализацию в стороннем классе. Где через использование интерфейса как свойства (но это не точно, м.б. ошибаюсь) можем получить его реализованные методы и свойства.
Понять как осуществляется использование реализованного интерфейса.
2018-01-03 16:29 Теория ООП ПОЛУФИНАЛЬНЫЙ УРОК. + 15 9 мин.
Как я понимаю - в данном курсе рассматриваются три принципа ООП, но основное внимание уделяется полиморфизму. Причем в двух его способах реализации - через абстрактные классы и (во второй части) через интерфейсы. Этот принцип - самый сложный из всех, поскольку понять суть наследования и инкапсуляции гораздо проще.
Конечно же все эти перепитии между классами в рамках полиморфизма - кто что у кого наследует, реализует, переопределяет....
2018-01-03 16:19 Теория ООП Перемещение Снеговиков + 15 25 мин.
Узнал ближе оператор переопределения методов virtual.
Придется ещё раз перечитывать в интернете всю инфу про ООП, перегрузки, наследования, переопределения,...
Так довольно сложно разом "проглотить" столько нового.
2018-01-03 15:53 Теория ООП Перемещение других фигур + 15 23 мин.
Передвигать фигуры.
Ничего. Спасибо за урок.
2018-01-02 12:47 Теория ООП Перемещение круга + 15 44 мин.
Все понятно: создаем точку и окружность в Demo и там же перемещаем её на 100.100. Потом, по нажатию кнопки при вызове Move  меняем значение position и отрисовываем окружность с прибавленной position.
Ничего, но туго до меня доходит связь между классом shape и классами фигур. Постоянно ищу методы или поля в одних классах и обнаруживаю их в классах-предках.
2018-01-02 11:53 Теория ООП Спрайт для Снеговика + 15 37 мин.
Узнал про коллекцию List.
Плохо понимаю разницу между "List<Shape> shapes"
и
"List<Shape> shapes = new List<Shape>()"  ??
В первом случае при попытке вызвать значение shapes - получится ошибка, потому что переменная shapes не проинициализированна. Во втором случае - выведется лишь название типа переменной shapes. И в чем разница в обоих случаях, если значение переменной shapes  в обоих сучаях равно null ?

Спасибо за урок.
2018-01-01 19:07 Теория ООП Мощь полиморфизма + 15 27 мин.
Научился переопределению методов в дочерних классах. Вызываем метод класса Shape, но вызывается тот метод, который принадлежит классу текущего объекта массива shapes.
Для меня, как человека, впервые столкнувшимся с переопределением методов как с одним из примеров полиморфизма - все это довольно сложно для понимания. Особенно учитывая, что я постоянно забываю, что массив Shape состоит из объектов,  классы которых наследуются от класса Shape. Для меня это трудно понять, что все классы мы наследовали, чтобы потом запихнуть все в простой массив.
Отсюда следует вопрос - почему бы нам вместо наследования было просто не воспользоваться коллекцией ArrayList, которая принимает в себя элементы любых типов(классов)?
Так что думаю, что с последним заданием - "порадоваться силе полиморфизма" я пока не справился.
2018-01-01 18:39 Теория ООП Переезд graph в базовый класс + 15 33 мин.
Приходит более ясное понимание что есть ООП. В данном уроке мы "разгромождаем" класс Form1.
Ничего.
2017-12-25 20:53 Теория ООП Переезд метода Draw + 15 24 мин.
Все понятно, правда пока не понятно конечная цель того, что мы тут начали делать.
Спасибо за урок.
Ничего.
2017-12-25 19:57 Теория ООП Приведение с мотором + 15 21 мин.
Осуществлять проверку типа объекта.
Скорее всего, переменная position понадобится нам для установки координат рисования каждой фигуры.
Ничего, спасибо за урок.
2017-12-25 13:45 Теория ООП Фигуральный базовый класс + 15 31 мин.
Создавать экземпляр класса, который является массивом из объектов наследуемых классов.
Ответ на вопрос: как уже предложили -  можно сделать через case, в котором проверять тип объекта и уже исходя из него - вызывать нужный Draw. Можно через if, в котором проверять каждый объект на принадлежность типу с помощью метода gettype().
Точно и ясно понять, что из себя представляет экземпляр класса Shape. Если я правильно понял - это все таки один (именно что один , а не массив)  объект класса Shape, который есть массив объектов, которые уже есть экземпляры наследуемых классов. Сложновато, но я думаю, что разберусь со временем.
2017-12-21 17:30 Теория ООП Богатое наследство + 15 19 мин.
Укрепил понимание оператора base. Понял как правильно нужно задействовать поля, которые определены в конструкторе базового класса.
Про наследование знал до этого.
Ничего, спасибо за урок.
2017-12-21 17:10 Теория ООП Второй Снеговик + 15 21 мин.
Если будем изменять его габариты/местоположение за счет движения мышки - то создать событие движения мышки и привязать координаты расположения курсора к переменным-координатам наших точек. Если за счет нажатия на клавиши - то при возникновении события нажатия на клавиши - изменять значения переменных-координат точек. Пока вижу только так. Ну, или, как уже предложили в комментах - можно начать изгаляться, и делать ползунки/прогрессбары и уже делать события для них.
Пока вижу только такие решения.
Ничего, спасибо за урок.
2017-12-20 10:55 Теория ООП Рисуем Снеговика + 15 29 мин.
Уж извините за мою лень, но я полностью повторил Вашего снеговика.
Вообще, когда в начале урока увидел Вашу картинку, первое, что пронеслось в голове, это - "е..ааааать. Чтоб такое нарисовать, нужно, наверно, не 15 минут урока, а где-то часа полтора. Оказалось все намного и намного проще. Всего-то навсего создаем и инициализируем точки, по ним уже рисуем фигуры"
Спасибо за урок.
Ничего.
2017-12-14 17:56 Теория ООП Цветные карандаши + 15 50 мин.
Все понятно, спасибо.
Да, программа слишком усложнилась. Это я заметил ещё когда мы насоздавали кучу конструкторов для окружности.
2017-12-14 12:18 Теория ООП Расстояние между пикселями + 15 33 мин.
Наверно, находить дистанцию между двумя пикселями.
Я уже при таком количестве конструкторов для окружности начинаю терять понимание как и на основе чего мы создаем окружность.
2017-12-13 12:03 Теория ООП Пиксели для классов + 15 36 мин.
Вызывать конструктор одного класса при вызове конструктора другого класса.
Понять принцип вызова конструкторов один из другого.
2017-12-13 11:20 Теория ООП Структура vs Класс + 15 1 час. 54 мин.
Лучше начал понимать разницу между структурой и классом.
Почти ничего. Но почему то при наследовании у меня появлялась ошибка - нужно было в наследуемом классе переопределить конструктор, не знаю до сих пор почему так.
2017-12-12 22:26 Теория ООП Структура пикселя + 15 25 мин.
Научился создавать точки.
Ничего.
2017-12-12 21:59 Теория ООП Круглый класс + 15 18 мин.
Рисовать окружность
Ничего.
2017-12-12 18:57 Теория ООП Второй класс + 15 20 мин.
Все понятно.
Ничего.
2017-12-12 18:04 Теория ООП Первый класс + 15 26 мин.
Создавать примитивные классы уже умел.
Ничего.
2017-12-11 23:09 Теория ООП Урок рисования + 15 20 мин.
Рисовать линии и прямоугольник на pictureBox.
Понять по какому принципу мы рассчитываем координаты точек линий и размер стен.
2017-12-11 22:48 Теория ООП Инкапсуляция мечты + 16 28 мин.
Инкапсуляция - намеренное скрытие одним программистом определенных методов и свойств класса(объекта) от других программистов. Чтоб каждый программист занимался строго своей логикой со своими методами и свойствами и не смог повлиять или получить свойства и методы другого программиста. Как игроки, мы не можем изменить внешность юнита из Старкрафт, изменить его хп/ману, кроме как через определенные интерфейсы. Нам доступны только определенные методы, как то - движение, атака, добыча, строительство. и т.д. И даже к этим методам мы можем подобраться строго через интерфейс (но я пока плохо понимаю что есть интерфейс в ООП. Плохо понимаю зачем он нужен, если мы и так можем ограничить доступ к свойствам и методам в классе через оператор private).  Не говоря уже про то, что мы не видим кода, который реализует эти действия.
Понимание интерфейса.
2017-09-15 09:05 Демо софт Квадратный калейдоскоп + 16 2 час. 00 мин.
Рисование фигур.
Если честно - тяжелый урок. Еле досмотрел до конца. И до сих пор сижу и разбираю, что откуда вызывается и рисуется. Но не жалею. Думаю, потом разбор кода будет даваться полегче. А умение рисовать фигуры в Винформах когда-нибудь окажется полезным.
Как всегда - спасибо за ценные уроки.
2017-09-14 12:43 Демо софт Текстовый процессор + 16 1 час. 00 мин.
Писать простейший текстовый редактор.
Не распознавались русские символы в открываемом файле. По совету из интернета, при открытии файла поставил кодировку Encoding.GetEncoding(1251). Все стало правильно отображаться.
Спасибо за видеоурок.
2017-09-14 09:54 Нанософт Средняя оценка + 16 1 час. 00 мин.
Немного (но лишь совсем немного, до полного понимания ещё далеко) прояснилась суть делегатов(как я понял - позволяет "швыряться" методами аки объектами или примитивными типами данных).
Научился делать всплывающие подсказки в Винформах.
Делегаты, конечно же.
Спасибо за урок.
2017-07-12 08:02 Демо софт Менеджер паролей + 16 1 час. 20 мин.
Открывать программно сайты. Работать с сендером. Копировать в буфер обмена.
Ничего.
Добрый день! В самом конце я напутал привязки событий к объектам. Потом все таки разобрался.
2017-07-05 09:21 Демо софт Английские карточки + 16 2 час. 00 мин.
Получать доступ к полям класса из другого класса. Работать с блокнотиками и вообще делать массивы из файлов, картинок и т.д. и работать с ними. Работать с плеером.
Ничего. Словарь по своей структуре мне показался сложноватым.
Спасибо за урок. Не жалею, что потратил целое утро на это.
2017-07-03 17:38 Демо софт Двенадцать месяцев + 16 30 мин.
Узнал о классе "Календарь".
Ничего
Спасибо за урок.
2017-06-22 18:21 Демо игры VIP. Устный счёт + 16 1 час. 00 мин.
Работать с прогресс-баром.
Ничего.
Добрый день!
Добавил таймер.
Спасибо за урок.
2017-06-21 19:54 Демо софт Вам телеграмма! + 16 10 мин.
Устанавливать телеграмм на смартфон и ПК.
Ничего.
Добрый день!
Уже подумываю над присоединением к Клубу Формулистов.
2017-06-20 17:45 Демо игры ФИНАЛЬНЫЙ УРОК + 16 20 мин.
-
Ответ ниже.
Евгений, добрый день!
Чувствую, что нужно к чему то в жизни стремиться. Пока есть свободное время и возможности - буду стремиться к чему то лучшему, а именно - стать разработчиком на C#. Вышка программиста у меня уже есть, но в институте меня больше заботило как побыстрее и малокровнее закрыть текущую сессию, а не те знания, которые мне нужно успеть получить за эти пять лет. Но можно сколь угодно сидеть и лить слезы, о том, что тебе уже 25-30-35, а ты все ещё никто и не знаешь чего хочешь от жизни. А можно плюнуть на возраст и каждый день идти к тому чтобы стараться достойно прожить оставшийся кусок жизни, что я и пытаюсь сейчас сделать.
Евгений, и все те, кто с тобой работает над этим проектом - спасибо вам что стараетесь сделать что-то достойное и как-то улучшить жизнь других людей. Людей, которые ещё не до конца отчаялись и что-то хотят от этой жизни. Людей, вроде меня.

С уважением, Дмитрий Римов.
2017-06-17 18:36 Демо игры Камень ножницы бумага + 16 2 час. 00 мин.
Работа с панелью и пикчербоксами. Создавать рандомные числа. Работать с тэгами.
Ничего.
Спасибо за урок.
2017-06-09 22:08 Демо игры Бот для Быстрощёлка + 16 25 мин.
Работа с объектом tableLayoutPanel.
Ничего
Спасибо за урок
2017-06-06 08:06 Демо игры Игра Быстрощёлк + 16 1 час. 00 мин.
Работать с диапазонами времени.
Ничего.
Добрый день! Спасибо за урок.
2017-06-02 21:38 Демо игры Лабиринт 2D - игра + 16 3 час. 00 мин.
Работать с таймером. Изменять координаты объекта в реальном времени.
Сделать передвижение "черепа" за курсором.
Добрый день! Итак, у меня два уровня. И если первый уровень самый простой и примитивный, то на втором уровне я сделал лейбл с нарисованным черепом. Для черепа сделал отдельный таймер, который постоянно высчитывает новую позицию местоположения самого черепа относительно курсора, т.е. 'бегает' за курсором. + нарисовал лаву и появляющиеся белые шипы.
Ниже код для постоянного перемещения label с именем skull к курсору.

private void timer_sk_Tick(object sender, EventArgs e)
        {
            Point point = new Point();
            point = PointToClient(Cursor.Position);   
            if (point.X < label_skull.Left )
            {
                label_skull.Left--;
            }
            else if (point.X > label_skull.Left)
            { label_skull.Left++; }
            if (point.Y < label_skull.Top)
            {
                label_skull.Top--;
            }
            else if (point.Y > label_skull.Top)
            { label_skull.Top++; }
2017-05-29 14:30 Демо игры Лабиринт 2D - меню + 16 30 мин.
Запускать проигрывание wav-звуков в программе.
Ничего
Добрый день! Спасибо за курс.
2017-05-29 10:08 Демо игры Картинка с секретом + 16 1 час. 00 мин.
1. Делать прозрачные ico-картинки. Устанавливать иконки для окна программы и для exe-файла.
2. Добавлять файлы в Resources.
3. Работать с X-Y-координатами окна.
Делать прозрачные ico-картинки. Устанавливать иконки для окна программы и для exe-файла. Пришлось устанавливать Paint.Net, искать для него dll для работы с ico, волшебной палочкой удалять белые места для прозрачности. С остальным проблем не возникло.
Хороший курс, спасибо.
2017-05-29 07:50 Демо софт Вступительное слово + 16 1 час. 00 мин.
Устанавливать языковой пакет на VS 2015
Пока ничего.
Добрый день! Планирую и дальше совершенствоваться в языке программирования C# с помощью Ваших уроков. Спасибо Вам и всем, с кем Вы занимаетесь данным проектом, за вашу работу. Хочется надеяться, что у меня все получиться. Прикрепляю скриншот моей последней программы - Калькулятор - которую я писал ещё ооочень давно.

С Уважением, Дмитрий.
  Шарики Шарики. Вступление   Открыто


  Нано-игры Арканоид - Уровень и ракетка   Открыто


  Нанософт Прохождение теста   Открыто


  Карточки памяти Подготовка формы   Открыто


  Морской Бой Планирование   Открыто


  Графические циклы Подготовка графики   Открыто


  Секундомер Моральная подготовка   Открыто


  Итератор Итератор. Разложение числа на простые множители.   Открыто


  Новые технологии VIP урок. Игра Жизнь   Открыто


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





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

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

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

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


Научился: Наверно, находить дистанцию между двумя пикселями.
Трудности: Я уже при таком количестве конструкторов для окружности начинаю терять понимание как и на основе чего мы создаем окружность.



Научился: Узнал про коллекцию List.
Трудности: Плохо понимаю разницу между "List shapes" и "List shapes = new List()" ?? В первом случае при попытке вызвать значение shapes - получится ошибка, потому что переменная shapes не проинициализированна. Во втором случае - выведется лишь название типа переменной shapes. И в чем разница в обоих случаях, если значение переменной shapes в обоих сучаях равно null ? Спасибо за урок.