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

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

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

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

    Задание:
    Написать квадратный калейдоскоп.
  • Дата отправки отчёта: 18 декабря 2015 г.
  • Задание выполнено: за 1 час. 30 мин.
  • Чему научился: Ничему
  • Что было сложным: Как то сложно с координатами.
  • Комментарии: Отлично
  • Оценка видео-уроку:
Отчёт от 5286 за Демо софт / VIP. Калейдоскоп


Отчёт от 5286 за Демо софт / VIP. Калейдоскоп




Оцени работу

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

2146. Иван
Иван
ответить
→  Коваленко Дмитрий  # Прикладные / Калейдоскоп / 2015-12-19 00:36

Красиво получилось! А если сложно с координатами, написал бы , в чем сложность. Кто-нибудь может увидит и ответит. А потом прочитает этот ответ еще кто-нибудь... Будет всем польза.


24. Олюшка
Олюшка
ответить
→  Коваленко Дмитрий  # Прикладные / Калейдоскоп / 2015-12-18 20:55

Дмитрий, красиво и рада что в итоге и с координатами справился! Молодец! :)


  • Отчёт оценивали:
    6925Артём+1   8596Арсен0   1Евгений Волосатов+1   459Сергей Сергеевич+1   7276Ильшат+1   6391Владимир+1   7645Александр Львович+1   4395Денис+1   8118Юрий +1   4992Николай+1   689Igorenzia+1   2204sergeyvbo0   6203Николай (nick27m)+1   6458Илья+1   24Олюшка+1   8Василевская Елена0   2146Иван+1   5219Nromik+1   3747Сергей+1   2639Морозов Юрий Александрович+1   8310Максим+1   5649Максим Лапшинов+1   1984kw33+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Трудности: Понимание сути отражения фигур. Честно говоря я до сих пор не понял. Матан терпеть не могу. По мне так проще управлять железом или работать с сетью. Поэтому я не стал проходить уроки с играми. Терпеть не могу игры.
1. Слишком сложно. Насколько я понял - цель урока была в реализации алгоритма отражения фигур. Если бв я это делал, то создал бы одну фигуру, размножил бы и показал. Потом бы уже поворачивал. А лучше сделать рисунок анимированный с переменными и чтобы можно было видеть изменения этих значений. Но это конечно возни много с динамическими рисунками. 2 Почему функция init() пишется в файле form1.cs? Получился кусок кода не в том месте, насколько я понимаю. 3 Не понравилось. Названия переменных не отражают их суть. Не знаю как у других, а у меня в голове на протяжении всего урока не было _полной картины_ того, что должно быть сделано, что мы делаем сейчас, что уже сделано и какие переменные когда изменяются. Поэтому понять алгоритм я так и не смог. 4. Предложение. Нужно перед началом урока делать вводную теоретическую часть с рисунками. Не знаю как там другие, а я мыслю образами в голове, поэтому я должен понимать целую картину и держать в голове все эти переменные. Т.е. их как бы предварительно надо инициализировать в голове и выделить под них память. А так они появлялись по ходу написания программы. Я понимаю, что с точки зрения ведущего - это было все очевидно, какая переменная за что отвечает, тем более до этого был вебинар. А вот кто с нуля стал делать по ролику, тому врят ли было понятно. (Когда я учился в высшей технической школе, на экзамене было задание и смысл его был в косметической переделке задания, которое мы делали на лабе 3 часа и кто не был на лабе, тот не смог сдать экзамен по с++, т.к. задание было такое, что без опыта его просто нереально сделать из-за непонимания способа представления реальных вещей в виде кода) Так же надо указывать, в каких пределах переменная поменяется. Т.е. взять размер квадратика 100х100 и нарисовать второй квадратик и показать, что переменная со 100 увеличилась например на 150 и теперь это уже начало или середина второго квадратика. --- Почему-то пропустил этот урок или же он появился недавно? Чисто случайно заметил, что не 100% набрал в этом разделе и решил доделать. Купил курс по ооп еще.
Научился: рисовать на панелях. динамических их создавать. улучшил понимание статики.
Трудности: Я отменил предыдущий свой отчет, так как в программе была ошибка с отображением треугольников.
На утро со свежей головой решил все таки разобраться в чем дело, с помощью пошагового прохода программы нашёл все таки ошибку. я так ее и не понял. ОБЪЯСНИТЕ пож-та кто сможет. для рисования треугольника у меня генерировался статический массив 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]; Теперь конечно все работает, но что это блин за магия