Here's the example using an array.
The array has 1 if something is at that grid space and 0 if nothing is there. That's initially setup at the start of layout.
motion logic is basically this:
want to move right?
is right grid position empty?
-- set current grid position to empty
-- set right grid position to full
-- start move
You then look at the sprites in order as you have with "for each ordered".
That's exactly what i want to do.
Thanks from all my heart :)