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

Формула программиста
основатель — Волосатов Евгений Витольдович

Демо софт / VIP. Калейдоскоп

  • На этом уроке мы будем работать с графикой.
    На панели нарисуем графические примитивы
    и симметрично их многократно дублируем.
    Прежде чем начать писать программу,
    почитай о Калейдоскопе на Википедии.

    Задание:
    Написать квадратный калейдоскоп.
  • Дата отправки отчёта: 11 февраля 2016 г.
  • Задание выполнено: за 5 час. 20 мин.
  • Чему научился: Научился зеркальному отображению объектов!
  • Что было сложным: Работа с графикой и расчет координат!
  • Комментарии: Такое простое задание делал так долго потому что работал на старом пк :( Мой пк был немного занят!
  • Оценка видео-уроку:
Отчёт от 8810 за Демо софт / VIP. Калейдоскоп




Оцени работу

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

2146. Иван
Иван
ответить
→  Орехов Эдуард  # Прикладные / Калейдоскоп / 2016-02-12 00:42

Красивые картинки получаются - настоящий калейдоскоп!


  • Отчёт оценивали:
    6925Артём+1   7157muxasio+1   8886Михаил Ермишин+1   6195sergey+1   4992Николай+1   2639Морозов Юрий Александрович+1   1Евгений Волосатов+1   7645Александр Львович+1   5760Мариша +1   8275Tekashnik+1   4395Денис+1   459Сергей Сергеевич+1   3747Сергей+1   8946inward+1   7276Ильшат+1   4467Alcatraz+1   2146Иван+1   9160Сергій+1   6271Olly+1   9263Андрей Н.0   3664данила+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: рисовать на панелях. динамических их создавать. улучшил понимание статики.
Трудности: Я отменил предыдущий свой отчет, так как в программе была ошибка с отображением треугольников.
На утро со свежей головой решил все таки разобраться в чем дело, с помощью пошагового прохода программы нашёл все таки ошибку. я так ее и не понял. ОБЪЯСНИТЕ пож-та кто сможет. для рисования треугольника у меня генерировался статический массив Point[] points; Позднее в зависимости от того как должна отражать панель, я создавал вспомогательный массив tempPoints[]; первое что я делал это присваивал tempPoints = points; а далее изменял координату Х или Y или сразу обе в вспомогательному массиве, и уже его передавал в функцию "рисовать". и внимание вопрос! ПОЧЕМУ у меня при таком присваивании менялся и родительский статический массив? Вот код одного из вариантов. После такого кода родительский массив также менялся. Не могу никак понять почему. if (!x && y) { tempPoints = points; for (int i = 0; i < points.Length; i++) { tempPoints[i].X = width - points[i].X; tempPoints[i].Y = points[i].Y; } graph.FillPolygon(brush, tempPoints); } Решение было лишь в том что вместо tempPoints = points; создавал новый tempPoints = new Point[points.Lenght]; Теперь конечно все работает, но что это блин за магия
Научился: Узнал много нового о калейдоскопах и научился создавать виртуальный квадратный калейдоскоп.
Трудности: Когда я решил выводить новую фигурку - дольку. Без пробежек по граблям не обошлось - постоянно валилось - оказывается у дольки должна быть минимальная ширина 1 и высота 1 - иначе сишарпик очень огорчается.
Вот эта задачка прям как вишенка на торт и красивая и математическая и творческая. Я не стал с треугольничками замарачиваться. Хотя можно было бы и квадратики и многоугольнички делать - вот с дольками было интересно.