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

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

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

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

    Вопрос для перехода к следующему уроку:
    Что нужно изменить в этой программе, чтобы мы могли
    а) перемещать снеговика;
    б) поворачивать снеговика;
    в) изменять размер снеговика.
  • Дата отправки отчёта: 9 сентября 2015 г.
  • Задание выполнено: за 30 мин.
  • Чему научился: установил Sublime Text ))
  • Что было сложным: всё просто.
  • Комментарии: чтоб перемещать и изменять снеговика, нужно его запихнуть в отдельный класс, а координаты сделать относительными. значит рисовать целый снеговик, а не кусочки, а цвет попробовать менять с помощью обобщений <ColorPixel>Snowman.
  • Оценка видео-уроку:
Отчёт от 6458 за Теория ООП / Второй Снеговик




Оцени работу

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

24. Олюшка
Олюшка
ответить
→  Илья  # Теория ООП / Второй Снеговик / 2015-09-09 21:04

Илья, хорошие познания, здорово что все получилось!



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




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

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

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

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