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