public PieceInstance(Piece piece, int rotation, Point position)
 {
     Piece = piece;
     Rotation = rotation % piece.Shapes.Length;
     Position = position;
 }
 public TetrisGameState(IPieceGenerator generator, int rows, int points, PieceInstance current, Piece next, Color[,] grid)
 {
     PieceGenerator = generator;
     Level = rows / 10;
     Rows = rows;
     Points = points;
     CurrentPiece = current;
     NextPiece = next;
     Grid = grid;
     IsFinished = !ValidPosition(current, grid);
 }