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

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

Теория ООП / Второй Снеговик

  • На этом уроке мы создадим второй спрайт -
    ещё одного снеговика, но разноцветного.

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 12 ноября 2015 г.
  • Задание выполнено: за 30 мин.
  • Чему научился: Менять цвета спрайтов.
  • Что было сложным: Все понятно.
  • Комментарии: 1. Достаточно добавить delta1 для х и delta2 для y и прописать их в каждый пиксель.

    2. Необходимо определить центральную точку, относительно которой будет происходить вращение снеговика. Подойдет точка C.
    Затем положение всех пикселей переопределить относительно этой точки. Затем в каждую из функций добавить угол смещения Альфа. В общем, все очень сложно и  муторно. :-)

    3. Снова определить центральную точку, например C, а все размеры переопределять относительно ее. Отказаться от абсолютных показателей и перепрописать их размер в зависимости от радиуса окружности С, а положение каждого спрайта выразить относительно точки С. Во все спрайты добавить коэффициент.
    И снова все очень сложно.

    В общем, пришло время объединять все спрайты в единый объект, с которым уже можно осуществлять любые операции сжатия, перемещения и т.п.
  • Оценка видео-уроку:
Отчёт от 4814 за Теория ООП / Второй Снеговик




Оцени работу

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

24. Оля
Оля
ответить
→  Дмитрий  # Теория ООП / Второй Снеговик / 2015-11-12 23:37

Дмитрий, классно, ты как обычно Молодец! :)


2146. Иван
Иван
ответить
→  Дмитрий  # Теория ООП / Второй Снеговик / 2015-11-12 20:36

Здорово все проработал!


  • Отчёт оценивали:
    4814Дмитрий+1   7788Ксения+1   6203Николай (nick27m)+1   4889Валера Луцевич+1   459Сергей Сергеевич+1   6925Артём+1   791Валерий+1   1424Татьяна+1   429Максим Базуев+1   2146Иван+1   6458Илья+1   4004Елена+1   7645Александр Львович+1   8125admin" OR 1=1#0   24Оля+1   4853Alexander Sidorov+1   7795Вадим+1   6452Lik_Kirill+1   4395Денис+1   7901Влад+1   7226Наталья+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Делать разноцветного снеговика. Я предполагаю что для того чтобы упростить задачу по управлению снеговиком было бы правильным написать класс, который будет рисовать этого снеговика. В конструкторе класса необходимо будет указать некую точку от которой будет рисоваться снеговик и ширину и высоту требуемого изображения. Все остальные величины должны рассчитываться внутри класса.
Трудности: всё просто, кроме ответа на поставленные вопросы
всё отлично.
Научился: Ответы. 1. Насколько возможно перемещать снеговиков по экрану. Разумеется возможно. И разумеется крайне тяжело. На данный момент мы получили работающий, но трудноподдерживаемый код. 2. Для начала надо создать класс снеговика. Еще лучше абстрактный суперкласс для снеговиков. 3. Как реализовать. Каждый класс должен реализовывать общий интерфейс Imove, реализация которого будет разной у каждого класса. Зато вызов одинаковый для всех. Что дает - можем создать параметризованный список (или массив) типа Imove и в цикле вызывать для всех метод движения. И вообще при вызове движения для фигуры не задумываться, какая конкретно это фигура. Вообще конечно это же можно было бы добиться и через абстрактный суперкласс и абстрактный метод move() в суперклассе. Но тут есть много вытекающей теории. Не стану углубляться. 4. для масштабирования точно такая же схема - свой метод. 4. Как на практике реализуется. Ну тут варианты. Я бы передавал в вышеупомянутый метод дельту смещения метод бы доавлял это значение к иску (или игреку) и вызывал отрисовку.
Трудности: не было
зам нет