internal CheckersPlayer(string i_PlayerName, CheckersPiece.ePieceType i_PawnType, CheckersPiece.ePieceType i_KingType) { m_Name = i_PlayerName; m_PawnType = i_PawnType; m_KingType = i_KingType; m_IsLegalMovesLeft = true; }
private void initilaizePlayerPieces(CheckersPlayer i_Player) { i_Player.PlayerPieces = new List <CheckersPiece>(); foreach (CheckersSquare square in m_GameBoard.CheckersGameBoard) { if (square.Piece != null) { CheckersPiece.ePieceType pieceType = square.Piece.PieceType; if (pieceType == i_Player.PawnType) { i_Player.PlayerPieces.Add(square.Piece); } } } }
private void initLPieceLocations(CheckersPiece.ePieceType i_PieceType) { int sumOfRowsToLocate = (r_BoardSize / 2) - 1; CheckersMove currentMove = new CheckersMove(this); for (int row = 0; row < sumOfRowsToLocate; row++) { int currentRow = (i_PieceType == CheckersPiece.ePieceType.X) ? row + sumOfRowsToLocate + 2 : row; int curretnColumn = (currentRow % 2 == 0) ? 1 : 0; for (int column = curretnColumn; column < r_BoardSize; column += 2) { r_CheckersBoard[currentRow, column].Piece = new CheckersPiece(i_PieceType, new int[2] { currentRow, column }); currentMove.UpdatePossibleSimpleMoves(r_CheckersBoard[currentRow, column].Piece); } } }
private bool isValidRowMove(int i_TypeMove, int i_CurrentRow, int i_TargetRow, CheckersPiece.ePieceType i_PieceType) { bool isValidTargetRow; if (i_PieceType == CheckersPiece.ePieceType.O) { isValidTargetRow = i_TargetRow == i_CurrentRow + i_TypeMove; } else if (i_PieceType == CheckersPiece.ePieceType.X) { isValidTargetRow = i_TargetRow == i_CurrentRow - i_TypeMove; } else { isValidTargetRow = (i_TargetRow == i_CurrentRow + i_TypeMove) || (i_TargetRow == i_CurrentRow - i_TypeMove); } return(isValidTargetRow); }