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

原创 2000年12月24日 12:02:00
用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>

EasyX图形库实现的扫雷

两年前写的扫雷、也算完成了吧!同学说要用这个做毕业设计……刚想起来发上来!代码很丑陋。本来要加入可以选择难度的菜单,但是#define这个东西真是气人、也怪我C没学好。搞得我加入开始画面的心情也没有了...
  • weizi4332
  • weizi4332
  • 2014年01月06日 13:50
  • 1497

没事写点啥(一)——C++扫雷

整天编学校的作业实在枯燥,不如……写点别的?
  • destinyson
  • destinyson
  • 2016年02月29日 14:17
  • 1718

Java简单雷电游戏代码

Java简单雷电游戏代码
  • javaniuniu
  • javaniuniu
  • 2017年03月22日 12:29
  • 2215

C#做的一个类似挖地雷的游戏

  • 2011年06月04日 04:44
  • 14.99MB
  • 下载

C#做的类似挖地雷游戏(碰碰运气)

  • 2011年06月03日 21:36
  • 14.99MB
  • 下载

PyQt挖地雷游戏学习笔记(2)

分析多个文件组成的源代码,最好使用辅助工具。 我试过Source Navigator 和 Source Insight,感觉后者功能多些,比较好用。 一、程序的组成模块等文件 这个挖地雷游戏,主要由2...
  • lawme
  • lawme
  • 2014年09月10日 21:53
  • 2782

java编辑挖地雷游戏

  • 2012年06月17日 22:41
  • 15KB
  • 下载

在线挖地雷游戏

  • 2004年08月19日 17:48
  • 3KB
  • 下载

Windows上的挖地雷游戏源代码

  • 2009年11月27日 23:27
  • 258KB
  • 下载

PyQt挖地雷游戏学习笔记(7)

1、游戏规则 地雷随机埋设在“棋盘”方格里,挖到地雷为败,挖光全部无雷方格为胜。 2、游戏的空间表示 游戏发生在棋盘上,游戏的场景、规则,都体现在棋盘上。 棋盘,由“场景盘”和“逻辑盘”共同组成。 “...
  • lawme
  • lawme
  • 2014年09月18日 04:45
  • 2020
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用php写类似microsoft的挖地雷游戏
举报原因:
原因补充:

(最多只允许输入30个字)