Exemple #1
0
 public bool MoveRight(int distance)
 {
     CurrentPieceCenter = CurrentPieceCenter.XAdd(distance);
     if (IsLegalPieceMove() == false)
     {
         CurrentPieceCenter = CurrentPieceCenter.XAdd(-distance);
         return(false);
     }
     else
     {
         return(true);
     }
 }
Exemple #2
0
 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);
     }
 }