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

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

Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть.

  • На этом уроке мы создадим новый класс Box.
    Квадратики тоже хотят играть в эту игру,
    и просят их научить. Пока они ещё не умеют
    ловить, но уже смогут отображаться и передвигаться.

    Полезные ссылки для написания функции Поймал:
    http://xdan.ru/how-to-check-intersect-two-rectangles.html
    http://stackoverflow.com/questions/306316/determine-if-two-rectangles-overlap-each-other
  • Дата отправки отчёта: 13 ноября 2015 г.
  • Задание выполнено: за 25 мин.
  • Чему научился: еще больше работы с классом, создания конструктора и его перегрузка
  • Что было сложным: реализовать самостоятельно метод Поймал()
  • Комментарии: очень жду продолжения, очень здорово все получается и вроде не сложно, хотя пока без помощи Евгения ни как!
    Спасибо что показал как все работает! Двигаюсь дальше!!! :)
  • Оценка видео-уроку:
Отчёт от 24 за Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть.




Оцени работу

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

24. Олюшка
Олюшка
ответить
→  Евгений Волосатов  # Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть. / 2015-11-13 22:38

Женя, спасибо, уже давно хотела все дописать однако у меня нет доступа к следующему уроку, вот сижу жду когда доберутся положительные голоса, ведь так хочется реализовать дальше! :)


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Олюшка  # Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть. / 2015-11-13 22:35

Оленька, ты даже до этого урока добралась, молодец!!!



1901. Neverwinter 2
Neverwinter 2
ответить
→  Олюшка  # Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть. / 2015-11-13 19:42

О, пухленькие квадратики))) Иконка весёлая! Держи +


24. Олюшка
Олюшка
ответить
→  Валерий Жданов  # Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть. / 2015-11-13 19:09

Да, они вот такие вот!!! Спасибо! :)


791. Валерий Жданов
Валерий Жданов
ответить
→  Олюшка  # Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть. / 2015-11-13 19:07

Так вон она какая, квадратура круга))) Молодец, Оля!


  • Отчёт оценивали:
    24Олюшка+1   6080annaka+1   791Валерий Жданов+1   7795Вадим+1   4889Валера Луцевич+1   5760Мариша +1   7645Александр Львович+1   1901Neverwinter 2+1   4004Елена+1   6925Артём+1   2773Никита+1   6458Илья+1   459Сергей Сергеевич+1   429Максим Базуев+1   1424Татьяна+1   1Евгений Волосатов+1   6391Владимир+1   8138Евгений0   6452Кирилл Шмойлов+1   7226Наталья+1   7788Ксения+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Создавать новый класс реализующий методы интерфейса.
Трудности: реализовать метод Поймал(). Знаю что можно это сделать проверяя вхождение любой из крайних точек одного бокса в другой, но решил сделать это через проверку центров и воображаемый радиус т.е. максимальное расстояние от центра до края фигуры на случай если захотят играть не боксики, а скажем снеговики ;)
Эта серия уроков как детский конструктор, все время хочется еще что-то добавить и посмотреть что выйдет. Спасибо Евгений за такую наглядную демонстрацию! зы Только с шариками я уже целую биосистему с эволюцией придумал. зы2 На скриншоте глюк моей реализации метода Поймал() когда вот только так они и ловятся
Научился: Создавать классы на основе интерфейса
Трудности: Реализовать функцию пересечения прямоугольников
public bool Поймал(Игрок that) { if (that.GetType() != typeof(Box)) return false; return GetCross(this, (Box)that); } private bool GetCross(Box b1, Box b2) { if (b1.box.Y < b2.box.Y + b2.box.Height || b1.box.Y + b1.box.Height > b2.box.Y) return false; if (b1.box.X + b2.box.Width < b1.box.X || b1.box.X > b2.box.X + b2.box.Width) return false; return true; }