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

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

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

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

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

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

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


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

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

10   голосов , оценка 3.8 из 5
Похожие ответы