Online обучение c#

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

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

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

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

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

Дата Видеоурок Результат
2015-08-18 18:12 Микроигры Крестики-Нолики. Игра на двоих + 20 4 час. 00 мин.
Написал крестики нолики.
Дожить до конца.

Всё отлично.
2015-08-13 23:15 Карточки памяти Отображение карточек + 10 3 час. 00 мин.
int nr = int.Parse(((PictureBox)sender).Tag.ToString()); //новое sender and parse
Вообще я не так научился языку C#, как изучил алгоритмизацию))
Ну практика колоссальная.

Не запутаться.
Самым сложным было дойти до конца, уже под конец начинал просто переписывать код, хоть и старался вдумчиво это делать.

Всё хорошо.
2015-08-13 14:07 Карточки памяти Подготовка формы + 1 40 мин.
Создавать меню. MenuStrip

Ничего
Всё ок
2015-08-12 19:08 Нано-игры ФИНАЛЬНЫЙ УРОК + 2 1 час. 00 мин.
Записывать видео.
Ничего.
Всё хорошо
2015-08-05 11:54 Морской Бой VIP. Анимированный кубик + 1 3 час. 00 мин.
Создавать анимированый кубик.
Использовал 2 мерный массив.
Более подробно вник в методы рисования на C#, с момента вебинара, благодаря которому я сюда попал.
Использовал вложеный массив.
Ну очень много нового и интерестного.
Массив в массиве.
Как по мне зря, разбивали этот вебинар на 2 урока, теряется концентрация.
А так всё норм.
2015-08-04 17:01 Морской Бой VIP. Анимированный кружок + 10 2 час. 00 мин.
Повторил на практике теорию ООП.
Применили наследование на практике.
Создали пару класов.
Сейчас повторю теорию про глобальные переменные и параметры.
Не забыть вовремя включить таймер.
ВСё гуд.
2015-08-02 22:16 Нано-игры Бот для Цифр + 10 1 час. 00 мин.
Очень много нового))
Увидел, как можно вычислять координаты мыши
Потом, узнал о способе емитации нажима мышки.
  private void button_repeat_Click(object sender, EventArgs e)
        {

            int x, y;

            for (int j = 0; j < text_X.Lines.Length-1; j++)//видоизменение не на 9 а на количество координат
            {
                for (int i = 0; i < text_X.Lines.Length-1; i++)
            {
                x = Convert.ToInt16(text_X.Lines[i]);
                y = Convert.ToInt16(text_Y.Lines[i]);
                DoMouseClick(x, y);
            }
            }
         
        }

Немного видоизменил код под свою версию игры, количество кликов должно быть не 9, а равно количеству координат.
Сложного мало, очень много нового.
Не всё сразу запомнил, точнее много не запомнил, надеюсь опыта прибавилось.
Всё гуд. Продолжаем дальше.
И так на счёт применения:
Можно в дальнейшем добавить таймер, что бы можно было емитировать клики на время..
Я слышал есть такая раббота в интернете смотреть рекламу и ставить: лайки и дизлайки либо ничего не делать(закрывать ёё), ну так вот можно настроить таймер так, что бы он клацал через определённое количество времени выбирая рандомные координаты)
Так же можно использовать для подбора автоматических цыфровых паролей на слабо защищенных система, только массив должен состоять из количества возможных комбинаций)
2015-07-31 21:32 Нано-игры Игра Цифры + 10 3 час. 20 мин.
Конструкцию Switch(n) { case n:} повторил и впервые использовал на практике

Добавить вот эту функцию:  private void game_over()//добавил сам
        {
            string message = @"Ти правильно натиснув(ла) послідовність цифр!
                                Бажаеш ще раз спробувати";
            string caption = " Вітаю, ти молодець";
            MessageBoxButtons buttons = MessageBoxButtons.YesNo;
            DialogResult result;

            result = MessageBox.Show(message, caption, buttons);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                start_game();
            }
            else
            {
                Close();
            }
        }

А точнее её грамотно использовать))
Всё норм
2015-07-30 20:07 Демо игры VIP. Устный счёт + 10 5 час. 20 мин.
Выполнять определенные действия, при нажатии определённых клавиш, например  if (e.KeyCode == Keys.Enter)
Сам добавил обратный таймер

        private void timer_Tick(object sender, EventArgs e)
        {
            if (timeLeft > 0)
            {
                timeLeft = timeLeft - 1;
                label_time.Text = timeLeft + " секунд";
            }
            else
            {

                timer.Stop();
                label_time.Text = " Час вийшов";
                MessageBox.Show(" Ви не встигли!", "Вибачте");
                Game_over();
             
             
            }
        }
