Ejemplo n.º 1
0
        /// <summary>
        /// Update map with opponent moves
        /// </summary>
        public static void UpdateOpponent()
        {
            Map.MapState.OpponentLastPlaceArmies.ForEach(pa =>
            {
                pa.Region.CurrentArmies += pa.Armies;
            }
                                                         );

            Map.MapState.OpponentLastAttackTransfer.ForEach(at =>
            {
                at.TargetRegion.CurrentArmies += at.Armies - Combat.AttackersLosses(at.TargetRegion.CurrentArmies);
                at.SourceRegion.CurrentArmies -= at.Armies;
            }
                                                            );
        }
Ejemplo n.º 2
0
        // 01. Armies needed to combat and result
        private void InitCombat()
        {
            // Reset to my armies only
            SuperRegion.Regions.ForEach(R =>
            {
                R.SimulateArmies = R.CurrentPlayer.Is(PlayerType.Me) ? R.CurrentArmies : 0;
                R.SimulatePlayer = R.CurrentPlayer;
            }
                                        );

            // Insert intial net armies
            Connections.ForEach(Conn =>
            {
                int attackersNeeded = Combat.AttackersNeeded(Conn.TargetRegion.CurrentArmies);
                int attackersLosses = Combat.AttackersLosses(Conn.TargetRegion.CurrentArmies);
                Conn.SourceRegion.SimulateArmies -= attackersNeeded;
                Conn.TargetRegion.SimulateArmies += (attackersNeeded - attackersLosses);
            }
                                );
        }