Пример #1
0
        private void ComputeFatigue(Config.Fatigue f, SideStat ss)
        {
            switch (f)
            {
            case Config.Fatigue.None:
                // Nothing
                ss.Moral      = 1;
                ss.MoralLimit = 1;
                break;

            case Config.Fatigue.Little:
                ss.Moral      = 0.95f;
                ss.MoralLimit = 1;
                break;

            case Config.Fatigue.Moderate:
                ss.Moral      = 0.90f;
                ss.MoralLimit = 1;
                break;

            case Config.Fatigue.Lot:
                ss.Moral      = 0.80f;
                ss.MoralLimit = 1;
                break;

            case Config.Fatigue.Limit:
                ss.Moral      = 0.80f;
                ss.MoralLimit = 0.90f;
                break;
            }
        }
Пример #2
0
        // Empty constructor
        public War()
        {
            For1 = Config.Fortification.Nothing;
            For2 = Config.Fortification.Nothing;
            Fat1 = Config.Fatigue.None;
            Fat2 = Config.Fatigue.None;

            _stat1 = new SideStat();
            _stat2 = new SideStat();
            _stat  = new WarStat();
        }
Пример #3
0
        /// <summary>
        /// Setup all the variables for the skimish phases
        /// </summary>
        /// <param name="gen1"></param>
        /// <param name="gen2"></param>
        /// <param name="add1"></param>
        /// <param name="add2"></param>
        public void Setup(List <General> gen1, List <General> gen2, List <AddOn> add1, List <AddOn> add2,
                          string side1, string side2, string battleName, int turn, Config.Time time,
                          Config.Fortification for1, Config.Fortification for2, Config.Fatigue fat1, Config.Fatigue fat2, float inegality)
        {
            _general        = new List <General> [2];
            _general[0]     = gen1;
            _general[1]     = gen2;
            _generalBest    = new List <General> [2];
            _generalBest[0] = new List <General>();
            _generalBest[1] = new List <General>();
            _addon          = new List <AddOn> [2];
            _addon[0]       = add1;
            _addon[1]       = add2;
            _sides          = new string[2];
            _sides[0]       = side1;
            _sides[1]       = side2;
            _battleName     = battleName;
            _round          = turn;
            _time           = time;
            _inegatilies    = new float[2];
            if (inegality < 0)
            {
                _inegatilies[0] = -inegality;
                _inegatilies[1] = 0;
            }
            else
            {
                _inegatilies[0] = 0;
                _inegatilies[1] = inegality;
            }
            _for    = new Config.Fortification[2];
            _for[0] = for1;
            _for[1] = for2;
            _fat    = new Config.Fatigue[2];
            _fat[0] = fat1;
            _fat[1] = fat2;


            _imp                = new List <Implication> [2];
            _force              = new int[2];
            _force[0]           = 0;
            _force[1]           = 0;
            _totalForce         = new int[2];
            _totalForce[0]      = 0;
            _totalForce[1]      = 0;
            _totalForceBonus    = new int[2];
            _totalForceBonus[0] = 0;
            _totalForceBonus[1] = 0;
            _add                = new int[2];
            _add[0]             = 0;
            _add[1]             = 0;
            _counterAdd         = new int[2];
            _counterAdd[0]      = 0;
            _counterAdd[1]      = 0;
            _saboteurImpact     = new ImplicationSaboteur[2];

            if (_round == 1)
            {
                _detailed += "La bataille est sur point de commencer, les forces sont placées et les dés sont jetés,\n";
                _detailed += "Chaque groupe est prêt à une stratégie, l'issue se résout ce soir.\n";

                _detailed += "\nLa Bataille de " + _battleName + " commence!!";

                for (int i = 0; i < 2; i++)
                {
                    _detailed += "D'un côté, nous avons le groupe " + _sides[i] + "\n";
                    _detailed += "Les généraux sont nul autre que ";
                    for (int j = 0; j < _general[i].Count; j++)
                    {
                        _detailed += _general[i][j].Name + "; ";
                    }
                    _detailed += "\n\n";
                }

                _detailed += "Que le combat commence!\n\n\n";
            }
        }