Пример #1
0
        public string NextEvent(int chance)
        {
            var c = 0;

            for (int i = 0; i < 5; ++i)
            {
                c += rand.Next(70) <= chance ? 1 : 0;
                c -= rand.Next(100) <= chance ? 1 : 0;
            }


            if (c >= 1 && (int)ChanceDanger != 0)
            {
                c = 1;
            }
            else if (c <= -1 && (int)ChanceDanger != Enum.GetValues(typeof(Danger)).Length - 1)
            {
                c = -1;
            }
            else if ((int)ChanceDanger == Enum.GetValues(typeof(Danger)).Length - 1)
            {
                c = 0;
            }
            else
            {
                c = 0;
            }

            ChanceDanger = (Danger)((int)ChanceDanger - c);
            if (ChanceDanger < 0)
            {
                ChanceDanger = Danger.VeryLow;
            }

            var charct        = _monster.Characteristics.Select(x => x.Name);
            var charactKnow   = _monster_search.Characteristics.Where(y => charct.Contains(y.Name)).Select(x => x.Type).ToArray();
            var charactUnknow = _monster.Characteristics.Select(x => x.Type).Where(y => !charactKnow.Contains(y)).ToArray();

            _typeCharacteristic = charactUnknow[rand.Next(0, charactUnknow.Length - 1)];

            var _answer = _textsEvents[_typeCharacteristic][ChanceDanger][rand.Next(0, _textsEvents[_typeCharacteristic][ChanceDanger].Count - 1)];

            _textsEvents[_typeCharacteristic][ChanceDanger].Remove(_answer);

            return(_answer);
        }
Пример #2
0
 public Characteristic(TypeCharacteristic type, NameCharacteristic name)
 {
     Name = name;
     Type = type;
 }