, . , , , , , ( ) . , , .
, .
:
A
A C
A C E
A C E
B C E
B D E
B D F
B D F
D F
F
( )
, , . , B , E. , , 2.
:
rects = getRectsSortedOnTopLeft();
foreach(rect in rects)
while(rect.collidingRects())
rect.x += RECT_WIDTH;
foreach(rect in rects)
for(i=LEFT_MARGIN; i+=RECT_WIDTH; i<rect.x)
{
o = rect.x;
rect.x = i;
if(rect.collidingRects())
rect.x = o;
}