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); }
public Characteristic(TypeCharacteristic type, NameCharacteristic name) { Name = name; Type = type; }