コード例 #1
0
ファイル: Player.cs プロジェクト: yl1232/CheckersGame_CSharp
        private void MakeMove(GameBoard i_GameBoard, Move i_Move)
        {
            eCoin playedCoin;

            if (IsCaptureMove(i_Move))
            {
                foreach (Square capturedSquare in i_Move.CapturedSquares)
                {
                    eCoin capturedSquareCoin =
                        i_GameBoard.GameBoardMatrix[capturedSquare.Row, capturedSquare.Column];
                    if (capturedSquareCoin == eCoin.X || capturedSquareCoin == eCoin.O)
                    {
                        Points++;
                    }
                    else if (capturedSquareCoin == eCoin.U || capturedSquareCoin == eCoin.K)
                    {
                        Points += 4;
                    }

                    i_GameBoard.GameBoardMatrix[capturedSquare.Row, capturedSquare.Column] = eCoin.E;
                }
            }

            playedCoin = i_GameBoard.GameBoardMatrix[i_Move.From.Row, i_Move.From.Column];
            i_GameBoard.GameBoardMatrix[i_Move.From.Row, i_Move.From.Column] = eCoin.E;
            if (playedCoin == RegularCoin && IsSquareThatTurnsCoinIntoKing(i_GameBoard, i_Move.To))
            {
                playedCoin = KingCoin;
            }

            i_GameBoard.GameBoardMatrix[i_Move.To.Row, i_Move.To.Column] = playedCoin;
        }
コード例 #2
0
 public Player(bool i_isHuman, string i_Name, eCoin i_CoinType)
 {
     this.m_Name     = i_Name;
     this.m_IsHuman  = i_isHuman;
     this.m_CoinType = i_CoinType;
     this.m_Points   = 0;
 }
コード例 #3
0
ファイル: Player.cs プロジェクト: yl1232/CheckersGame_CSharp
 public Player(string i_PlayerName, eCoin i_RegularCoin, eCoin i_KingCoin, eDirection i_DirectionOfPlay)
 {
     m_Name            = i_PlayerName;
     m_RegularCoin     = i_RegularCoin;
     m_KingCoin        = i_KingCoin;
     m_DirectionOfPlay = i_DirectionOfPlay;
     m_NextMove        = null;
 }
コード例 #4
0
 public void InsertCoin(eCoin i_Coin)
 {
     m_CurrentBalance += (int)i_Coin;
     CoinInventory.AddItem(i_Coin);
 }
コード例 #5
0
 private void changeAndCoinInventoryHandler(eCoin i_eCoin, ref List <eCoin> io_ChangeList, ref int io_balance)
 {
     io_ChangeList.Add(i_eCoin);
     io_balance -= (int)i_eCoin;
     CoinInventory.RemoveItem(i_eCoin);
 }