public EStatus MoveTile(Position kTilePosition, out MoveDirection kBlankTileMoveDirection) { Position kBlankTilePosition = CurrentBoard.BlankTilePosition; kBlankTileMoveDirection = GetBlankTileMoveDirection(kBlankTilePosition, kTilePosition); if (kBlankTileMoveDirection.Equals(MoveDirection.None)) { return(EStatus.FAILURE); } CurrentBoard = CurrentBoard.Move(kBlankTileMoveDirection); BoardInputText = BoardToText(CurrentBoard); return(EStatus.SUCCESS); }