Определить факт столкновения двух прямоугольников - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! Стоит такая задача: Есть класс Unit, в котором есть метод, определяющий сталкновение двух юнитов. В коде это выглядит примерно так:
Листинг программы
  1. public class Unit
  2. {
  3. private Vector Position = new Vector("значение известно");
  4. private Vector Size = new Vector("значение известно");
  5. ...
  6. public virtual bool HasIntersection(Unit another)
  7. {
  8. return false;
  9. }
  10. ...
  11. }
юнит - игровой объект, в моём случае, имеющий прямоугольное основание. Позиция и размеры известны, и выглядят как векторы для трёхмерного пространства, заданные тремя значениями (x,y,z). Вышеуказанный метод должен проверять столкновение текущего юнита с тем юнитом, который будет передан в качестве параметра. Если столкновение по координатам x или z в горизонтальной плоскости произошло (y не учитываем - это высота объекта), то метод возвращает true. Иначе конечно же false, столкновения ведь нет. Заранее большое спасибо!

Решение задачи: «Определить факт столкновения двух прямоугольников»

textual
Листинг программы
  1. public Rectangle getBounds(Unit target)
  2. {
  3. int size_x = target.Size.x - target.Position.x;
  4. int size_z = target.Size.z - target.Position.z;
  5. return Rectangle(target.Position.x,target.Position.z,size_x,size_z);
  6. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы