|

之前看到帖子说 求抽奖的源码,奖池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     调试输出 (奖品) 调试输出 (“剩余次数 = ” + 到文本 (抽取次数 )) 判断循环尾 () 调试输出 (二次抽奖 )
|
|