internal void UpdatePieceInBoard(CheckersPlayer i_Player, int i_CurrentRow, int i_CurrentColumn, int i_TargetRow, int i_TargetColumn) { CheckersPiece pieceToMove = r_CheckersBoard[i_CurrentRow, i_CurrentColumn].Piece; r_CheckersBoard[i_TargetRow, i_TargetColumn].Piece = pieceToMove; r_CheckersBoard[i_CurrentRow, i_CurrentColumn].Piece = null; r_CheckersBoard[i_TargetRow, i_TargetColumn].Piece.Location = new int[2] { i_TargetRow, i_TargetColumn }; changePieceToKingIfNeeded(i_Player, pieceToMove, i_TargetRow); }
private static int GetIndexModifier(CheckersPlayer player) { int indexModifier; if (player == CheckersPlayer.PlayerOne) { indexModifier = 1; } else { indexModifier = -1; } return(indexModifier); }
private void changePieceToKingIfNeeded(CheckersPlayer i_Player, CheckersPiece i_Piece, int i_TargetRow) { if (i_TargetRow == 0) { if (i_Player.PawnType == CheckersPiece.ePieceType.X) { i_Piece.PieceType = CheckersPiece.ePieceType.K; } } else if (i_TargetRow == r_BoardSize - 1) { if (i_Player.PawnType == CheckersPiece.ePieceType.O) { i_Piece.PieceType = CheckersPiece.ePieceType.U; } } }
/// <summary> /// Initializes a new instance of the <see cref="CheckersPiece"/> class. /// </summary> /// <param name="player">The player.</param> public CheckersPiece(CheckersPlayer player) { Player = player; }
private static int GetIndexModifier(CheckersPlayer player) { int indexModifier; if (player == CheckersPlayer.PlayerOne) { indexModifier = 1; } else { indexModifier = -1; } return indexModifier; }
internal void RemoveOpponentPiece(int i_CurrentRow, int i_CurrentColumn, int i_TargetRow, int i_TargetColumn, CheckersPlayer i_Opponent) { int PorgressRowDirection = (i_TargetRow - i_CurrentRow) / 2; int PorgressColumnDirection = (i_TargetColumn - i_CurrentColumn) / 2; int PieceToDeleteRowLocation = i_CurrentRow + PorgressRowDirection; int PieceToDeleteColumnLocation = i_CurrentColumn + PorgressColumnDirection; CheckersPiece eatenPiece = r_CheckersBoard[PieceToDeleteRowLocation, PieceToDeleteColumnLocation].Piece; i_Opponent.PlayerPieces.Remove(eatenPiece); r_CheckersBoard[PieceToDeleteRowLocation, PieceToDeleteColumnLocation].Piece = null; }
private void StartGame(CheckersPlayer White, CheckersPlayer Black) { this.WhitePlayer = White; this.BlackPlayer = Black; this.MyBoard.InitializeBoard(); CurrentPlayer = WhitePlayer; MyModerator = new CheckersModerator(this.MyBoard, White, Black); RepaintBoard(); MyModerator.StartGame(); }
public CheckersModerator(CheckersBoard board, CheckersPlayer whiteplayer, CheckersPlayer blackplayer) : base(new IPlayer[2]{whiteplayer,blackplayer}) { this.CurrentGameState = board; }