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

Формула программиста
основатель — Волосатов Евгений Витольдович
Приходи на 3-дневный мастер-класс по C#

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

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

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 26 сентября 2015 г.
  • Задание выполнено: за 45 мин.
  • Чему научился: Всё уже знал
  • Что было сложным: Ничего.
  • Комментарии: Вы по сути ответили на вопрос, который задали. Действительно - вся фигура должна обсчитываться относительно одной точки. То есть функция рисования фигуры будет принимать 4 значения (точка отсчета, первая точка, вторая точка, цвет). Точка отсчета - это для всех фигур одного снеговика одинакова. первая и вторая точки это для квадрата углы к примеру. ну цвет - это цвет. Надо сдвинуть - сдвигаем одну точку - точку отсчета. Если хочется поворачивать - придется считать синусы. То есть у нас есть вектор с координатами.  По известным координатам можно его "дополнить до треугольника", вычислить синус угла, вычислить синус необходимого угла, из него выразить координаты... Ну вобщем можно если заморочиться.. На счет поворачивать - не знаю как. У нас объект 2D, такие обычно не поворачивают.
  • Оценка видео-уроку:
Отчёт от 1901 за Теория ООП / Второй Снеговик




Оцени работу

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

1901. Neverwinter 2
Neverwinter 2
ответить
→  Евгений Волосатов  # Теория ООП / Второй Снеговик / 2015-09-26 13:03

Спасибо, стараюсь. Как сказал однажды один мой преподаватель: "это внушает оптимизм".


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Neverwinter 2  # Теория ООП / Второй Снеговик / 2015-09-26 12:04

Молодец Кирилл, скоро и про виртуальные члены узнаешь!


  • Отчёт оценивали:
    1901Neverwinter 2+1   4995Иван+1   7303Игорь+1   1Евгений Волосатов+1   459Сергей Сергеевич+1   5649Максим Лапшинов+1   6203Николай (nick27m)+1   2146Иван+1   4889Валера Луцевич+1   6458Илья+1   4182Farid+1   3664данила+1   6289Екатерина+1   6522Согрин Алексей+1   5291Евгений+1   6452Кирилл Шмойлов+1   6919Anton Sozykin+1   6391Владимир+1   6971avelkor+1   1947Denis+1  

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




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

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

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

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