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

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

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

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

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 22 апреля 2015 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: использовать наследование
  • Что было сложным: ничего
  • Комментарии: 1. Чтобы перемещать фигуру, нужно прибавлять к одной из координат величину дельта: x'=x+dx или y'=y+dy или к обеим сразу.
    2. Чтобы вращать фигуру, нужно каждую координату  умножить на соответствующую компоненту матрицы поворота:
    x' = xcos(a) +(-) ysin(a), y'=xsin(a)+(-) ysin(a).
    3. Чтобы увеличить (уменьшить) фигуру, нужно увеличить (уменьшить) радиус, если фигура - окружность, диагональ (если фигура - бокс), длину линии (если фигура - линия).
  • Оценка видео-уроку:
Отчёт от 1803 за Теория ООП / Второй Снеговик




Оцени работу

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

  • Отчёт оценивали:
    7319Alpinist573+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Научился копировать код для второго снеговика :)
Как на хабре прочел интересную статью про SOLID вот потихоньку пытаюсь применять на практике. Предполагаю дублирование кода противоречит 1 принципу Solid: 1) Принцип единственной ответственности (Single responsibility) 2) Принцип открытости/закрытости (Open-closed) 3) Принцип подстановки Барбары Лисков (Liskov substitution) 4) Принцип разделения интерфейса (Interface segregation) 5) Принцип инверсии зависимостей (Dependency Invertion) Поэтому предполагаю нужно будет убирать дублирующий код. Скажем так рефакторить его. Создать одну функцию или класс благодаря которому можно будет ее вызывать через контрол и менять координаты после чего производить перерисовку на форме.
Научился: Повторение пройденного.
1. Для перемещения необходимо создать событие (нажатие клавиш направления). В зависимости от нажатой клавиши изменять у всех элементов координаты X и Y. 2. и 3. Затрудняюсь ответить.