KRandom.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //---------------------------------------------------------------------------
  2. // Sword3 Engine (c) 1999-2000 by Kingsoft
  3. //
  4. // File: KRandom.cpp
  5. // Date: 2000.08.08
  6. // Code: WangWei(Daphnis)
  7. // Desc: Random Number Generate Functions
  8. //---------------------------------------------------------------------------
  9. #include "KWin32.h"
  10. #include "KRandom.h"
  11. //---------------------------------------------------------------------------
  12. #define IM 139968
  13. #define IA 3877
  14. #define IC 29573
  15. //---------------------------------------------------------------------------
  16. static UINT nRandomSeed = 42;
  17. //---------------------------------------------------------------------------
  18. // 函数: RandomnSeed
  19. // 功能: 设置随机数种子
  20. // 参数: nRandomSeed : 随机数种子
  21. // 返回: void
  22. //---------------------------------------------------------------------------
  23. void g_RandomSeed(UINT nSeed)
  24. {
  25. nRandomSeed = nSeed;
  26. }
  27. //---------------------------------------------------------------------------
  28. // 函数: Random
  29. // 功能: 返回一个小于nMax的随机整数
  30. // 参数: nMax : 最大值
  31. // 返回: 一个小于nMax的随机数
  32. //---------------------------------------------------------------------------
  33. UINT g_Random(UINT nMax)
  34. {
  35. if (nMax)
  36. {
  37. nRandomSeed = nRandomSeed * IA + IC;
  38. return nRandomSeed % nMax;
  39. }
  40. else
  41. {
  42. return 0;
  43. }
  44. }
  45. //---------------------------------------------------------------------------
  46. // 函数: GetRandomSeed
  47. // 功能: 取得当时的伪随机种子
  48. // 返回: 返回当前的伪随机种子
  49. //---------------------------------------------------------------------------
  50. UINT g_GetRandomSeed()
  51. {
  52. return nRandomSeed;
  53. }