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

Формула программиста
основатель — Волосатов Евгений Витольдович
Шаблоны Проектирования / Java

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

  • Пятый урок
    На этом уроке мы закончим создание хранителя экрана.
    Мы создадим класс Polygone для хранения многоугольника.
    Также добавим в класс Graph метод для его рисования.
    В результате получится забавный анимированный многоугольник + потенциал для дальнейшего развития программы.
  • Дата отправки отчёта: 11 июля 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: потренировалась в переносе классов, с созданием и использование списков (класс List<>), увидела как работать с классном Polygon, работать с координатами
  • Что было сложным: долго подгоняла координаты
  • Комментарии: Шикарный урок! Очень хорошо потренировалась и получила такую красоту и интересную программу! Спасибо Евгений за очередное мое чудо! :)
  • Оценка видео-уроку:
Отчёт от 24 за Хранитель экрана / Новый класс Polygone




Оцени работу

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

24. Оля
Оля
ответить
→  Юрий С.  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 19:00

Спасибо, Юрий, мне приятно что тебе тоже понравилось!
Я очень люблю сочное, яркое, живое! :)


4803. Юрий С.
Юрий С.
ответить
→  Оля  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 18:55

Симпатичная палитра красок у твоего скринсейвера. :)



1901. Neverwinter 2
Neverwinter 2
ответить
→  Оля  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 14:16

У, красота какая! Супер!!


24. Оля
Оля
ответить
→  Валерий  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 14:07

Валерий, это очень мило, Спасибо тебе огромное за поддержку и за добрые слова! :)


791. Валерий
Валерий
ответить
→  Оля  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 14:01

А на экране одна всего звезда,
За нее "Хорошо" поставлю я,
И пусть ту красоту увидит Земля,
Ты с заданием справилась! Да-да!


24. Оля
Оля
ответить
→  Евгений Витольдович  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 13:04

Евгений, Спасибо большое тебе, все с твоей помощью!
Вот звезду не я первая нарисовала, первая звездочка была Павел Журавлевич (2353), а потому и у Сергей Сергеевич (459) тоже красивая вышла!
Спасибо тебе Огромное за эту программу, два дня увлекательной и интересной работы! :)


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Оля  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 12:57

А главное,что всё такое разноцветное :)))


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Оля  # Хранитель экрана / Хранитель экрана. Новый класс Polygone / 2015-07-11 12:57

Ну вот, хоть один человек выполнил точно по заданию - нарисовал пятиконечную звезду!
Спасибо тебе, Оленька! Отличная работа.



Начинаем практику по языку 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 -й с ошибкой.
Научился: Закрепил знания в такого рода анимации.
Трудности: все интересно и не сложно.
Замечание: я считаю что более затратно(немного даже ущербно) стирать полигон линиями если можно просто закрасить задний фон в функции 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); } }