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

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

Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов.

  • На этом уроке мы создалим "универсальный" класс Crosser,
    который сможет проверять на столкновение "любых" двух Игроков.
    Конечно не любых, а только двух наших Box и Circle.
    Это яркий способ, чего стоит избегать в программах.
    Потому что тут не добавляется универсальности,
    т.к. при добавлении новых объектов придётся
    дописывать кучу новых функций на сравнение.

    Самостоятельное задание - записать видеообзор
    своего проекта и рассказать, что такое Interface.
  • Дата отправки отчёта: 12 ноября 2015 г.
  • Задание выполнено: за 7 час. 00 мин.
  • Чему научился: Записывать, кодировать и накладывать дорожку на видео
  • Что было сложным: Записать, перекодировать, видео - 3 часа
    Доделать программу - 4 часа
  • Комментарии: Гуд
  • Видеозапись: http://youtu.be/80sBwrAI-U8
  • Оценка видео-уроку:
Отчёт от 429 за Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов.


Отчёт от 429 за Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов.




Оцени работу

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

24. Оля
Оля
ответить
→  Максим Базуев  # Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. / 2015-11-12 22:08

Максим, очень круто, какой ты Молодчина даже применил классно нашу игру в скринсейвере!
Я в восторге от твоей работы и твоих отличных навыков! :)


2146. Иван
Иван
ответить
→  Максим Базуев  # Теория ООП / Интерфейс. VIP. Тяжёлая дружба кругов и квадратов. / 2015-11-12 20:33

Здорово получилось! Да еще и скринсейвер сделал! Очень понравилось видео!


  • Отчёт оценивали:
    429Максим Базуев+1   6203Николай (nick27m)+1   7486lenax0   2146Иван+1   4004Елена+1   6458Илья+1   4889Валера Луцевич+1   459Сергей Сергеевич+1   7645Александр Львович+1   6925Артём+1   8125admin" OR 1=1#0   24Оля+1   4853Alexander Sidorov+1   7795Вадим+1   7573Павел+1   6452Кирилл Шмойлов+1   Посетитель+1   Посетитель+1   Посетитель+1   Посетитель+1   4395Денис+1   7901Влад+1   6391Владимир+1   8118Юрий +1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Научился создавать класс-переходник Crosser, для взаимодействия кружков и боксиков.
Не знаю - с моей точки зрения класс Crosser был вишенкой на торт ООП, отличный курс. Сразу скажу, что можно дальше развить в том плане, что объяснить например sealed класс и какие-нибудь фичи с абстрактным классом. В качестве примера можно замутить консольные шахматы. Кстати насчет шахмат есть же игра на троих и так далее. Вот есть например шахматы на троих - https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B_%D0%B4%D0%BB%D1%8F_%D1%82%D1%80%D0%BE%D0%B8%D1%85 или же астрономические шахматы - https://ru.wikipedia.org/wiki/%D0%90%D1%81%D1%82%D1%80%D0%BE%D0%BD%D0%BE%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%88%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D1%8B . Вообщем как вариант - можно еще вариации курса делать. Кстати - можно сделать курс по разгадыванию японских кроссвордов.
Научился: Поэкспериментировал с интерфейсами, повторил создание видео обзоров.
Трудности: Выбрать какое-то одно решение проблемы на проверку пересечения объектов.
Проблему проверки пересечения объектов решил немного другим путем, с помощью интерфейса Boundable, который требует, чтобы реализующие его объекты определили ограничивающие круги и прямоугольники вокруг фигуры. Это позволяет сравнивать не сами объекты со сложной конфигурацией, а упрощенные элементы, например, такие как круги. Для того, чтобы добавить нового игрока в игру, достаточно описать список этих ограничивающих поверхностей, а другие функции более высокого уровня уже работают не с самими объектами, а их границами, таким образом нет тесной связи между типами. Да, проверка получается грубее и менее точная. Здесь можно было бы изменить начальный интерфейс, но я пошел другим путем, оставил все как есть и искал куда бы добавить свой интерфейс Boundable. Мое решение так себе, пока не знаю как сделать лучше, но это позволяет создавать новых игроков и не беспокоиться об их сравнении с другими игроками. Для верности, добавил двух новых игроков с более сложной конфигурацией. Курс понравился, стоит пересмотреть еще раз, так как многие "очевидные" моменты открываются с новой стороны. Спасибо, Евгений Витольдович!