| 以文本方式查看主题 - 堕落街论坛 (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 -- 这个漏洞可是 俺发现的.. ^_^ |