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

Формула программиста
основатель — Волосатов Евгений Витольдович
Видео про Архитектуру Шахматного клиент-сервера.

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

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

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 6 октября 2015 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: Добавил второго снеговика, путем смещения координат 'x' базовых точек первого снеговика.
  • Что было сложным: Сложностей не было.
  • Комментарии: Для начала, для удобства, можно создать класс SnowMan, где, в качестве полей определены:
    x, y - координаты верхнего-левого угла снеговика;
    angle_x, angle_y - текущие углы поворота снеговика относительно осей x, y;
    scale_x, scale_y - коэффициенты масштабирования относительно осей x, y.

    1) для перемещения можно добавить функцию move(int dx, int dy) {x += dx; y += dy;}
    2) для поворота можно добавить функцию rotate(int rx, int ry) { angle_x += rx; angle_y += ry; }
    3) для изменения размеров можно добавить функцию scale(int sx, int sy) {scale_x *= sx; scale_y *= sy;}

    Кроме того, можно добавить функции set_position(int x, int y), set_rotation(int rx, int ry), set_scale(int sx, int sy), которые устанавливают абсолютные значения необходимых полей.
  • Оценка видео-уроку:
Отчёт от 7276 за Теория ООП / Второй Снеговик




Оцени работу

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


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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Рисовать разноцветного снеговика.
Трудности: Сложностей не было
Для перемещении по горизонтали достаточно изменять переменную delta; Для перемещения по вертикали стоит добавить еще одну переменную; Для поворота снеговика, наверное нужно выбрать опорную точку и поворачивать все фигуры относительно её, что будет весьма не практично; Масштабировать тоже нужно относительно какой-то выбранной точки, при этом изменять пропорционально все элементы снеговика.
Научился: Пока ничему новому :)
Трудности: Ничего сложного :)
Очень тяжело работать со снеговиком как с набором сильно отличающихся друг от друга объектов. Хорошо было бы абстрагироваться от снеговика как от набора линий, кругов и прямоугольников и рассматривать его как один объект "снеговик". Тогда мы могли бы обращаться к этому объекту как единому целому и менять размер например с помощью того же ползунка. И перемещать по экрану используя клавиатуру. Как то так) Могу быть не прав. Только знакомлюсь с ООП. Поправьте в случае чего)