На этом уроке мы создалим "универсальный" класс Crosser, который сможет проверять на столкновение "любых" двух Игроков. Конечно не любых, а только двух наших Box и Circle. Это яркий способ, чего стоит избегать в программах. Потому что тут не добавляется универсальности, т.к. при добавлении новых объектов придётся дописывать кучу новых функций на сравнение.
Самостоятельное задание - записать видеообзор своего проекта и рассказать, что такое Interface.
Дата отправки отчёта:
23 мая 2017 г.
Задание выполнено: за
20 мин.
Чему научился:
Даже не знаю. Слишком много уже для моих мозгов.
Что было сложным:
Набирать текст. Я его даже не осилил.
Комментарии:
Видеообзор лень делать. Так напишу обобщение.
Вцелом курс получился очень крутой. Даже мне, который не любит игры и то пришлось разбираться со всем этим матаном. А еще мне лень писать код. Однако тут я почему-то делал это. Сколько курсов смотрел - нигде не было желания писать за ведущим, а тут как-то так само получается. Странно это.
Куча моментов была для меня новая. Как я уже писал в прошлых отчетах - простые вещи в реале очень трудно реализовываются в коде. То же самое с электрическими узлами. Частотные фильтры легко посчитать и спаять, но я так и не понял теорию фильтров, как разложить спектр на частоты и амплитуды этих частот. Детектор делается одним диодом и частотным фильтром. В коде же это целая формула с синусами и косинусами + куча кода для работы со звуком, т.к. для компутера звук выглядет игначе, чем он есть в реале. Соответственно матановые формулы в коде будут уже выглядеть по-другому.
Определение интерфейса я посмотрел еще раз. Похоже там при написании использовали рекурсию. Я еще не поленился и поискал это на русском. Вот перевод того определения. Похоже автор сам не знает или поленился написать своими словами.
Интерфейсы – это еще один инструмент реализации полиморфизма в Си-шарп. Интерфейс представляет собой набор методов (свойств, событий, индексаторов), реализацию которых должен обеспечить класс, который реализует интерфейс. Интерфейс может содержать только сигнатуры (имя и типы параметров) своих членов. Интерфейс не может содержать конструкторы, поля, константы, статические члены. Создавать объекты интерфейса невозможно.
Вот мое определение образное. Интерфейс - заранее прописанный стандарт в виде методов или событий. Конкретная реализация метода зависи от класса.
Например если взять усб интерфейс. У него есть стандарт и там есть электрические параметры и программные. У нас есть компутер с усб и есть какое-то устройство. Компутер ничего не знает о внутреннем мире устройства, но оба они имеют усб интерфейс, который соединяет их по заранее прописанным процедурам инициализации и обмена. За счет этого любая мышка с усб всегда будет определяться как мышка и работать как мышка. Так же есть клавиатура усб, но они никак не пересекаются, хоть и имеют одинаковые разъемы (интерфейс).
Потому что тут усиленная практика, поэтому и желание есть кодить за Игромистром, а другие только книги читают за кадром, могли просто mp3 выложить, чтобы люди на ночь слушали. Так что не удивительно, что этот курс понравился и увлёк не только слушать и смотреть, но и самому кодить.
Научился: интерфейс - класс, методы которого созданы абстрактными и могут быть реализованы в классе, наследующем этот интерфейс Трудности: 15 минута видео (в чате):
Neverwinter@All: о, госпади... люди, зачем мы это попросили??
Тот вебинар, судя по комментариям, продолжался уже 6 (ШЕСТОЙ) час!
Это какая-то Спарта от сишарпа...
Научился: Немного изменил интерфейс программы, добавил возможность выбора игры, очистки игрового поля и добавление необходимого количество кружков или квадратиков.