using System; using IwbZero.Expr; using IwbZero.ToolCommon.StringModel; namespace IwbZero.ExprFunctions.Functions { /// /// 随机概率选择(给出一个(或两个)权重(0-100),产生一个随机数判断是否在 权重范围内) /// public class FunRandomSelection : IIwbFunction { public string Invoke(ExprObject exprObj) { string result = "TRUE"; var child = exprObj.GetChild(0); var child2 = exprObj.GetChild(2); int num1 = child?.Expr.ValI()??0, num2= child2?.Expr.ValI()??0; if (num2 == 0) { num2 = num1 > 100 ? 100 : num1 < 0 ? 0 : num1; num1 = 0; } else { num1 = num1 > 100 ? 100 : num1 < 0 ? 0 : num1; num2 = num2 > 100 ? 100 : num2 < 0 ? 0 : num2; } if (num2 < num1) { var num3 = num2; num2 = num1; num1 = num3; } var random = new Random().Next(0, 100); if (randomnum2) { result = "FALSE"; } return result; } } }