Random.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. /// <summary>
  3. /// Random 算法相关方法
  4. /// </summary>
  5. public partial class Utils
  6. {
  7. /// <summary>
  8. /// 随机种子
  9. /// </summary>
  10. private static Random rnd = new Random(Guid.NewGuid().GetHashCode());
  11. /// <summary>
  12. /// 普通随机方法
  13. /// </summary>
  14. /// <param name="min"></param>
  15. /// <param name="max"></param>
  16. /// <returns></returns>
  17. public static int random(int min, int max)
  18. {
  19. return rnd.Next(min, max);
  20. }
  21. /// <summary>
  22. /// 在1到1万之间取一个随机值
  23. /// </summary>
  24. /// <returns></returns>
  25. public static int random10K()
  26. {
  27. return random(1, 10000);
  28. }
  29. /// <summary>
  30. /// 直接计算百分比是否落在区间内,相当于骰一次100面骰子,且结果正好小于参数指定的值.
  31. /// </summary>
  32. /// <param name="percent">百分之x(精度±0.01%)</param>
  33. /// <returns>true 本地投筛子成功, false 失败</returns>
  34. public static bool randomPercent(int percent)
  35. {
  36. return (random(1, 10000) / 100) <= percent;
  37. }
  38. }