|
之前看到帖子说 求抽奖的源码,奖池7个 ,连抽5个,不能有重复的,
然后寻思简单 就做了一个 ,但是后来一看,自己忽略了概率的问题 一等奖嘎嘎来,
后来完善了一下,但是 贴主已经闭贴了, 评论也好些人说忽略了概率的问题,后来就自己琢磨了一会儿,
还是搞出来了,但是贴主不要了,就在这边分享吧
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 奖池 | 文本型 | | 7 | result | 整数型 | | | 奖品 | 文本型 | | | 二次抽奖 | 文本型 | | 0 | 一等奖 | 逻辑型 | | | 二等奖 | 逻辑型 | | | 三等奖 | 逻辑型 | | | 四等奖 | 逻辑型 | | | 五等奖 | 逻辑型 | | | 六等奖 | 逻辑型 | | | 七等奖 | 逻辑型 | | | 点数小 | 整数型 | | | 点数大 | 整数型 | | | 抽取次数 | 整数型 | | |
奖池 = { “7等奖”, “6等奖”, “5等奖”, “4等奖”, “3等奖”, “2等奖”, “1等奖” }抽取次数 = 5 点数小 = 1 点数大 = 10000 连续赋值 (真, 一等奖, 二等奖, 三等奖, 四等奖, 五等奖, 六等奖, 七等奖 )连续赋值 (假, 标签1.可视, 标签2.可视, 标签3.可视, 标签4.可视, 标签5.可视, 标签6.可视, 标签7.可视 )判断循环首 (抽取次数 > 0 )抽取次数 = 抽取次数 - 1 调试输出 (点数小 )调试输出 (点数大 )result = 取随机数 (点数小, 点数大 )调试输出 (result )判断 (result > 0 且 result ≤ 5000 )奖品 = “7等奖”加入成员 (二次抽奖, 奖品 )调试输出 (777 )七等奖 = 假 点数小 = 5001 标签7.可视 = 真 判断 (result > 5000 且 result ≤ 7000 )奖品 = “6等奖”标签6.可视 = 真 判断 (六等奖 = 假)抽取次数 = 抽取次数 + 1 调试输出 (“重复6”)六等奖 = 假 调试输出 (“抽到6”)加入成员 (二次抽奖, 奖品 )判断 (七等奖 = 假 且 六等奖 = 假)点数小 = 7001 调试输出 (666 )判断 (7000 < result 且 result ≤ 8600 )奖品 = “5等奖”标签5.可视 = 真 判断 (五等奖 = 假)抽取次数 = 抽取次数 + 1 调试输出 (“重复5”)五等奖 = 假 调试输出 (“抽到5”)加入成员 (二次抽奖, 奖品 )判断 (七等奖 = 假 且 六等奖 = 假 且 五等奖 = 假)点数小 = 8601 调试输出 (55 )判断 (8600 < result 且 result ≤ 9300 )奖品 = “4等奖”标签4.可视 = 真 判断 (四等奖 = 假)抽取次数 = 抽取次数 + 1 调试输出 (“重复4”)四等奖 = 假 调试输出 (“抽到4”)加入成员 (二次抽奖, 奖品 )判断 (七等奖 = 假 且 六等奖 = 假 且 五等奖 = 假 且 四等奖 = 假)点数小 = 9301 调试输出 (444 )判断 (9300 < result 且 result ≤ 9800 )奖品 = “3等奖”标签3.可视 = 真 判断 (三等奖 = 假)抽取次数 = 抽取次数 + 1 三等奖 = 假 加入成员 (二次抽奖, 奖品 )判断 (9800 < result 且 result ≤ 9958 )奖品 = “2等奖”标签2.可视 = 真 判断 (二等奖 = 假)抽取次数 = 抽取次数 + 1 二等奖 = 假 加入成员 (二次抽奖, 奖品 )判断 (9958 < result 且 result ≤ 10000 )奖品 = “1等奖”标签1.可视 = 真 加入成员 (二次抽奖, 奖品 )调试输出 (111 )一等奖 = 假 点数大 = 9958 调试输出 (奖品)调试输出 (“剩余次数 = ” + 到文本 (抽取次数 )) 判断循环尾 () 调试输出 (二次抽奖 )
|
|