Exemple #1
0
        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);
        }
Exemple #2
0
        private static int GetIndexModifier(CheckersPlayer player)
        {
            int indexModifier;

            if (player == CheckersPlayer.PlayerOne)
            {
                indexModifier = 1;
            }
            else
            {
                indexModifier = -1;
            }

            return(indexModifier);
        }
Exemple #3
0
 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;
        }
Exemple #6
0
        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;
        }
Exemple #7
0
 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();
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="CheckersPiece"/> class.
        /// </summary>
        /// <param name="player">The player.</param>
        public CheckersPiece(CheckersPlayer player)
		{
			Player = player;
		}
Exemple #9
0
 public CheckersModerator(CheckersBoard board, CheckersPlayer whiteplayer, CheckersPlayer blackplayer)
     : base(new IPlayer[2]{whiteplayer,blackplayer})
 {
     this.CurrentGameState = board;
 }