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

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

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

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

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




Оцени работу

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

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

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



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Для перемещения нужно менять координаты С поворотом сложнее нужно делать пересчет с учетом угла поворота, относительно 1-й точки Для масштабирования нужно правильно сделать перерасчет что бы не потерялись пропорции Лучше всего снеговика вынести в отдельный класс и создать методы для работы с ним
Научился: Повторил материал прошлых уроков.
Трудности: Ничего сложного не было. Только немного запутался в координатах.
Вопросов пока что нет. Замечательный урок, спасибо! Ответы на вопросы: 1. Для перемещения снеговика ( велосипеда ) необходимо менять значения координат. При этом нужно каждый раз перерисовывать изображение. 2. Честно говоря не представляю, как можно повернуть 2D изображение. Но предположу, что опять же надо изменять значение координат, причём одна или несколько из них меняться не должны, так как поворачиваться изображение должно относительно этих координат ( координаты ). 3. Для изменения размеров рисунка необходимо создать функцию, которая будет изменять размеры базовых фигур, из которых состоит рисунок. Кроме этого можно сделать какой-нибудь интерфейс. Например можно изменять размеры элементов через с помощью Trackbar или же использовать TextBox-ы, вводя значения вручную. Как еще один вариант, можно сделать изменение размеров рисунка при изменении размеров формы.