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

Формула программиста
основатель — Волосатов Евгений Витольдович
Видео про Архитектуру Шахматного клиент-сервера.

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

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




Оцени работу

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

6452. Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Максим Саратов  # Теория ООП / Спрайт для Снеговика / 2016-09-06 04:00

Главное что разобрался, значит стал умнее!



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Создавать сложные фигуры из примитивов _более правильным_ способом через коллекции.
Трудности: Понимание 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); вторая строка лишняя. Оно должно быть скрыто и инициализироваться автоматом при создании примитива. Вобщем пока упрощали, то опять все усложнилось так, что забыли что и зачем нужно. (типа тут смайлик) Посмотрим, что там дальше будет. Может в следущих уроках как раз моя идея будет реализована.
Научился: Работать с коллекцией. И еще закрепил знания по наследованию
Трудности: особых сложностей не было, еще свежи знания с предыдущих уроков, на которых базировался этот урок
Код главной формы всё уменьшается и уменьшается, все действия планомерно размещаются в классах. Очень понравилось работать с коллекциями. В php можно что-то подобное делать с массивами, но коллекции здесь намного удобнее. В двух скринах 1)код главной формы и 2) код класса Sprite.