I cleaned up as much of the code as I could.
Some of the public stuff needs hiding away a bit better.
I added code that stops overrunning the block data structure.
It also outputs to the console the amount of overlap.
Next I'll make it wrap back on itself. Once it is over 50% in a new block that will become the active block.
I'm only using one block at the moment, though my code should be general.
I fine that I have to include global coordinates ranging over all blocks also.
This is currently all in a little rough, but working.