Thu, 13 Aug 2009 22:59:37 -0400, Michael P. wrote: > foreach( Block[] ba; level ) > { > foreach( Block b; ba ) > { > if( checkCollision( ball, b.p ) ) > { > //remove the block?? > } > } > }
I like Daniel's answer better. But if order matters you could do this: for( int i = 0; i < level.length; ) { for( int j = 0; j < level[ i ].length; ) { if( checkCollision( ball, level[ i ][ j ].p ) ) { level[ i ] = level[ i ][ 0 .. j ] ~ level[ i ][ j+1 .. $ ]; } else { j++; } } if( level[ i ].length == 0 ) { level = level[ 0 .. i ] ~ level[ i+1 .. $ ]; } else { i++; } }