Square class holds -1 for mines, 0 for empty space, 1-8 for local bomb count, flag marker and question marker. contains hidden/visible property
Board is a pointer to an array of Square pointers. The user defined playable field is surrounded by NULL values making it easy to check a playable square's local surroundings.
not much done here at the moment