Добавить обратный таймер, хоть какой-то

        private void timer_Tick(object sender, EventArgs e)
        {
            if (timeLeft > 0)
            {
                timeLeft = timeLeft - 1;
                label_time.Text = timeLeft + " секунд";
            }
            else
            {

                timer.Stop();
                label_time.Text = " Час вийшов";
                MessageBox.Show(" Ви не встигли!", "Вибачте");
                Game_over();
             
             
            }
        }
Всё гуд, дам программу маме она своим школьникам будет давать для тренировки.
2015-07-28 19:54 Нано-игры Скорость реакции. Алгоритм и рекорд + 10 2 час. 30 мин.
Использовал прогрессбар, очень интерестная штука.
Исправить ошибку.
Ошибку исправил.
Всё хорошо
2015-07-27 21:11 Нано-игры Скорость реакции. Три картинки по таймеру + 10 30 мин.
Повторил как подгружать картинки..

cardNR = cardNR < 3 ? cardNR + 1 :1 ;
Понять в чем суть дела этой строки??
И что означает знак "?"??
Всё хорошо.
2015-07-27 20:11 Нано-игры Скорость реакции. Блок-схема + 10 1 час. 00 мин.
Мало чему))
Повторил создание блоксхем))
Ничего
Всё норм
2015-07-26 15:05 Демо игры ФИНАЛЬНЫЙ УРОК + 1 30 мин.
Запускать ворд)))
Делать скриншот и вставлять в пейнт))
Писать сочинение))
И стараться не допускать ошибок, хоть русский я не изучал в школе
Всё норм
2015-07-25 20:48 Демо игры Камень ножницы бумага + 10 4 час. 00 мин.
Немного использовать функци Ramdom.
Использовать пикчербокс и панель.
Очень много нового и интерестного.
не запутатся
Сейчас немного каша в голове))
2015-07-24 21:20 Демо игры Бот для Быстрощёлка   3 час. 30 мин.
Познакомился с новыми елементами для меня: TabelLayoutPanel, TrackBar
Понять, почему такие результаты получаются, к сожелению так и не понял.
Но придумал немного читерства.
Первый скрин: уменьшил коичество чисел в Быстрощелке до 5.
2-й скрин уменьшел кочиество чисел до 1.
2015-07-24 13:35 Демо игры Игра Быстрощёлк + 10 1 час. 30 мин.
И так: использовал DateTime впервые.
Прочел дополнительную информацию DateTime.
А так почти всё было новое, кроме настройки форм.

Ничего.
Мне всё нравится, я прохожу данный курс, что бы набраться опыта программирования))
Посмотреть, что и как делаю другие люди.
2015-07-23 13:43 Демо игры Лабиринт 2D - игра   5 час. 40 мин.
Создавать игру..
Мне показали много полезных фич, таких как: MouseEnter, визуализация обьектов, немного понял как создавать игры, типа лабиринт)
Придумал свой 3-й уровень.)
Суть 3-го уровня, нашел на форуме, как передвигать лейблы, сделал движущиеся препятствия))
Создать движущиеся препятствия и потом их настроить, что бы они двигались по одной и той же траектории.
private int pixelSpeedX = 20;
        private int pixelSpeedX1 = 21;
        private int pixelSpeedX2=21;
        private int pixelSpeedX3=15;

        private void timer_gorizontal_Tick(object sender, EventArgs e)
        {
            if (label_left.Location.X >= label_run.Location.X - label_left.Width)
                pixelSpeedX *= -1;
            else
                if (label5.Location.X <= label_run.Location.X + label_run.Width)
                    pixelSpeedX *= -1;

            label_run.Location = new Point(label_run.Location.X + pixelSpeedX, label_run.Location.Y);
           

            if (label26.Location.X >= label31.Location.X - label26.Width)
                pixelSpeedX1 *= -1;
            else
                if (label24.Location.X <= label31.Location.X + label31.Width)
                    pixelSpeedX1 *= -1;
            label31.Location = new Point(label31.Location.X + pixelSpeedX1, label31.Location.Y);


            if (label26.Location.X >= label30.Location.X - label26.Width)
                pixelSpeedX2 *= -1;
            else
                if (label24.Location.X <= label30.Location.X + label30.Width)
                    pixelSpeedX2 *= -1;
            label30.Location = new Point(label30.Location.X + pixelSpeedX2, label30.Location.Y);


            if (label26.Location.X >= label29.Location.X - label26.Width)
                pixelSpeedX3 *= -1;
            else
                if (label24.Location.X <= label29.Location.X + label29.Width)
                    pixelSpeedX3 *= -1;
            label29.Location = new Point(label29.Location.X + pixelSpeedX3, label29.Location.Y);


        }
