jug7.com
[ home / cgi / juggler / column / diary / bbs / link / welcome ]
source : 秘宝伝 BIG中シミュレーション
#!/usr/bin/perl
# 秘宝伝 BIG中 シミュレーション
$cginame = 'hihou_big2.cgi';
$title = '秘宝伝 BIG中シミュレーション';
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
read (STDIN, $s, $ENV{'CONTENT_LENGTH'});
}
$s =~ s/s=//;
print "Content-Type: text/html\n\n";
# ヘッダとフォームの表示
print <<"__ FORM __";
<!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>
<html lang='ja'>
<head>
<meta http-equiv='Content-Type' content="text/html; charset=shift_jis">
<title>jug7.com - cgi $title</title>
<style type="text/css"> <!--
A:hover {color:#ff0000;}
--></style>
</head>
<body text='#000000' bgcolor='#ffffff' link='#0000ff' alink='#ff0000' vlink='#0000cc'>
<font size=7><b><font face='Times New Roman,Times'>jug</font><font face='Bookman Old Style,arial black,Helvetica Black'>7</font><font face='Times New Roman,Times'>.com</font></b></font>
<hr color='#00aa00'>
<strong>[ <a href='../index.html'>home</a> / <a href='index.html'>cgi</a> / <a href='../jug/index.html'>juggler</a> / <a href='../column.html'>column</a> / <a href='../diary/index.html'>diary</a> / <a href='bbs.cgi'>bbs</a> / <a href='../link.html'>link</a> / <a href='../intro.html'>welcome</a> ]</strong>
<div align='center'><h2>$title</h2></div>
<hr width='70%'>
<div align='right'>[ <a href='hihou_big2_memo.html'>memo</a> / <a href='hihou_big2.html'>source</a> ]</div>
<br><br><center>
<form action='$cginame' method='POST'>
<table border=0 align='center' width='80%'>
<tr valgin='top'><td>
設定 <input type='text' maxlength=1 name='s' size=8 value='$s'><br><br><input type='submit' value="開始">
</td><td>
<table border=1 cellspacing=0><caption><font size=2>使用データ</font></caption>
<tr bgcolor='#ffffcc'><td nowrap><font size=2>設定</font></td><td nowrap><font size=2>ベル確率</font></td>
<td nowrap><font size=2>ハズレ確率</font></td><td><font size=2>スイカ確率</font></td><td><font size=2>JACIN</font></td><td><font size=2>チェリー</font></td>
<td nowrap><font size=2>スイカ / ハズレ<br>*100</font></td>
</tr>
<tr><td align='center'>1</td><td align='right'>1/1.771</td>
<td align='right'>1/9.689</td><td algin='right'>1/32.768</td>
<td algin='right' rowspan=6>1/3.698</td>
<td algin='right' rowspan=6>1/32.000</td><td align='right'><b>29.568 %</b></td>
</tr>
<tr><td align='center'>2</td><td align='right'>1/1.748</td>
<td align='right'>1/10.807</td><td align='right'>1/29.789</td><td align='right'><b>36.280 %</b></td>
</tr>
<tr><td align='center'>3</td><td align='right'>1/1.725</td>
<td align='right'>1/12.218</td><td align='right'>1/27.307</td><td align='right'><b>44.743 %</b></td>
</tr>
<tr><td align='center'>4</td><td align='right'>1/1.702</td>
<td align='right'>1/14.051</td><td align='right'>1/25.206</td><td align='right'><b>55.746 %</b></td>
</tr>
<tr><td align='center'>5</td><td align='right'>1/1.680</td>
<td align='right'>1/16.533</td><td align='right'>1/23.406</td><td align='right'><b>70.636 %</b></td>
</tr>
<tr><td align='center'>6</td><td align='right'>1/1.659</td>
<td align='right'>1/20.078</td><td align='right'>1/21.845</td><td align='right'><b>91.912 %</b></td>
</tr>
</table>
</td></tr></table>
</center></form>
<br><br>
__ FORM __
# エラーチェックとGET送信
if ($s<=0 && $s>6) { $error = 1; $er_msg = '設定は1〜6までです。'; }
if ($s =~ /[^\d]/) { $error = 1; $er_msg = '不適切な文字が記入されています。'; }
if ($s eq '') { $error = 1; $er_msg = '記入漏れがあります。'; }
if ($ENV{'REQUEST_METHOD'} ne 'POST') { $error = 1; $er_msg = 0; }
if ($er_msg) {
print q{<center><b><font color='red' size=4>*** ERROR !! ***</font><br><br>},"\n";
print "$er_msg</b></center>\n";
}
if ($error) {
print '<br><br><br><br><br>';
print q{<div align='right'>[ <a href='hihou_big2_memo.html'>memo</a> / <a href='hihou_big2.html'>source</a> ]</div>};
print q{<strong>[ <a href='../index.html'>home</a> / <a href='index.html'>cgi</a> / <a href='../jug/index.html'>juggler</a> / <a href='../column.html'>column</a> / <a href='../diary/index.html'>diary</a> / <a href='bbs.cgi'>bbs</a> / <a href='../link.html'>link</a> / <a href='../intro.html'>welcome</a> ]</strong>};
print '</body></html>';
exit;
}
# data
@bell = (37000, 37500, 38000, 38500, 39000, 39500); $bellr = $bell[$s-1];
@suika = (2000, 2200, 2400, 2600, 2800, 3000); $suikar = $suika[$s-1];
@hazure = (6764, 6064, 5364, 4664, 3964, 3264); $hazurer = $hazure[$s-1];
print <<"__ HTML __";
<br><br><table border=1 align='center' cellspacing=0><caption><b><font color='#ff0000'>設定 $s</font></b><br>
<font size=2>(便宜上、1回のBIGで小役ゲームは24Pに固定。)</font></caption>
<tr align='center' bgcolor='#ffffcc'><td><font size=2>BIG回数</font></td>
<td><font size=2>BIG中<br>「総プレイ数 - スイカ - ハズレ」</font></td><td><font size=2>スイカ / ハズレ *100</font></td>
<td><font size=2>累計BIG中<br>「総プレイ数 - スイカ - ハズレ」</font></td><td><font size=2>累計 スイカ / ハズレ *100</font></td>
</tr>
__ HTML __
#----------------------
# シミュレートと表示
#----------------------
$bellcount = $hazcount = $suikacount = 0;
for($i=1; $i<=40; $i++) {
for (1..24) {
$r = int(rand(65536)+1);
if ($r <= $bellr) { $bellcount++; }
elsif ($r <= $bellr+$suikar) { $suikacount++; }
elsif ($r <= $bellr+$suikar+$hazurer) { $hazcount++; }
}
$trial = 24 * $i;
$t_bellcount += $bellcount;
$t_suikacount += $suikacount;
$t_hazcount += $hazcount;
$rate = &point(($suikacount/$hazcount*100), 2) if $hazcount;
$t_rate = &point(($t_suikacount/$t_hazcount*100), 2) if $t_hazcount;
print "<tr><td align='center'>$i</td><td align='center'>24 - $suikacount - $hazcount</td>";
print "<td align='right'>$rate %</td><td align='center'>$trial - $t_suikacount - $t_hazcount</td>";
print "<td align='right'>$t_rate %</td></tr>";
$bellcount = $suikacount = $hazcount = 0;
}
# 再試行ボタンとフッタ
print <<"__ END __";
</table>
<form action='$cginame' method='POST'>
<input type='hidden' name='s' value='$s'>
<center><input type='submit' value="再試行"></center>
</form><br><br>
<div align='right'>[ <a href='hihou_big2_memo.html'>memo</a> / <a href='hihou_big2.html'>source</a> ]</div>
<strong>[ <a href='../index.html'>home</a> / <a href='index.html'>cgi</a> / <a href='../jug/index.html'>juggler</a> / <a href='../column.html'>column</a> / <a href='../diary/index.html'>diary</a> / <a href='bbs.cgi'>bbs</a> / <a href='../link.html'>link</a> / <a href='../intro.html'>welcome</a> ]</strong>
</body></html>
__ END __
exit;
# 少数を四捨五入して指定の桁にする
sub point {
my($value, $fig, $x);
($value, $fig) = @_;
$value = int($value * (10 ** $fig) + 0.5) / (10 ** $fig);
if ($value =~ /(\d+)\.(\d+)/) { $x = $2; }
elsif ($value !~ /\./) { $x =''; $value .= '.'; }
$value = $value.'0' x ( $fig - length($x) );
return $value;
}
[ home / cgi / juggler / column / diary / bbs / link / welcome ]