Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Большой Новогодний подарок от Игромистра
Безденежный доступ к видеокурсам за Мегахеши

Хранитель экрана / Новый класс Polygone

  • Пятый урок
    На этом уроке мы закончим создание хранителя экрана.
    Мы создадим класс Polygone для хранения многоугольника.
    Также добавим в класс Graph метод для его рисования.
    В результате получится забавный анимированный многоугольник + потенциал для дальнейшего развития программы.
  • Дата отправки отчёта: 9 июля 2015 г.
  • Задание выполнено: за 30 мин.
  • Чему научился: Закрепил знания в такого рода анимации.
  • Что было сложным: все интересно и не сложно.
  • Комментарии: Замечание: я считаю что более затратно(немного даже ущербно) стирать полигон линиями если можно просто закрасить задний фон в функции Erase:
            public void ErasePolygone(Polygone poly)
            {
                graph.FillRectangle(new SolidBrush(penBack.Color), 0, 0, bmp.Width, bmp.Height);
            }
        }

    Так же хочу посоветовать для создания полигона с множеством параметров params:
            public Polygone(params Figure[] f)
                : this()
            {
                foreach (var el in f)
                {
                    poly.Add(el);
                }
            }
  • Оценка видео-уроку:
Отчёт от 6329 за Хранитель экрана / Новый класс Polygone




Оцени работу

 
Сохранить страницу:

6329. Никита
Никита
ответить
→  Евгений Волосатов  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-09 20:48

ну я говорил про данный случай.
Хотя, можно хранить в коллекциях все статические объекты и когда очищаем, все объекты перерисовать из коллекций=)


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Никита  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-09 19:22

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



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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Создавать 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 -й с ошибкой.
Научился: Приемы использованные Магистром для меня очень ценны
Трудности: Структура программы быстро и существенно менялась, было непросто уследить за сутью
Отличный урок, по практическому применению ООП. Для меня сейчас то, что надо)