<? // PHPMINE v1.0 //来源http://www.phpvault.com //是根据microsoft的挖地雷游戏编写 //这是一款自由软件,可以自由修改及应用 //如果发现这款的作用可发信mathias@phpvault.com //advance汉化
print "<html>"; print "<head>"; print "<title>PHPVault's PHPMine v1.0</title>"; print "</head>"; print "<body><center>"; print "<font size=4 face=Verdana><b>PHPMine v1.0</b>";
if ($submit=="") { $NumMine=4; $RowSize=5; $ColSize=5; $generer=1; }
if ($generer==1) { srand((double)microtime()*100000000); $time_start=time();
//判断输入的数值是否正确 if (($RowSize<=1) || ($ColSize<=1) || ($NumMine==0)) { print "<p><br><font size=-1 color=red>行数,列数或地雷数输入错误!!</font>"; exit; } if ($NumMine > $RowSize*$ColSize) { print "<p><br><font size=-1 color=red>地雷数太多!</font>"; exit; }
//初始化 for ($Row=1;$Row<=$RowSize;$Row++) { for ($Col=1;$Col<=$ColSize;$Col++) { $Mine[$Row][$Col]="0"; $Decouv[$Row][$Col]="0"; } }
$index=0; while ($index<$NumMine) { $Row=rand(1,$RowSize); $Col=rand(1,$ColSize); if ($Mine[$Row][$Col]=="0") { $Mine[$Row][$Col]="1"; $index++; } } } else { $perdu=0; $reste=$RowSize*$ColSize; for ($Row=1;$Row<=$RowSize;$Row++) { for ($Col=1;$Col<=$ColSize;$Col++) { $temp="Mine".($Row*($ColSize+1)+$Col); $Mine[$Row][$Col]=$$temp; $temp="Decouv".($Row*($ColSize+1)+$Col); $Decouv[$Row][$Col]=$$temp; if ($Decouv[$Row][$Col]=="1") {$reste=$reste-1;} $temp="submit".($Row*($ColSize+1)+$Col); if ($$temp=="ok") { $reste=$reste-1; if ($Mine[$Row][$Col]=="0") { $Decouv[$Row][$Col]="1"; } else { $perdu=1; } } } } if ($perdu==1) { print "<h2><font color=red>您输啦!</font></h2>"; for ($i=1;$i<=$RowSize;$i++) { for ($j=1;$j<=$ColSize;$j++) { $Decouv[$i][$j]="1"; } } } if (($reste==$NumMine)&&($perdu!=1)) { print "<h2>你赢啦!</h2>"; $time_stop=time(); $time=$time_stop-$time_start; print "<p><font size=-1><i>您的分数: $time</i></font>";
for ($i=1;$i<=$RowSize;$i++) { for ($j=1;$j<=$ColSize;$j++) { $Decouv[$i][$j]="1"; } } } }
print "<form method=get action="$PHP_SELF">";
print "<input type=hidden name=time_start value=$time_start>"; print "<input type=hidden name=NumMine value=$NumMine>"; print "<input type=hidden name=RowSize value=$RowSize>"; print "<input type=hidden name=ColSize value=$ColSize>"; print "<input type=hidden name=generer value=0>";
print "<p><table border=1 cellpadding=8>"; for ($Row=1; $Row<=$RowSize; $Row++) { print "<tr>"; for ($Col=1; $Col<=$ColSize; $Col++) { $nb=0; for ($i=-1; $i<=1; $i++) { for ($j=-1; $j<=1; $j++) { if ($Mine[$Row+$i][$Col+$j] == "1") { $nb++; } } } print "<td width=15 height=15 align=center valign=middle>"; if ($Decouv[$Row][$Col]=="1") { if ($nb==0) { print " "; } else { if ($Mine[$Row][$Col]=="1") { print "<font color=red>*</font>"; } else { print "$nb"; } } } else { print "<input type=hidden name=submit value=ok>"; print "<input type=submit name=submit".($Row*($ColSize+1)+$Col)." value=ok>"; } print "<input type=hidden name=Mine".($Row*($ColSize+1)+$Col)." value=".$Mine[$Row][$Col].">"; print "<input type=hidden name=Decouv".($Row*($ColSize+1)+$Col)." value=".$Decouv[$Row][$Col].">"; print "</td>"; } print "</tr>"; } print "</table>";
print "</form>";
?>
<hr> <form method=post> 行数 : <input type=text name=RowSize value=5 size=2> <br> 列数 : <input type=text name=ColSize value=5 size=2> <br> 地雷数 : <input type=text name=NumMine value=4 size=2> <p> <input type=submit name=submit value=开始> <input type=hidden name=generer value=1> </form> <p> <center><font size=-2>(c) 2000, <a href="http://www.phpvault.com">PHPVault</a> - All rights reserved<br> 程序开发<a href="mailto:perso@kidou.net">Kidou</a> </font> </center> </body> </html>
|