// 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 }
internal void removeFromPlayerArmy(GameBoard.Soldier i_soldier) { m_PlayerArmy.Remove(i_soldier); }
internal void addToPlayerArmy(GameBoard.Soldier i_soldier) { m_PlayerArmy.Add(i_soldier); }