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

Формула программиста
основатель — Волосатов Евгений Витольдович
Только на выходных Три пакета за 2995 руб.

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

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

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




Оцени работу

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

2146. Иван
Иван
ответить
→  Алекс  # Теория ООП / Второй Снеговик / 2016-01-08 17:44

Здорово все описал. Видно, что тема знакомая.


  • Отчёт оценивали:
    6925Артём+1   8005Александр+1   1Евгений Витольдович+1   6203Николай (nick27m)+1   4395Денис+1   4004Елена+1   8275Tekashnik+1   459Сергей Сергеевич+1   7645Александр Львович+1   4992Николай+1   2639Морозов Юрий Александрович+1   6484Вячеслав+1   6391Владимир+1   8407Наталья+1   5489Serg+1   3664данила+1   4591Aleksandr Zaitcev+1   2912Игорь+1   6195sergey+1   2146Иван+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Перемещать за раз много координат
Трудности: Всё просто
Чтобы перемещать, надо запилить deltaX и deltaY, чтобы менять размер, надо умножить все числа на одно число. Как вращать, не знаю
Научился: Рисовать цветные графические примитивы)
Трудности: Ничего сложного.
1) Для перемещения снеговика необходимо ввести дополнительную переменную, допустим как мы и сделали (переменная delta), которую мы будем прибавлять к одной из координат каждой точки. На форме можно сделать, к примеру, ползунок для изменения этой delta. 2) Для поворачивания снеговика, как мне кажется, нужно ввести еще одну переменную - третью ось Z и с ней как-то уж работать. 3) Для изменения размера снеговика нужно ввести переменную k - коэффициент растяжения/сжатия, изменяя который мы будем изменять размеры снеговика. То есть домножать на этот коэффициент каждую из координат. На форме, к примеру, можно задавать этот коэффициент, вводя его в текстовое поле. Вот так, на мой взгляд, можно все это реализовать.