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

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

Теория ООП / Интерфейс. Площадка для игры.

  • На этом уроке мы начнём создавать класс Arena,
    который создаст поле для игры и реализует
    методы для отображения объектов на экране.
  • Дата отправки отчёта: 16 апреля 2016 г.
  • Задание выполнено: за 20 мин.
  • Чему научился: Узнал про сниппеты :)
  • Что было сложным: Ничего
  • Комментарии: Класс Арена - это игровое поле. И чтобы не засорять другие классы рисованием все рисование будет тут. Инкапсуляция рисования в данной игре будет в этом классе.
  • Оценка видео-уроку:
Отчёт от 1967 за Теория ООП / Интерфейс. Площадка для игры.




Оцени работу

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


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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.


Научился: Кириллу респект, хорошо подметил, что в конструкторе переменная picture ссылается на аргумент, а не на член класса Arena. Код и так и сяк будет работать, согласен с Евгением Витольдовичем, но менять косвенно состояние this.picture через аргумент на мой взгляд это словно зайти в дом через черный вход, мало ли, что тебя там ожидает. Возможно в C# есть какой-нибудь механизм, защищающий от этого, аналогичный const ссылкам и указателям C++ на аргументы функций.
Трудности: Нарисовать окольными путями кружок на форме, для этого добавил pictuteBox на форму, добавил Arena.Show(), создал объект Arena в коде инициализации формы.
Класс Арена нужен для того, чтобы инкапсулировать отображение наших игроков Circle на форме, чтобы, например, не вручную в коде форме вызывать функции DrawEllipse, а создать какой-нибудь удобный интерфейс Arena.Show(object). Вообще говоря, класс Арена малек перегружен по смыслу, он кроме того, умеет создавать новые Circle и статический Range меня немного смущает, но соглашусь с Евгением Витольдовичем, не стоит усложнять код)


Научился: Узнал про сниппеты :)
Класс Арена - это игровое поле. И чтобы не засорять другие классы рисованием все рисование будет тут. Инкапсуляция рисования в данной игре будет в этом классе.