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

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

Теория ООП / Интерфейс. Кружок готов к игре!

  • На этом уроке мы допишем методы Игрока в классе Circle.
    Реализуем метод Беги() и Поймал(), и даже исправим
    недочёты в описании интерфейса (!!).
    В конце урока я ответил на многочисленные вопросы участников.
  • Дата отправки отчёта: 23 августа 2016 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: раньше типы сравнивал
    (player.GetType() == typeof(Circle)
    как я понимаю эти записи эквивалентны
    (player is Circle)
    незнал )))
    на stackoverflow написано что typeof быстрее
  • Что было сложным: ничего
  • Комментарии: нужен игровой цикл
  • Оценка видео-уроку:
Отчёт от 10671 за Теория ООП / Интерфейс. Кружок готов к игре!




Оцени работу

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

9263. Андрей Н.
Андрей Н.
ответить
→  Александр Б.  # Теория ООП / Интерфейс. Кружок готов к игре! / 2016-08-23 18:29

оператор is как бы "культурнее" и "свежее"
ну и функции у них немного разные - is проверяет на совместимость, т.е is даст true в том числе и для наследников класса (или интерфейса)
а typeof возвращает экземпляр класса System.Type



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




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

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

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

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


Научился: Поэкспериментировал с выводом класса Circle на экран. Попробовал FillEllipse, различные Brush. Оставил вывод через DrawEllipse, мне показались более симпатичными. От себя добавил, что если Circle Голя, то у него толщина окружности в три раза больше, чем у остальных, это помогло в наглядности тестирования.
Трудности: В 4 пункте было указано, что нужно описать словами что нужно сделать. Я малость не удержался, и реализовал в коде, правда достаточно долгое время, около 10 минут не понимал, почему у меня круги двигаются, но не Голятся. Оказалось, что в функции SetNewLeader() мы выходили из функции, если Лидер был НЕ null. Исправил как надо - заработало) Ошибка была глупой:D Надо быть внимательнее.
Решил записать видео демонстрацию, без звука. В конце видео выделил мышкой добавленный код, а в самом конце - проблемный участок, надо которым сидел 10 минут)


Научился: Обращаться к текущему экземпляру объекта через this без параметров
Видимо, для запуска игры запускать циклически с паузами gameCatch.Step() предварительно создав экземпляр на форме GameCatch