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

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

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

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

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




Оцени работу

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

24. Оля
Оля
ответить
→  Владимир Борисенко  # Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть. / 2016-02-12 17:40

Владимир, я уверена что у тебя они заработают и заиграют! :)


1. Евгений Витольдович
Евгений Витольдович
ответить

4467. Alcatraz
Alcatraz
ответить
→  Владимир Борисенко  # Теория ООП / Интерфейс. VIP. Квадратики тоже хотят играть. / 2016-02-12 09:08

Если я правильно понял, то вот этот код должен давать результат пересекаются ли прямоугольники:
var intersects = function ( a, b ) {
  return ( a.y < b.y1 || a.y1 > b.y || a.x1 < b.x || a.x > b.x1 );
}
На сишарп его можно переписать так:
// Структура для сохранения координат прямоугольника
struct Rect{
public int x;
public int y;
public int x1;
public int y1;
public Rect(int x, int y, int x1, int y1)
{
this = new Rect();
this.x = x;
thix.y = y;
this.x1 = x1;
this.y1 = y1;
}
}
// Передаем в функцию два прямоугольника и она возвращает логический результат пересекаются ли они
public bool IsCross(Rect a, Rect b){
  return ( a.y < b.y1 || a.y1 > b.y || a.x1 < b.x || a.x > b.x1 );
}


  • Отчёт оценивали:
    7157muxasio+1   459Сергей Сергеевич+1   7645Александр Львович+1   6925Артём+1   4395Денис+1   4467Alcatraz+1   8886Михаил Ермишин+1   4992Николай+1   9160Сергій+1   1Евгений Витольдович+1   3664данила+1   689Igorenzia+1   6195sergey+1   5760Мариша +1   6985Alexandr+1   2773Никита+1   24Оля+1   8275Tekashnik+1   6452Lik_Kirill+1   7199Дмитрий+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Вроде тоже самое что и в прошлых уроках, но с новым объектом
Трудности: Ничего
Я решал похожую задачу когда-то. Мне нужно было найти общую площадь всех пересекающихся или касающихся разносторонних квадратов из 100. Касаться или пересекаться будут рандомно, если вообще будут. Найти максимальную площадь (их же может быть много разных). Там я тоже искал пересечения прямоугольников. Но уже почти не помню как. Да и лень, если честно.
Научился: Еще немного ООП в копилку По Поймал...думаю будет очень похожа на ту что делали прежде. По Distance - если по оси X или по оси Y координаты совпадут то true. Можно от обратного - отнимать координаты и если Distance равен 0 , то поймал. Это просто мысли вслух.
Трудности: Move() конечно
нет замечаний