2-й скрин - 3-й уровень
2015-07-21 00:31 Демо игры Лабиринт 2D - меню + 1 2 час. 00 мин.
Подключать аудио файлы.
Заодно и конвертировать.
Решить эту пробелму:
Звуковой API поддерживает воспроизведение только волновых файлов PCM.
Немного порылся на форумах, а потом просто взял файл wav который был и конвертировал в wave, в плеере AIMP
Всё хорошо
2015-07-20 15:10 Демо игры Картинка с секретом   1 час. 30 мин.
Делать шуточную программу.
Узнал как загружать картики в программу...
Интерестное приложение..
Ничего
Возможно займусь модернизацией, что-бы можно было пасхалки в курсовых оставлять, как авторское право)))
Спасибо за идею))
2015-07-12 16:36 Хранитель экрана ПОЛУФИНАЛЬНЫЙ урок   1 час. 00 мин.
Использовать программу oCam..
Записал свое первое видео.
Собраться в кучу))
Всё норм
2015-07-12 00:18 Хранитель экрана Новый класс Polygone   2 час. 40 мин.
Создавать Polygone.
Применил на практике класс - контейнер List<>.
Допустил ошибку, а потом исправил)
Понять алгоритм инициализации точек для рисования :
public void Draw(Polygone polygone, Pen pen)
          {
              Figure f1 = null;
              foreach (Figure f2 in polygone.list)
              {
                  if (f1 != null)
                      DrawLine(pen,f1.GetPixel(), f2.GetPixel());
                  f1 = f2;

              }
              if (polygone.list.Count > 2)
                  DrawLine(pen, polygone.list[0].GetPixel(),
                      polygone.list[polygone.list.Count - 1].GetPixel());
1-й скриншот, программе без ошибки, 2 -й с ошибкой.
2015-07-11 19:39 Хранитель экрана Новый класс Figure + 20 3 час. 00 мин.
Научился рисовать несколько шариков...
Немного расширил умение пользоваться конструкторами, заодно повторил как ими пользоваться.
Понять зачем столько конструкторов.
Выполнить д/з где нужно было создать шары разного цвета, так я и не додумался((

Я надеюсь в следующем уроке покажут, как можно создавать шары разного цвета..
Обязательно посмотрю решение у других учащихся)
2015-07-11 13:01 Хранитель экрана Новый класс Graph + 1 1 час. 20 мин.
Рефакторить код.
Повторил создание классов.
public Graph(int width, int height,
            Color back, Color fore)
            : this (width,height)
        {
            colorBack = back;
            colorFore = fore;

            InitPens();
        }
Вспомнил как еще можно использовать ключевое слово this и перечитал инфу про слово base и понял в чем суть основной разницы.
Понять суть некоторых моментов рефакторинга.
Как вы вызвали окно на 3:30 для замены px на p.x??
2015-07-10 23:34 Хранитель экрана Движение шарика + 20 1 час. 30 мин.
Улучшения читаемости кода (когда улучшали алгоритм, где нужно было ограничить шарик).
Так же усовершенствовал навыки алгоритмизации.

Понят алгоритм роботы ограниченей.
Всё отлично.)
2015-07-10 21:48 Хранитель экрана Создаём графику + 20 40 мин.
Использовать PictureBox, более детально понял, что такое Bitmap,Graphics,Pen
И вообще, повторил вебинар в более спокойной обстановке))

Понять инициализацию графики.
Найти и отредактировать свойства к PictureBox в соответствие с уроком.
Всё хорошо.
Перепрохожу вебинар.
2015-07-08 23:31 Демо софт Вступительное слово + 2 15 мин.
1.Устанавливать визуал студию.
2.Я смотрел вебинар, на тему:Создание графической анимации на языке C#, вот решил арегатся, что бы дописать код, потому что я не успел все записать, а точнее я допустил пару ошибок и время на исправление повлекло за собой последствия.((
3.Последняя программа: Saver
4.Набраться опыта программирования, так как я являюсь новичком.
Ничего сложного
Я пришел сюда набраться опыта программирования, так как я являюсь новичком.
  Нано-игры Арканоид - Уровень и ракетка   Открыто


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





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

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

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

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


Научился: Повторил на практике теорию ООП. Применили наследование на практике. Создали пару класов. Сейчас повторю теорию про глобальные переменные и параметры.
Трудности: Не забыть вовремя включить таймер.
ВСё гуд.


Научился: Улучшения читаемости кода (когда улучшали алгоритм, где нужно было ограничить шарик). Так же усовершенствовал навыки алгоритмизации.
Трудности: Понят алгоритм роботы ограниченей.
Всё отлично.)