Version One:
1. Draws grid
2. Locates shapes on grid
3. First shape picked randomly
4. Alternates moves
5. Does not allow move into occuppied square
6. No loss of move from errant click

Complete Source Code: