На этом уроке мы создалим "универсальный" класс Crosser, который сможет проверять на столкновение "любых" двух Игроков. Конечно не любых, а только двух наших Box и Circle. Это яркий способ, чего стоит избегать в программах. Потому что тут не добавляется универсальности, т.к. при добавлении новых объектов придётся дописывать кучу новых функций на сравнение.
Самостоятельное задание - записать видеообзор своего проекта и рассказать, что такое Interface.
Дата отправки отчёта:
4 февраля 2018 г.
Задание выполнено: за
2 час. 0 мин.
Чему научился:
На первом скриншоте показано приближение прямоугольника к кругу своим ребром, на втором скрине видно, что шарик окрасился, т.е. был заражён, но при этом прямоугольник не пересекается своими углами, это потому, что я модернизировал функцию проверки пересечения разных объектов, учёл грани прямоугольников. Если этого не сделать, то маленькие кружки запросто пролетят насквозь больших прямоугольников, если как раз не зацепят их углы. На видео можно понаблюдать над реализацией. Так же устранил все утечки памяти и реализовал уборку мусора каждый 5 секунд, это устранило проблемы с постепенным увеличением потребления ОЗУ со временем. з.ы. по поводу Интерфейса, это очень удобная вещь, которая определяет общий набор функций для различных объектов, что позволяет взаимодействовать с ними намного удобнее и хранить в общем массиве/списке/множестве... Он гарантирует, что каждый объект имеет необходимый функционал, так как он должен обязательно быть реализован!!! з.з.ы. Не согласен, что этот урок показывает как делать нельзя, просто это сложнее и требует доп. ресурсов, но зато это более качественно, чем если бы мы кружки описывали прямоугольником. Можно создать интерфейс для игр, который хранил бы в себе базовый функционал, это прям напрашивается.
Отличный курс, но маленький, советую каждому пройти его и осмыслить.
просто это не совсем корректное решение. более правильное - создать объект который может описывать каркас объекта, и все объекты приводить к этому каркасу. тогда пересечение любых объектов сводится к функции проверки пересеячениядвух каркасов. Именно так сделано в юнити. Ещё немного текста для +5 баллов в отчётность за текущий день.
По поводу каркаса согласен, я реализовал в этом уроке генерацию каркаса на основе полученных объектов. Потом проверка пересечения в связующих точках. Тогда уже надо было сказать, сама идея верная, а реализация не совсем корректная.
Отчёт оценивали: 10558. Иван Воронин+113364. Эдвард0459. Сергей Сергеевич+116533. Андрей Шевченко+1Посетитель+13922. Александр+16452. Кирилл Шмойлов+19980. Timoha+111582. Родион+110494. Алексей В.+117093. jin+13850. Григорий+19156. Dimon+11. Евгений Волосатов+19014. Николай Денисов+116018. Andrej Gladkov+1
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: интерфейс - класс, методы которого созданы абстрактными и могут быть реализованы в классе, наследующем этот интерфейс Трудности: 15 минута видео (в чате):
Neverwinter@All: о, госпади... люди, зачем мы это попросили??
Тот вебинар, судя по комментариям, продолжался уже 6 (ШЕСТОЙ) час!
Это какая-то Спарта от сишарпа...
Научился: Немного изменил интерфейс программы, добавил возможность выбора игры, очистки игрового поля и добавление необходимого количество кружков или квадратиков.