用php写类似microsoft的挖地雷游戏

王朝php·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

用php写类似microsoft的挖地雷游戏

用php写类似microsoft的挖地雷游戏 用php写类似microsoft的挖地雷游戏

<?

// 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 "&nbsp;";

} 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>

行数 : &nbsp;

<input type=text name=RowSize value=5 size=2>

<br>

列数 : &nbsp;

<input type=text name=ColSize value=5 size=2>

<br>

地雷数 : &nbsp;

<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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航