This version is my second attempt, which attempts to make 1 gamePiece class rather than 7.  I've already started on a third attempt, which will use a pointer to identify one spot on a game piece and distance from that pointer to determine the location of the rest of the parts of the game piece, as well as math to control rotation of the piece.  That work is not represented here, because I just wanted to show you that I have been thinking about this and trying to work on it, although I don't consider this version very workable the way it is.  (It certainly doesn't function.)