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 ]