# Basic - Confusion with collision detection between squares

• 04-25-2012, 12:42 AM
damienrenner
Basic - Confusion with collision detection between squares
Heyy, I have a game where the user controls one square but I want to collect collision with another square. I know the basic layout for doing this, However, I always get my more than and less than and + and - mixed up thus i was wondering if anyone could correct them for me ?

Code:

```         if (character.y > collectTwo.y && character.y + characterWidth < collectTwo.x + 10)                                         if (character.x > collectTwo.x && character.x + characterWidth < collectTwo.x-10)```
This size of the collectTwo item is 10 x 10.

Thank you so much!!
• 04-25-2012, 01:05 AM
pbrockway2
Re: Basic - Confusion with collision detection between squares
Quote:

I always get my more than and less than and + and - mixed up
Me too! Especially in multiple dimensions and with the computer's coordinate system being upside down. I find it easiest to think logically.

Two 1-d line segments will interest iff the max of their left hand ends < the min of their right hand ends. (*) For rectangles this condition must hold in both dimensions simultaneously if they intersect, and for "upright" rectangles the joint condition is sufficient.

(*) But I've slipped into geometry with "left" and "right". This is reasonable in your case, I think. But what I really mean is given segments a_1->a_2 and b_1->b_2 that max(min(a_1,a_2),min(b_1,b_2)) < min(max(a_1,a_2),max(b_1,b_2))
• 04-25-2012, 03:22 PM
Sierra
Re: Basic - Confusion with collision detection between squares
```if ( Math.abs(a.x - b.x) < (a.width()  + b.width())/2 &&     Math.abs(a.y - b.y) < (a.height() + b.height())/2 )```