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

Формула программиста
основатель — Волосатов Евгений Витольдович
Java - Шаблон State - Практика за 200 руб.

Теория ООП / Спрайт для Снеговика

  • На этом уроке мы создадим новый класс - Sprite, в котором будет хранится список всех фигур, из  которых строится графический объект, чтобы в основной программе мы могли оперировать сразу спрайтами, а не их составными элементами.
  • Дата отправки отчёта: 20 октября 2015 г.
  • Задание выполнено: за 35 мин.
  • Чему научился: попрактиковался в азах использования списка
    освежил понимание отличий абстрактного класса от интерфейса
  • Что было сложным: ничего
  • Комментарии: с интересом жду доступа к следующим сериям, как один из предыдущих пяти отчетов получит  20 голосов.
  • Оценка видео-уроку:
Отчёт от 4889 за Теория ООП / Спрайт для Снеговика




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Валера Луцевич  # Теория ООП / Спрайт для Снеговика / 2015-10-20 18:47

Привет от Л*. :)


  • Отчёт оценивали:
    4889Валера Луцевич+1   3747Сергей+1   4004Елена+1   4763Фёдор0   791Валерий Жданов+1   1Евгений Волосатов+1   1947Denis+1   6282Михаил+1   459Сергей Сергеевич+1   5705Андрей +1   6458Илья+1   3664данила+1   5419Роман+1   5882Александр Широков+1   7645Александр Львович0   7226Наталья+1   5029Андрей Поляков+1   6203Николай (nick27m)+1   4736Евгений+1   6391Владимир+1   1232Фомичева Наталья+1   6885lomik+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Полиморфизм во всей красе, перегружаю методы, сделали удобный класс Sprite куда начали инкапсулировать многое относящееся к снеговикам, потихоньку разгружая класс формы.
Трудности: Поковырялся, пока не сообразил, что сначала надо установить Graph объекту Shape а только потом его добавить в коллекцию, а не наоборот.
Не очень ясно, зачем нам при создании нового спрайта SnowMan2 = new Sprite(); задавать graph SnowMan2.SetGraph(graph); ведь фактически мы отдельно задаем один и тот же graph для каждого shape отдельно (в методе AddShape и этого должно быть вполне достаточно для рисования (однако при попытке пропустить SnowMan2.SetGraph(graph)) программа перестает компилироваться
Научился: Создавать сложные фигуры из примитивов _более правильным_ способом через коллекции.
Трудности: Понимание SetGraphics при создании фигуры и при добавлении в коллекцию.
Я так и не понял, зачем 2 раза делать public void AddShape(Shape shape) { shape.SetGrapphics(graph); shapes.Add(shape); } и snowman2 = new Sprite(); snowman2.SetGrapphics(graph); Закомментировал snowman2.SetGrapphics(graph); Выходит исключение, что ресурс graph пустой в этой функции. override public void Draw() { graph.DrawEllipse( pen, corner.x, corner.y, width, hight); } Выходит это для каждого примитива создается ресурс graph со своими настройками, линия там или круг, красный или зеленый. Но как по мне, то в основной инициализации snowman2 = new Sprite(); snowman2.SetGrapphics(graph); вторая строка лишняя. Оно должно быть скрыто и инициализироваться автоматом при создании примитива. Вобщем пока упрощали, то опять все усложнилось так, что забыли что и зачем нужно. (типа тут смайлик) Посмотрим, что там дальше будет. Может в следущих уроках как раз моя идея будет реализована.