📄 e_casino.cgi
字号:
#!/perl/bin/perl
unless(($ENV{'HTTP_USER_AGENT'} =~ /MSIE 5/i || $ENV{'HTTP_USER_AGENT'} =~ /MSIE 6/i)
|| $ENV{'HTTP_USER_AGENT'}=~/Win/i){#如果不是IE5、6 浏览器 Windows平台,退出 了。
&HEADER;
print "对不起<BR>你的窗口不适合玩这个游戏。<br>只有IE5及以上版本才可以。";
exit;
}
use AnyDBM_File;
use Fcntl;
# require 'jcode.pl';
require 'ec_config.pl';
$Start ='<table width=100% height=100%><tr><td align=center>';
$End ='</td></tr></table>';
$LOGO="<a href=\"http://ama.lunar.to/ngc/\" target=_blank><span style=\"font-size:10pt\">© 元兴电脑</span></a>";
(read(STDIN, $QUERY_DATA, $ENV{'CONTENT_LENGTH'}),@pairs=split(/&/,$QUERY_DATA))if $ENV{'REQUEST_METHOD'} eq "POST";
@pairs = split(/&/,$ENV{'QUERY_STRING'})if $ENV{'REQUEST_METHOD'} eq "GET";
foreach (@pairs) {
($key, $value) = split(/=/,);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/\n//g;
$value =~ s/\s//g;
#&jcode'convert(*value,'sjis');
$QUERY{$key} = $value;
}
$QUERY{'cmd'}='START' if !$QUERY{'cmd'};
$Sub="$QUERY{'cmd'}";&$Sub;
sub HEADER {print "Content-type: text/html\n\n";
$CTXTM=' 'if $CONTEXT_MENU;
print << " -----END-----" if !$_;
<html><head>
<style type="text/css">
a {font-size:10pt;text-decoration:none;}
a:hover {text-decoration:none;}
body {font-size:10pt}
td {font-size:10.5pt}
input{font-weight:bold;font-size:10.5pt;height:110pt;background-color:#99ff99;border:3 outset #66ee66;font-family:'新细明体','新细明体';}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv="Content-Type" content="text/html; charset=zh-tw">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<title>$TITLE_BAR</title></head>
<body bgcolor="#006600" text=#ffffff LINK=#ffffff VLINK=#ffffff
style="margin:0px 0px 0px 0px;font-size:10pt;"$CTXTM oncontextmenu="return false;">
-----END-----
}
sub START{
print << "END_OF_HTML";
Content-type: text/html
<html oncontextmenu="return false;"><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>$TITLE_BAR</title></head>
<frameset rows="*,100%" frameborder=no border=0 framespacing=0>
<frame name="Sub" src="" scrolling=no>
<frame name="Main" src="$SCRIPT?cmd=MAIN">
</frameset>
</html>
END_OF_HTML
}
sub MAIN {
&HEADER;
print << " END_OF_HTML";
$Start
<span style="color:#ffffff;font-size:50pt">机器人牌戏</span><br>$LOGO
<table border=0 cellpadding=10 cellspacing=0><form method="post" id=fm>
<input type="hidden" name="cmd">
<input type="hidden" name="medal" value="$QUERY{'medal'}">
<input id=fd type=submit name="pname" style="display:none;">
</form><tr align="center"><td>
<input type=button value=" 比 大 小 " $Style_Button onClick="fm.cmd.value='GAME1';fm.fd.click();">
</td></tr><tr align="center"><td>
<input type=button value=" 九 张 牌 " $Style_Button onClick="fm.cmd.value='GAME2';fm.fd.click();">
</td></tr><tr align="center"><td>
<input type=button value=" 排 名 " $Style_Button onClick="fm.cmd.value='RANKING';fm.fd.click();">
</td></tr><tr align="center">
<form action=money.cgi method=POST>
<input type=hidden name="cmd" value="MAINTE">
<input type=hidden name="medal" value="$QUERY{'medal'}">
<td><input type=submit value=" 换 金 "></td></form>
</tr><tr align="center">
<td><input type=button value=" 终 了 " $Style_Button onClick="top.location.href='$RETURN_URL';"></td>
</tr></table>
$End
END_OF_HTML
&FOOTER;
}
sub GAME1 {
&HEADER;
$Card1="$IMG_URL/card1.gif";
$Card2="$IMG_URL/card2.gif";
$Card3="$IMG_URL/card3.gif";
if (!$QUERY{'medal'}){$QUERY{'medal'}=$START_MEDAL;}
print << "-----END-----";
<table width=100% height=100% bgcolor=#006600>
<tr><td align=center valign=middle>
<style type="text/css">
.card{border-style:none;position:relative;top:-75pt;vertical-align:middle;}
.card2{cursor:hand;}
.mark{position:relative;top:+28px;left:24px}
</style>
<script language="JavaScript">
var ing=ong=false;
var oyakazu1;
var result;
var bet;
var oyakazu2;
var dup=0;
function mover (c){
if (ing){eval(c).src='$Card2';}
}
function mout (c){
if (ing){eval(c).src='$Card1';}
}
function shuffle(med,betm){
if (ong){
return false;
}else if (eval(mymedal.innerText) < med && result != '赢') {
alert('筹码点数不足。');return false;
}else{
ong='true';
winbutton.style.visibility='hidden';
msg.innerText= '押' +med;
betm.style.border='4px inset #66ee66';
betm.style.background='#22aa22';
betmedal.innerText=med;
if (result != 'win'){
mymedal.innerText-=med;
}
c1.src=c2.src=c3.src=c4.src=c5.src=oya.src='$IMG_URL/dummy.gif';
mrcoya.src=mrc1.src=mrc2.src=mrc3.src=mrc4.src=mrc5.src='$IMG_URL/dummy2.gif';
valoya.innerText=valc1.innerText=valc2.innerText=valc3.innerText=valc4.innerText=valc5.innerText='';
setTimeout("oya.src='$Card1';",400)
setTimeout("c1.src='$Card1';",500)
setTimeout("c2.src='$Card1';",600)
setTimeout("c3.src='$Card1';",700)
setTimeout("c4.src='$Card1';",800)
setTimeout("c5.src='$Card1';",900)
setTimeout("oya.src='$Card3';",1100)
setTimeout("openoya()",1100)
}
}
function openoya(){
oyakazu1 =Math.floor( Math.random()*52);
oyakazu2 = oyakazu1 % 13;
if (oyakazu2 == 0){oyakazu2=13;}
var oyakazu3 = Math.floor(oyakazu1 / 13 + 1);
if (oyakazu2 == 11){valoya.innerText='J';}
else if (oyakazu2 == 12){valoya.innerText='Q';}
else if (oyakazu2 == 13){valoya.innerText='K';}
else if (oyakazu2 == 1){valoya.innerText='A';oyakazu2=14;}
else {valoya.innerText=oyakazu2;}
mrcoya.src='$IMG_URL/' + oyakazu3 + '.gif';
ing='true';
}
function opencard(cardNo,cNo,dNo){
if (ing){
ing=ong=false;
for(i=0;i=-1;i++){
var kokazu1 =Math.floor( Math.random()*54);
if (oyakazu1 != kokazu1){break;}
}
var kokazu2 = kokazu1 % 13;
if (kokazu2 == 0){kokazu2=13;}
var kokazu3 = Math.floor(kokazu1 / 13 + 1);
cardNo.src='$Card3';
if (kokazu3 == 5){cNo.innerText='Joker';kokazu2=Number.POSITIVE_INFINITY;}
else if (kokazu2 == 11){cNo.innerText='J';}
else if (kokazu2 == 12){cNo.innerText='Q';}
else if (kokazu2 == 13){cNo.innerText='K';}
else if (kokazu2 == 1){cNo.innerText='A';kokazu2=14;}
else {cNo.innerText=kokazu2;}
dNo.src='$IMG_URL/' + kokazu3 + '.gif';
if (oyakazu2 < kokazu2){
msg.innerText='你赢了!';
dup++;
result='win';
betmedal.innerText=eval(betmedal.innerText)*2;
double.style.border='3px outset #99ff99';
double.style.background='#66ee66';
winbutton.style.visibility='visible';
}else if(oyakazu2 == kokazu2){
if (oyakazu1 < kokazu1){
msg.innerText='你赢了!';
winbutton.style.visibility='visible';
dup++;
result='win';
double.style.border='3px outset #99ff99';
double.style.background='#66ee66';
betmedal.innerText=eval(betmedal.innerText)*2;
}else if(oyakazu1 > kokazu1){
msg.innerText='你输了~';
dup=0;
result='lose';
betmedal.innerText='0';
onebet.style.border=fivebet.style.border=tenbet.style.border='3px outset #99ff99';
onebet.style.background=fivebet.style.background=tenbet.style.background='#66ee66';
}
}else if(oyakazu2 > kokazu2){
msg.innerText='你输了~';
dup=0;
result='lose';
betmedal.innerText='0';
onebet.style.border=fivebet.style.border=tenbet.style.border='4px outset #99ff99';
onebet.style.background=fivebet.style.background=tenbet.style.background='#66ee66';
}
}else{return false;}
}
function pay(){
if (dup >= $GAME1_RANKIN){
nm=prompt('你的成绩进入排名了,请输入你的名字\\n(输入文字不能超过八个字)','');
if(nm){
if (nm.length > 16){alert('超过八个字了。('+nm.length+'文字)');return false;}
if(nm.match('[&! =.,<>]') != null) {window.alert('文字包含禁止使用的半角字符。');return false }
rank.name.value=nm;
com=prompt('请输入你的发言(输入文字不能超过30个字)','');
if(com != null){
if (com.length > 60){alert('超过30个字了。('+com.length+'文字)');return false;}
if(com.match('[! =.,<>]') != null) {window.alert('文字包含禁止使用的半角字符。');return false }
rank.medal.value=betmedal.innerText;
rank.up.value=dup;
rank.Comment.value=com;
rank.sbm.click();
}
}
}
winbutton.style.visibility='hidden';
mymedal.innerText=eval(mymedal.innerText) + eval(betmedal.innerText);
betmedal.innerText='0';
onebet.style.border=fivebet.style.border=tenbet.style.border='4p3 outset #99ff99';
onebet.style.background=fivebet.style.background=tenbet.style.background='#66ee66';
result='';
}
</script>
<table border=3 cellspacing=0 cellpadding=10 bordercolordark="#CCFFFF" bordercolorlight="#CCFFCC">
<tr><td style="font-size:25pt"><b>比 大 小</b><div align=right>$LOGO</div></td></tr>
</table><br>
<input id=onebet type=button value=" 押[壹]点 " onClick="if (result != 'win'){shuffle(1,onebet);}">
<input id=fivebet type=button value=" 押[伍]点 " onClick="if (result != 'win'){shuffle(5,fivebet);}">
<input id=tenbet type=button value=" 押[拾]点 " onClick="if (result != 'win'){shuffle(10,tenbet);}">
<br><br>
<table border=0 cellpadding=0 cellspacing=0 style="color:000000;font-size:12pt;font-weight:bold;">
<tr height=66>
<td><img src="$IMG_URL/dummy.gif" id=oya></td>
<td> </td>
<td><img src="$IMG_URL/dummy.gif" id=c1 onMouseOver="mover(c1)" onMouseOut="mout(c1)" onClick="opencard(c1,valc1,mrc1)" class="card2"></td>
<td><img src="$IMG_URL/dummy.gif" id=c2 onMouseOver="mover(c2)" onMouseOut="mout(c2)" onClick="opencard(c2,valc2,mrc2)" class="card2"></td>
<td><img src="$IMG_URL/dummy.gif" id=c3 onMouseOver="mover(c3)" onMouseOut="mout(c3)" onClick="opencard(c3,valc3,mrc3)" class="card2"></td>
<td><img src="$IMG_URL/dummy.gif" id=c4 onMouseOver="mover(c4)" onMouseOut="mout(c4)" onClick="opencard(c4,valc4,mrc4)" class="card2"></td>
<td><img src="$IMG_URL/dummy.gif" id=c5 onMouseOver="mover(c5)" onMouseOut="mout(c5)" onClick="opencard(c5,valc5,mrc5)" class="card2"></td>
</tr>
<tr height=66>
<td class="card"><div id=valoya align=right></div><img class="mark" src="$IMG_URL/dummy2.gif" id=mrcoya></td>
<td class="card"></td>
<td class="card"><div id=valc1 align=right></div><img class="mark" src="$IMG_URL/dummy2.gif" id=mrc1></td>
<td class="card"><div id=valc2 align=right></div><img class="mark" src="$IMG_URL/dummy2.gif" id=mrc2></td>
<td class="card"><div id=valc3 align=right></div><img class="mark" src="$IMG_URL/dummy2.gif" id=mrc3></td>
<td class="card"><div id=valc4 align=right></div><img class="mark" src="$IMG_URL/dummy2.gif" id=mrc4></td>
<td class="card"><div id=valc5 align=right></div><img class="mark" src="$IMG_URL/dummy2.gif" id=mrc5></td>
</tr>
</table>
<br>
<table border=1 cellspacing=0 cellpadding=3 bordercolordark="#006600" bordercolorlight="#ffffff">
<tr><td bgcolor="003300">筹码点数:</td><td width=50 id=mymedal align=right bgcolor="336633"></td>
<td bgcolor="003300">下注点数:</td><td width=50 id=betmedal align=right bgcolor="336633">0</td>
</tr>
<tr><td colspan=2 id=msg> </td>
<td colspan=2><span id=winbutton style="visibility:hidden;">
<input id=double type=button value="双倍再押" onClick="shuffle(betmedal.innerText,double,true);">
<input id=pay type=button value="收点" onClick="pay();"></span>
</td>
</tr>
</table>
<br>
<form method="post" action="$SCRIPT" id=exit>
<input type="hidden" name="cmd" value=MAIN>
<input type="hidden" name="medal">
<input type=submit value=" 退出 " onClick="if (ing){return false;}else if (result != 'win'){exit.medal.value=mymedal.innerText;}">
</form>
<table style="border:3px solid #ffffff;color:#ffffff;">
<tr><td>游戏说明:<br>
当你选的牌比第一张牌大时为胜。<br>
赢了一注後你可选择加倍再押或是收点。<br>
当牌面同值时,按花色比大小,从小到大顺序为
<img src="$IMG_URL/1.gif" style="background-color:#ffffff;">→
<img src="$IMG_URL/2.gif" style="background-color:#ffffff;">→
<img src="$IMG_URL/3.gif" style="background-color:#ffffff;">→
<img src="$IMG_URL/4.gif" style="background-color:#ffffff;">。
</td></tr>
</table>
<form method="post" action="$SCRIPT" id=rank target=Sub>
<input type="hidden" name="cmd" value="RANKIN">
<input type="hidden" name="name">
<input type="hidden" name="medal">
<input type="hidden" name="up">
<input type="hidden" name="Comment">
<input id=sbm type=submit name="pname" style="display:none;">
</form>
</td></tr></table>
<div align=right>$LOGO</div>
$End</body></html>
<script language="JavaScript">
mymedal.innerText='$QUERY{'medal'}';
</script>
-----END-----
}
sub GAME2 {
&HEADER;
if (!$QUERY{'medal'}){$QUERY{'medal'}=$START_MEDAL;}
print << "-----END-----";
<table width=100% height=100% bgcolor=#006600>
<tr><td align=center valign=middle>
<style type="text/css">
.card{border-style:none;position:relative;top:-85px;vertical-align:middle;}
.no{border-style:none;position:relative;top:-85px;vertical-align:middle;}
.card2{cursor:hand;}
.mark{position:relative;top:+14px;left:23px;width:20px;heigt:20px;}
</style>
<script language="JavaScript">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -