public Square AvailableMove(Square i_CurrentSquare, Board i_GameBoard) { Square leftSqr, rightSqr; Square.eSquareType squareType; squareType = i_GameBoard.GetSquareStatus(i_CurrentSquare); if (squareType == Square.eSquareType.playerOneKing || squareType == Square.eSquareType.playerTwoKing) { leftSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.TopLeft); rightSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.TopRight); if (i_GameBoard.GetSquareStatus(leftSqr) != Square.eSquareType.none && i_GameBoard.GetSquareStatus(rightSqr) != Square.eSquareType.none) { leftSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.BottomLeft); rightSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.BottomRight); } } else if (squareType == Square.eSquareType.playerOne) { leftSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.TopLeft); rightSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.TopRight); } else { leftSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.BottomLeft); rightSqr = i_GameBoard.GetSquareInDirection(i_CurrentSquare, Board.eDirection.BottomRight); } if (i_GameBoard.GetSquareStatus(leftSqr) == Square.eSquareType.none) { return(leftSqr); } else if (i_GameBoard.GetSquareStatus(rightSqr) == Square.eSquareType.none) { return(rightSqr); } else { return(null); } }
private void printBoard(Board i_Board) { int requiredSpaceForSquare = 4; char currentChar = 'A'; int boardRow = 0; Console.Write(" "); for (int j = 0; j < i_Board.Size; j++) { Console.Write(" {0} ", currentChar++); } Console.WriteLine(); currentChar = 'a'; for (int i = 0; i < (i_Board.Size * 2) + 1; i++) { if (i % 2 == 0) { for (int j = 0; j <= (i_Board.Size * requiredSpaceForSquare) + 1; j++) { Console.Write("="); } } else { Console.Write(currentChar++); for (int j = 0; j < i_Board.Size; j++) { Console.Write("|"); string shape = i_Board.SquareToString(i_Board.GetSquareStatus(boardRow, j)); Console.Write(shape); } Console.Write("|"); boardRow++; } Console.WriteLine(); } currentChar = 'a'; Console.WriteLine(); }