public bool MoveRight(int distance) { CurrentPieceCenter = CurrentPieceCenter.XAdd(distance); if (IsLegalPieceMove() == false) { CurrentPieceCenter = CurrentPieceCenter.XAdd(-distance); return(false); } else { return(true); } }
public bool Falling() { CurrentPieceCenter = CurrentPieceCenter.YAdd(-1); if (IsLegalPieceMove() == false) { CurrentPieceCenter = CurrentPieceCenter.YAdd(1); bool isFalling = CurrentPiece.Discard(this) && CurrentPiece.Offset.Max(t => t.OffSetY) + CurrentPieceCenter.CoordY >= Row; if (!isFalling) { Eliminate(); ChangeCurrentPiece(); } else { LoseGameEvent(this, EventArgs.Empty); } return(false); } else { return(true); } }