Esempio n. 1
0
        // in make a move there is the logic of switcing turns
        // the rule is that after MakeAMove() the player that is playing the next move will be in current player in sessionData class
        public void MakeAMove(CheckersGameStep io_MoveToExecute, GameBoard io_CheckersBoard)
        {
            GameBoard.Soldier currentSoldierToMove = io_CheckersBoard.GetSoldierFromMatrix(io_MoveToExecute.CurrentPosition);
            io_CheckersBoard.MoveSoldier(io_MoveToExecute);

            if (io_MoveToExecute.MoveTypeInfo.KingMove)
            {
                currentSoldierToMove.BecomeAKing();
            }

            if (io_MoveToExecute.MoveTypeInfo.TypeIndicator != eMoveTypes.EatMove)
            {
                SessionData.ChangeTurn();
            }
            else
            {
                currentSoldierToMove.calculatePossibleMovements(ref io_CheckersBoard);
                if (currentSoldierToMove.eatPossibleMovements.Count == 0)
                {
                    SessionData.ChangeTurn();
                }
            }

            // here was supposed to be else --> do nothing cuz we dont want switch turns --> player ate a soldier and can creat a combo
        }
Esempio n. 2
0
 internal void removeFromPlayerArmy(GameBoard.Soldier i_soldier)
 {
     m_PlayerArmy.Remove(i_soldier);
 }
Esempio n. 3
0
 internal void addToPlayerArmy(GameBoard.Soldier i_soldier)
 {
     m_PlayerArmy.Add(i_soldier);
 }