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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта | Обход блокировки
Игровой комплекс Сокобан - Введи код скидки

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

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

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 10 августа 2016 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: все ок)
  • Что было сложным: все ок)
  • Комментарии: чтобы смешать и поворачивать можно повернуть координатную сетку
    vec2 rotate(vec2 point, float angle){
              vec2 rotated_point;
              rotated_point.x = point.x * cos(angle) - point.y * sin(angle);
              rotated_point.y = point.x * sin(angle) + point.y * cos(angle);
              return rotated_point;
    }
    для оси X (1,0) и оси Y(0,1), angel произвольный.
    а потом вычислять координаты точек как x(a,b) + y(c,d) = (newX, newY)
    масштабирование скорее всего тоже можно так сделать только сетку по другому изменять
    Все это делается в Draw.
  • Оценка видео-уроку:
Отчёт от 10671 за Теория ООП / Второй Снеговик




Оцени работу

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


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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Копипастить. Для ответа на вопросы Евгения Витольдовича нам нужно будет создать класс Snowman и в нем три метода: а) перемещение снеговика; б) поворачивание снеговика; в) изменение размера снеговика.
все-таки будем создавать класс или структуру Снеговик?


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