示例#1
0
 public bool CheckWallV(int xPos, int yPos)
 {
     if (!boardStatus[xPos, yPos].hasRightWall &&
         !boardStatus[xPos + 1, yPos].hasRightWall &&
         wallPegStatus[xPos, yPos].isOpen)
     {
         Board.PlaceVerticalWall(this, -1, xPos, yPos);
         bool retVal;
         //if still winnable place the wall, else revert back to no wall
         if (_numPlayers == 2 && CheckWinnable(0) && CheckWinnable(1))
         {
             retVal = true;
         }
         else if (_numPlayers == 4 && CheckWinnable(0) && CheckWinnable(1) &&
                  CheckWinnable(2) && CheckWinnable(3))
         {
             retVal = true;
         }
         else
         {
             retVal = false;
         }
         UndoPlaceVerticalWall(this, -1, xPos, yPos);
         return(retVal);
     }
     else
     {
         return(false);
     }
 }