|
- .版本 2
- .支持库 spec
- .程序集 真随机数生成模块
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 随机数, 整数型
- .局部变量 最小值, 整数型
- .局部变量 最大值, 整数型
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- 置随机数种子 ()
- 取随机字节 (真)
- .计次循环首 (1000000, )
- 最小值 = 取随机数 (0, 10000)
- 最大值 = 取随机数 (0, 10000)
- .如果真 (位与 (取随机数 (, ), 1) = 1)
- 最小值 = 0 - 最小值
- .如果真结束
- .如果真 (位与 (取随机数 (, ), 1) = 1)
- 最大值 = 0 - 最大值
- .如果真结束
- .如果真 (最小值 > 最大值)
- 交换变量 (最小值, 最大值)
- .如果真结束
- 随机数 = 取正负随机整数 (最小值, 最大值)
- .如果真 (随机数 < 最小值 或 随机数 > 最大值)
- 调试输出 (随机数)
- 调试输出 (“错误”)
- 结束 ()
- .如果真结束
- .计次循环尾 ()
- 调试输出 (“成功”)
- 结束 ()
- .子程序 取随机字节, 字节型, 公开, 该算法可返回一个0~255范围随机的字节型数据
- .参数 置随机数种子, 逻辑型, 可空
- .局部变量 随机数种子, 整数型, 静态
- .局部变量 随机数, 字节型, 静态, "9"
- .如果真 (置随机数种子 = 真)
- 随机数种子 = 取绝对值 (到整数 (取CPU从0加到1亿需要的毫秒数 () × 到整数 (取数字时间 ()) × 取鼠标水平位置 () × 取鼠标垂直位置 ()))
- 随机数种子 = 取绝对值 (随机数种子)
- 随机数 [2] = 到字节 (位与 (随机数种子, 255) × 3 + 3)
- 随机数 [3] = 到字节 (右移 (位与 (随机数种子, 65280), 8) × 5 - 5)
- 随机数 [4] = 到字节 (右移 (位与 (随机数种子, 16711680), 16) × 7 + 7)
- 随机数 [5] = 到字节 (位与 (随机数种子, 255) × 9 + 9)
- 随机数 [6] = 到字节 (右移 (位与 (随机数种子, 65280), 8) × 11 - 11)
- 随机数 [7] = 到字节 (右移 (位与 (随机数种子, 16711680), 16) × 13 + 13)
- 随机数 [8] = 到字节 (右移 (位与 (随机数种子, 16711680), 16) × 15 - 15)
- .如果真结束
- 随机数 [2] = (随机数 [3] + 3) × 3
- 随机数 [3] = (随机数 [4] - 3) × 3
- 随机数 [4] = (随机数 [5] + 3) × 3
- 随机数 [5] = (随机数 [6] - 3) × 3
- 随机数 [6] = (随机数 [7] + 3) × 3
- 随机数 [7] = (随机数 [8] - 3) × 3
- 随机数 [8] = (随机数 [9] + 3) × 3
- 随机数 [9] = (随机数 [2] - 3) × 3
- .如果真 (随机数 [2] > 127)
- 随机数 [3] = 位异或 (随机数 [3], 127)
- .如果真结束
- .如果真 (随机数 [3] < 127)
- 随机数 [4] = 位异或 (随机数 [4], 127)
- .如果真结束
- .如果真 (随机数 [4] > 127)
- 随机数 [5] = 位异或 (随机数 [5], 127)
- .如果真结束
- .如果真 (随机数 [5] < 127)
- 随机数 [6] = 位异或 (随机数 [6], 127)
- .如果真结束
- .如果真 (随机数 [6] > 127)
- 随机数 [7] = 位异或 (随机数 [7], 127)
- .如果真结束
- .如果真 (随机数 [7] < 127)
- 随机数 [8] = 位异或 (随机数 [8], 127)
- .如果真结束
- .如果真 (随机数 [8] > 127)
- 随机数 [9] = 位异或 (随机数 [9], 127)
- .如果真结束
- .如果真 (随机数 [9] < 127)
- 随机数 [2] = 位异或 (随机数 [2], 127)
- .如果真结束
- 随机数 [1] = 位异或 (随机数 [2], 随机数 [3], 随机数 [4], 随机数 [5], 随机数 [6], 随机数 [7], 随机数 [8], 随机数 [9])
- 返回 (随机数 [1])
- .子程序 取正负随机整数, 整数型, 公开, 最大取值范围:-2147483648~2147483647
- .参数 最小值, 整数型, 可空, 默认为-2147483648
- .参数 最大值, 整数型, 可空, 默认为2147483647
- .局部变量 随机数A, 整数型
- .局部变量 随机数B, 整数型
- .局部变量 正随机数, 整数型
- .局部变量 正负标志, 字节型
- .局部变量 随机数, 整数型
- .局部变量 数间隔, 长整数型
- 随机数A = 取颜色值 (取随机字节 (), 取随机字节 (), 取随机字节 ())
- 随机数B = 取颜色值 (取随机字节 (), 取随机字节 (), 取随机字节 ())
- 正随机数 = 取绝对值 (左移 (随机数A, 24) + 随机数B)
- .如果真 (是否为空 (最小值))
- 最小值 = -2147483648
- .如果真结束
- .如果真 (是否为空 (最大值))
- 最大值 = 2147483647
- .如果真结束
- .如果真 (最小值 = 最大值)
- 返回 (最小值)
- .如果真结束
- .如果真 (最小值 > 最大值)
- 交换变量 (最小值, 最大值)
- .如果真结束
- 数间隔 = 最大值 - 最小值
- 随机数 = 正随机数 % 数间隔 + 最小值
- 返回 (随机数)
- .子程序 取数字时间, 长整数型, 公开
- .局部变量 文本时间, 文本型
- 文本时间 = 到文本 (取现行时间 ())
- 文本时间 = 子文本替换 (文本时间, “年”, , , , 真)
- 文本时间 = 子文本替换 (文本时间, “月”, , , , 真)
- 文本时间 = 子文本替换 (文本时间, “日”, , , , 真)
- 文本时间 = 子文本替换 (文本时间, “时”, , , , 真)
- 文本时间 = 子文本替换 (文本时间, “分”, , , , 真)
- 文本时间 = 子文本替换 (文本时间, “秒”, , , , 真)
- 返回 (到长整数 (文本时间))
- .子程序 取CPU从0加到1亿需要的毫秒数, 整数型, 公开, 由于CPU频率的不稳定性受到温度等环境以及硬件配置的影响,每次累加需要的时间都会不同,真随机数通过此函数产生的。
- .局部变量 开始时间, 整数型
- .局部变量 计数, 整数型
- 开始时间 = 取启动时间 ()
- .判断循环首 (计数 ≤ 100000000)
- 计数 = 计数 + 1
- .判断循环尾 ()
- 返回 (取启动时间 () - 开始时间)
复制代码
|
|