Online обучение c#

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

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

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

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

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

Дата Видеоурок Результат
2018-02-17 09:18 Нанософт Твоё портфолио + 15 18 дней 23 час. 49 мин.
Объяснение того, чем лучше размещать комментарий в textBox, а не в label:
можно использовать ScrollBar, а также текст можно копировать в буфер.

Использование класса Process из пространства имен System.Diagnostics для
запуска exe-файла.

Особенность языка Си - слеши надо "экранировать" - если используется обратный слеш, то его
надо написать два раза.

Использование класса Process.Start для того, чтобы открыть ссылку в интернете.
Хороша сама идея объединения своих программ в одном месте. Теперь надо поддерживать этот проект в актуальном состоянии.
2018-01-29 07:56 Карточки памяти Отображение карточек + 15 3 дня 23 час. 23 мин.
Работа с PictureBox: обработчик события MouseClick единый для всех рисунков;
в обработчике можно привести sender к типу контрола и в результате получить
конкретное свойства данного PictureBox:
  int nr = int.Parse(((PictureBox)sender).Tag.ToString());
 
Конструкция cards[j] = j % (cards.Length / 2) + 1;, где cards.Length = 16 позволяет
дважды записать каждое число от 1 до 8 в cards[j] (% - остаток от деления).

Работа с меню: задание горячих клавиш.

Использование курсоров для картинок: .Cursor = Cursors.Hand - курсор мышки в виде руки,
Cursors.Arrow - курсор мышки в виде стрелки.

Понравилось использование массивов для постороение логики игры: по номеру элемента массива
получаем и картинку и PictureBox - и затем в PictureBox записываем картинку.

Понятно и красиво выстроена логика программы.
Но если бы пришлось с нуля делать самому; то, возможно, с первого раза получилось бы не так рационально.
Если бы пришлось с нуля делать самому; то, возможно, с первого раза получилось бы не так рационально.
2018-01-24 19:57 Карточки памяти Подготовка формы + 15 5 дней 57 мин.
Использования для многострочного текста символа "@" в начале текста.
Это удобный способ для задания многострочных констант.
Если его убрать - то можно задавать каждую строчку отдельно.

Объяснение работы с кнопками при вызове MessageBox.Show, и также то -
как получить возвращаемое значение из MessageBox через DialogResult.

Работа tableLayoutPanel - добавление строк и столбцов; Dock, CellBorderStyle = Single,
(Column and Rows Style).Percents.

Работа с PictureBox - настройка: Margin, Dock, BorderStyle, BackColor.
Сложностей особых не было. Кое-что из этого делали на прошлых уроках.
2018-01-23 07:13 Нано-игры ФИНАЛЬНЫЙ УРОК + 15 6 дней 11 час. 6 мин.
Пользоваться программой oCam, записывать видео и размещать его на youtube.
Я записывал и размещал видео в первый раз. Старался внимательно изучить - как это делается. Спасибо Евгению за подробное описание!
2018-01-16 19:23 Нано-игры Бот для Цифр + 15 11 час. 4 мин.
Интересна идея - программное управление мышкой для нажатия на кнопок.
Думаю, что этим можно воспользоваться для решения определенных задач.

Интресна реализация идеи - сначалоа сохранить координаты мышки
и потом воспроизвести их.

Узнал про  " + Environment.NewLine".
А я раньше всегда писал " + \n\r")

Узнал, что к тексту в TextBox можно обращаться как к массиву через свойство Lines:
for (int i = 0; i < text_x.Lines.Length; i++)
{
    x = Convert.ToInt16(text_x.Lines[i]);
    y = Convert.ToInt16(text_y.Lines[i]);
}

Понравилось использование события mouse_event для имитации клика мышки ->
to simulate mouse click in c#:)

Думаю, что применить эту программу можно там где надо выполнить стандартную последовательность кликов
на форме или в броузере. Можно добавить к каждому клику ввод с клавиатуры - и тогда можно формы автоматически заполнять.
Например, ввести пароль.
Урок интересен тем, что продолжает предыдущий урок. И эти два урока теперь воспринимаются целиком.
2018-01-15 16:35 Нано-игры Игра Цифры + 15 3 дня 8 час. 14 мин.
Интересно и понравилось:

- работа с MenuStrip
- задавать горячие клавиши в MenuStrip
- использование tableLayoutPanel для упорядочивания кнопок

Понравилась, что одновременно задаются свойства всех кнопок
при их совместном выделении (Dock, Text, Margin и пр).
И функция обработчика события единая для кликов на всех кнопках.

Интересна функция, внутри которой оператор switch ... case, и которая по индексу возвращает
нужный контрол (!) - контрол "кнопка".

Понравилось приведение типа "object" к "Button" с последующим извлечением
свойства -> ((Button)sender).Text или ((Button)sender).Visible;
Сложностей особых не было.
Игрушка понравилась.
Её можно дать поиграть трехлетнему ребенку - хороша для изучения цифр.
2018-01-14 10:05 Нано-игры Скорость реакции. Алгоритм и рекорд + 15 5 дней 1 час. 5
Понравилось:
использование одной (!) функции события по нажатию сразу на одну из трех картинок.
работа с секундомером Stopwatch
использование таймера - в том числе и при расчетах следующего появления картинки


