以文本方式查看主题

-  堕落街论坛  (http://duoluojie.1314179.com.cn:443/index.asp)
--  社区事务  (http://duoluojie.1314179.com.cn:443/list.asp?boardid=5)
----  修复赌场赌大小的Bug  (http://duoluojie.1314179.com.cn:443/dispbbs.asp?boardid=5&id=7738)

--  作者:开心就好
--  发布时间:2003/10/29 10:40:00
--  修复赌场赌大小的Bug
  由于赌场赌大小的游戏存在漏洞,少数人抓住机遇,钻了空子,赚了不少钱。   为完善该游戏,赌住漏洞,现将游戏难度根据赌注设定:     1000(胜率50%)     2000     5000     8000     10000     20000     30000(胜率12.5%) 原代码为: d1=fix(rnd*6)+1 d2=fix(rnd*6)+1 d3=fix(rnd*6)+1 经修改后为:
if ds="big" then if dmoney<1000 then d1=fix(rnd*6)+1 d2=fix(rnd*6)+1 d3=fix(rnd*6)+1 elseif dmoney<2000 then d1=fix(rnd*5)+1 d2=fix(rnd*6)+1 d3=fix(rnd*6)+1 elseif dmoney<5000 then d1=fix(rnd*5)+1 d2=fix(rnd*5)+1 d3=fix(rnd*6)+1 elseif dmoney<8000 then d1=fix(rnd*5)+1 d2=fix(rnd*5)+1 d3=fix(rnd*5)+1 elseif dmoney<10000 then d1=fix(rnd*4)+1 d2=fix(rnd*5)+1 d3=fix(rnd*5)+1 elseif dmoney<20000 then d1=fix(rnd*4)+1 d2=fix(rnd*4)+1 d3=fix(rnd*5)+1 elseif dmoney<30000 then d1=fix(rnd*4)+1 d2=fix(rnd*4)+1 d3=fix(rnd*4)+1 end if else if dmoney<1000 then d1=fix(rnd*6)+1 d2=fix(rnd*6)+1 d3=fix(rnd*6)+1 elseif dmoney<2000 then d1=fix(rnd*5)+2 d2=fix(rnd*6)+1 d3=fix(rnd*6)+1 elseif dmoney<5000 then d1=fix(rnd*5)+2 d2=fix(rnd*5)+2 d3=fix(rnd*6)+1 elseif dmoney<8000 then d1=fix(rnd*5)+2 d2=fix(rnd*5)+2 d3=fix(rnd*5)+2 elseif dmoney<10000 then d1=fix(rnd*4)+3 d2=fix(rnd*5)+2 d3=fix(rnd*5)+2 elseif dmoney<20000 then d1=fix(rnd*4)+3 d2=fix(rnd*4)+3 d3=fix(rnd*5)+2 elseif dmoney<30000 then d1=fix(rnd*4)+3 d2=fix(rnd*4)+3 d3=fix(rnd*4)+3 end if end if
代码解释: rnd即取得一个0~1之间的随机数 rnd*6即取得0~6之间的随机数 fix(rnd*6)即取得0~5之间的随机数(即数学上的去尾法) fix(rnd*6)+1即得到1,2,3,4,5,6的随机整数
--  作者:小破孩
--  发布时间:2003/10/29 17:41:00
--  
唉2.....又得少赚钱拉... 哈哈..
--  作者:小破孩
--  发布时间:2003/10/29 17:41:00
--  
这个漏洞可是 俺发现的.. ^_^