public void Rotate(Model.Turn turn) { if (FallingBlockSet == null) { return; } if (!CheckCrash(turn)) { FallingBlockSet.Rotate(turn); } else if (!CheckCrash(turn, Direction.Left)) { FallingBlockSet.Move(Direction.Left); FallingBlockSet.Rotate(turn); } else if (!CheckCrash(turn, Direction.Right)) { FallingBlockSet.Move(Direction.Right); FallingBlockSet.Rotate(turn); } else if (FallingBlockSet is BlocksI) { if (!CheckCrash(1, 2, 0)) { FallingBlockSet.Move(Direction.Right); FallingBlockSet.Move(Direction.Right); FallingBlockSet.Rotate(turn); } } Show(); }