Чтоб прогресс-бар работал плавно (красивее) можно каждый раз увеличивать его не с шагом 1.
А, например, с шагом 100. Для этого делаем:
        progress.Maximum = total_clicks * 100; // можно 100 в виде отдельной переменной добавить

        private void NextClick()
        {
            ...
            click_nr += 100;
            ...
        }

        private void picture1_Click(object sender, EventArgs e)
        {
            ...
            NextClick();
            progress.Value = click_nr; // плавно идет прогресс-бар
        } 
Побить рекорд Евгения... Так и не побил)
2018-01-07 15:00 Нано-игры Скорость реакции. Три картинки по таймеру + 15 6 час. 36 мин.
Научился:

добавление ресурсов (картинок) в приложение через свойство проекта
использование элемента PictureBox
добавление картинок в PictureBox с использованием режима "изменение размера", чтоб
вписать картинку в PictureBox
использование таймера для визуального эффекта

2018-01-07 14:58 Нано-игры Скорость реакции. Блок-схема + 15 6 час. 51 мин.
Думаю, что это полезно и правильно:
перед началом написания программы изложить на бумаге то, какими видятся её компоненты и алгоритм работы еще до написания.
И потом в процессе разработки это, скорее всего, будет скорректировано и улучшено.
Из всего, что было: терпеливо вычертить правильную схему
2018-01-04 10:28 Нано-игры Арканоид - Шарик и кирпичики + 15 1 день 17 час.
Интересна ключевая роль таймера в работе программы:
  Фактически - здесь таймер это движок для шарика, поскольку последовательно вызывает
  функцию перемещения шарика. Этот движок включается клавишей Enter.

Интересно то, что здесь - во второй части после первой части - уже можно предположить следующие действия по написанию кода.
Поскольку, есть аналогия движения ракетки (из уже пройденной первой части) и движения шарика (в этой второй части).

Понравилось представление одного пункта - например, пункта "Алгopитм oтcкoка от paкетки" -
в виде отдельных составляющих и их связей между ними.
Например, отдельные координаты bx1, bx0 и bx шарика связаны с координатами ракетки. И угол отскока определяется
тем, какая из координат активна в момент касания ракетки. Таким образом, задача наглядно разделена
на простые составляющие.

Понравился способ закрытия модального окна: DialogResult = System.Windows.Forms.DialogResult.Abort или Оk; - это кратко и рационально,
но об этом надо знать.

Понравилось использование рандомайзера в игре - static Random rand = new Random();

Своё: Добавил метку для подсчёта выбитых кирпичиков.


Осознанно пройти от начала и до конца - всё-таки урок достаточно продолжительный.
2018-01-02 10:59 Нано-игры Арканоид - Уровень и ракетка + 15 3 час. 10 мин.
Это один из самых первых видеоуроков.
Но для его выполнения уже нужна хорошая подготовка и понимание.
А значит выполнение следующих уроков даст высокий уровень подготовки, который необходим для работы.

Повторил и научился следующему:

задание фона формы
создание и вызов дочерней формы в модальном виде
добавление иконки к форме + встраивание в exe-файл через свойство проекта
обработка событий KeyDown и KeyPress:
  чем отличаются
    KeyPress - и нажали, и отпустили,
    KeyDown - больше свойств; подходит для игры - здесь обработка нажатия
 
расчёт координат элемента управления на форме
перемещение элемента на форме с помощью Point
  например: p.Location = new Point(x, y);
В принципе, не было больших сложностей.

Но из того, что делали, наиболее сложное (и интересное):
это во время написания пунктов работы будущей программы -
мысленно представить её структуру в виде взаимосвязанных частей кода.
2017-12-31 08:03 Демо игры C# чего начать программировать + 16 17 мин.
Добрый день!

Хочу лучше овладеть языком. Чтоб писать программы быстрее, увереннее, качественнее и рациональнее.
Надеюсь, что проект - задачки, общение и видеокурсы - помогут мне в этом.


  Нанософт Шахматные часы   Открыто


  Нанософт Баскетбольное табло   Открыто


  Новые технологии Модульное тестирование   Открыто


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


  Бурные потоки Вступление   Открыто


  Нано-игры VIP урок. Игра 2048   Открыто


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





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

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

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

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


Научился: Добрый день! Хочу лучше овладеть языком. Чтоб писать программы быстрее, увереннее, качественнее и рациональнее. Надеюсь, что проект - задачки, общение и видеокурсы - помогут мне в этом.



Научился: Это один из самых первых видеоуроков. Но для его выполнения уже нужна хорошая подготовка и понимание. А значит выполнение следующих уроков даст высокий уровень подготовки, который необходим для работы. Повторил и научился следующему: задание фона формы создание и вызов дочерней формы в модальном виде добавление иконки к форме + встраивание в exe-файл через свойство проекта обработка событий KeyDown и KeyPress: чем отличаются KeyPress - и нажали, и отпустили, KeyDown - больше свойств; подходит для игры - здесь обработка нажатия расчёт координат элемента управления на форме перемещение элемента на форме с помощью Point например: p.Location = new Point(x, y);
Трудности: В принципе, не было больших сложностей. Но из того, что делали, наиболее сложное (и интересное): это во время написания пунктов работы будущей программы - мысленно представить её структуру в виде взаимосвязанных частей кода.