拼手气抢红包算法
https://www.haom2.net/data/attachment/forum/202303/04/090145kooaemrixmabmb4h.png
;========================脚本·说明=======================
;N$固定红包数量=红包数量
;N$保底比例=最少可获得金额 占总进的百分比默认1%
;N$红包总金额=本次红包的总金额
;实际应用的时候,只需要修改上边三个变量即可
;计算结果放置在变量 N$最终红包金额 ,你也可以修改成存储到列表,看个人习惯
;=====================================================
[@手气红包计算程序_CALL]
#IF
#ACT
MOV N$固定红包数量 30
MOV N$红包总金额 10000
MOV N$保底比例 1
;==================================================
MOV N$调试_累积发放金额对比 0
MOV N$已发红包次数 0
MOV N$剩余红包金额 <$STR(N$红包总金额)>
MOV N$剩余红包数量 <$str(N$固定红包数量)>
MOV N$执行次数 <$str(N$固定红包数量)>
DEC N$执行次数 1
CalcPercent<$str(N$红包总金额)><$str(N$保底比例)> <$str(N$保底红包)>
Loopgoto @计算红包数据 <$str(N$执行次数)>
Sendmsg 7 -----------------------------------------------151 0
Sendmsg 7 发放总金额=<$str(N$调试_累积发放金额对比)>RMB点
Break
[@计算红包数据]
#IF
#ACT
;累积红包发放数量
INC N$已发红包次数 1
DEC N$剩余红包数量 1
;计算公式 【 剩余红包金额=红包总额-剩余红包数量*保底红包/剩余红包数量】
MOV N$随机安全上限 <$STR(N$剩余红包金额)>
MUL N$随机安全上限_临时 <$STR(N$剩余红包数量)><$str(N$保底红包)>
DEC N$随机安全上限 <$STR(N$随机安全上限_临时)>
DIV N$随机安全上限 <$STR(N$剩余红包数量)>
;赋值随机上下限
INC N$红包最高取值 1
MOV N$红包最低取值 <$str(N$保底红包)>
MOV N$红包最高取值 <$str(N$随机安全上限)>
;存放数组 N$最终红包金额
MOVR N$本次红包金额 <$STR(N$红包最低取值)><$STR(N$红包最高取值)>
MOV N$最终红包金额[<$str(N$已发红包次数)>] <$STR(N$本次红包金额)>
;扣除本次发放红包金额
DEC N$剩余红包金额 <$STR(N$本次红包金额)>
;可删除无用的调试内容
;================================================================
#IF
#ACT
Sendmsg 7 第<$str(N$已发红包次数)>个红包,金额(<$STR(N$最终红包金额[<$str(N$已发红包次数)>])>)RMB点,剩余:<$str(N$剩余红包金额)>RMB点 151 0
INC N$调试_累积发放金额对比 <$STR(N$本次红包金额)>
;================================================================
;将未发放的剩余红包,给予最后一人
#IF
EQUAL N$已发红包次数 29
#ACT
INC N$调试_累积发放金额对比 <$STR(N$剩余红包金额)>\\可删除无用的调试内容
MOV N$最终红包金额 <$STR(N$剩余红包金额)>
DEC N$剩余红包金额 <$STR(N$最终红包金额)>
Sendmsg 7 第30个红包,金额(<$STR(N$最终红包金额)>)RMB点,剩余:<$str(N$剩余红包金额)>RMB点 151 0
页:
[1]