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

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!

Теория ООП / Рисователь снеговиков

  • На этом уроке мы реализуем метод Draw (Shape shape) через серию условных операторов.
    А также создадим функцию для рисования целевого спрайта (снеговика) - Draw (Shape [] shapes).
    Результат работы программы не изменяется, а вот содержимое кода всё более и более облагораживается.
  • Дата отправки отчёта: 7 октября 2015 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Оптимизировать код
  • Что было сложным: Уловить ход мысли
  • Комментарии: Shape.position точка относительно которой будут изменяться другие координаты
  • Оценка видео-уроку:
Отчёт от 6885 за Теория ООП / Рисователь снеговиков




Оцени работу

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

24. Олюшка
Олюшка
ответить
→  lomik  # Теория ООП / Рисователь снеговиков / 2015-10-07 20:55

Хорошо что потренировался в оптимизации кода, и все по прежнему отлично работает! :)



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторил как определять тип объекта с помощью оператора typeid. Shape.position - это базовая точка фигуры, относительно которой она рисуется, поворачивается и изменяется в размерах.

Научился: вспомнил все эти typeof, is, as и их отличия. Любопытно получилось использовать is. Получались интересные эффекты в разном сочетании.
Что значит "использовать switch нельзя"? Кто мешает привести тип к строке и сделать так: switch (shape.GetType().ToString()) { case "Geometry.Line": Draw((Line)shape); break; case "Geometry.Box": Draw((Box)shape); break; case "Geometry.Circle": Draw((Circle)shape); break; case "Geometry.ColorLine": Draw((ColorLine)shape); break; case "Geometry.ColorBox": Draw((ColorBox)shape); break; case "Geometry.ColorCircle": Draw((ColorCircle)shape); break; } Всё работает.