The most simple approach is to do one axis at a time.

Like this:[pascal]// Move Ball's X-axis

{Now check all the ball's 'detection points' for being inside the block}
//if so; Make adjustments for X-axis collision!

// Move Ball's Y-axis

{Now check all the ball's 'detection points' for being inside the block again}
//if so; Make adjustments for Y-axis collision![/pascal]


Mind you your detection is incorrect [size=9px](you have to check both X and Y axis to see if one of the ball's 'detection points' are inside the block you are detecting for)[/size] so work out an effective routeen for checking for a single X,Y point inside a block first. Then you can use that for each point you need for your ball to find hit blocks.