<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>FutureTech--getGold</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<META http-equiv="Content-Language" content="zh-cn">
<STYLE type="text/css">
BODY { FONT-SIZE: 12pt; FONT-FAMILY: "Verdana", "Arial", "Helvetica", "sans-serif" }
P { FONT-SIZE: 9pt; FONT-FAMILY: "Verdana", "Arial", "Helvetica", "sans-serif" }
TD { FONT-SIZE: 9pt; FONT-FAMILY: "Verdana", "Arial", "Helvetica", "sans-serif" }
.CompanyName { FONT-SIZE: 23pt; FONT-FAMILY: "Verdana", "Arial", "Helvetica", "sans-serif" }
.style1 {
font-size: 12pt;
font-weight: bold;
} .style2 {
font-family: Arial, Helvetica, sans-serif;
font-size: 14pt;
color: #FFFFFF;
}
</STYLE>
</HEAD>
<BODY bgColor="#ffffff"><center>
<TABLE cellSpacing="0" cellPadding="0" width="75%" border="0">
<TR><TD width="96%" colSpan="2" height="50" bgcolor="#CC9966">
<DIV align="center" class="style1 style2">挖 金 子</DIV>
</TD>
</TR>
</table>
<TABLE cellSpacing="0" cellPadding="0" width="75%" border="0">
<TR><TD bgColor="#ffcc00" height="1"></TD></TR>
<TR><TD colSpan="2" height="12"></TD></TR>
<TR><TD bgColor="#ffcc00" height="2"></TD></TR>
</TABLE>
<?
if ($submit=="") { //如果页面没有提交,即初始化游戏
$NumGOLD=10;
$RowSize=7;
$ColSize=7;
$generer=1;// $generer变量记录提交否:1表示未提交
}
?>
<table cellspacing="0" cellpadding="0" width="75%" align="center" border="0">
<tr>
<td valign="middle" width="20" height="393"></td>
<td valign="middle" width="120"><p>游戏规则:</p>
<p>
<?
echo $RowSize*$ColSize;
?>
个格子里有
<?
echo $NumGOLD;
?>
个金子,挖到一个金子得5分,挖错扣一分,挖错格子后该格子会显示他相邻格子里的金子个数来提示您继续挖,祝您好运!</p><p>积分榜首:
<?
$fp=fopen("mark.txt","r");
$oldmark=fgets($fp,5);
echo $oldmark;
fclose($fp);
?>
</p>
<p><br>
</p></td>
<td valign="middle" width="20"> </td>
<td valign="top" width="10" height="393" bgcolor="#0099FF"> </td>
<td align="center" valign="middle" width="424">
<?
if ($generer==1) // 第一次打开页面或重新生成时的处理:
{
$Mark=0;//记录玩家分数
$Getgold=0;//记录玩家挖到的金子
srand((double)microtime()*100000000); //播下随机数种子
$time_start=time(); //设置游戏开始时间
for ($Row=1;$Row<=$RowSize;$Row++)
{
for ($Col=1;$Col<=$ColSize;$Col++)
{
$GOLD[$Row][$Col]="0"; //把所有的格子设为不是金子
$Decouv[$Row][$Col]="0"; //把所有格子记录没有点击过
}
}
$index=0;//金子个数记录标志数
while ($index<$NumGOLD)
{
$Row=rand(1,$RowSize);
$Col=rand(1,$ColSize); //得到一个随机产生的行数,列数
if ($GOLD[$Row][$Col]=="0")//如果该随机格子没有金子则设置为有金子
{
$GOLD[$Row][$Col]="1";
$index++;
}
}
}
else //点了一个格子后的处理:
{
for ($Row=1;$Row<=$RowSize;$Row++)
{
for ($Col=1;$Col<=$ColSize;$Col++)
{
//根据得到的上次提交数据判断结果,如其中
$temp="GOLD".($Row*($ColSize+1)+$Col);
$GOLD[$Row][$Col]=$$temp;
$temp="Decouv".($Row*($ColSize+1)+$Col);
$Decouv[$Row][$Col]=$$temp;
$temp="submit".($Row*($ColSize+1)+$Col);
if ($$temp=="ok") //当前的格子是刚刚点击,做是否中金子判断
{
if ($GOLD[$Row][$Col]=="0")
{
$Decouv[$Row][$Col]="1";
$Mark=$Mark-1;
}
else
{
$perdu=1;
$Mark=$Mark+5;
$Getgold=$Getgold+1;
$Decouv[$Row][$Col]="1";
}
}
}
}
if ($Getgold==$NumGOLD)
//如果没有点的跟金子初始值同并且没有输则赢,为了显示金子信息设置每个格子都被点过
{
echo "<h2>您挖完了所有的金子!</h2>";
$time_stop=time();
$time=$time_stop-$time_start;
$finalMark=$Mark-(int)($time/60);
$fp=fopen("mark.txt","rw");
$oldmark=fgets($fp,5);
if($oldmark<=$finalMark)
{
echo "<font color=red>您的总体积分".$finalMark."打破了积分榜首</font>";
fclose($fp);
$fp=fopen("mark.txt","w");
fwrite($fp, $finalMark);
}
else
{
echo "<font color=red>您的总体积分".$finalMark."未能打破积分榜首</font>";
}
fclose($fp);
echo "<p>";
for ($i=1;$i<=$RowSize;$i++)
{
for ($j=1;$j<=$ColSize;$j++)
{
$Decouv[$i][$j]="1";
}
}
}
}
echo "<form method=get action=\"$PHP_SELF\">";
echo "<input type=hidden name=time_start value=$time_start>"; //游戏开始时间
echo "<input type=hidden name=NumGOLD value=$NumGOLD>"; //金子数目
echo "<input type=hidden name=RowSize value=$RowSize>"; //行数
echo "<input type=hidden name=ColSize value=$ColSize>"; //列数
echo "<input type=hidden name=Mark value=$Mark>"; //分数
echo "<input type=hidden name=Getgold value=$Getgold>"; //已挖金子
echo "<input type=hidden name=generer value=0>";
echo "<p><TABLE cellSpacing=1 cellPadding=0 bgColor=#cc9900 border=0>";
for ($Row=1; $Row<=$RowSize; $Row++)
{
echo " <TR align=middle bgColor=#ffffcc>";
for ($Col=1; $Col<=$ColSize; $Col++)
{
$nb=0;
for ($i=-1; $i<=1; $i++)
{
for ($j=-1; $j<=1; $j++)
{
if ($GOLD[$Row+$i][$Col+$j] == "1")
{
$nb++; //计算该格子周围9个格子的金子数
}
}
}
echo "<td width=30 height=30 align=center valign=middle>";
if ($Decouv[$Row][$Col]=="1")//如果该格子被点击过,则显示该格子周围9个格子的金子数
{
if ($nb==0)
{
echo " ";
}
else
{
if ($GOLD[$Row][$Col]=="1")
{
echo "<font color='red'>★</font>";
}
else
{
echo "$nb";
}
}
}
else //该格子没有点击过显示为按钮
{
echo "<input type=hidden name=submit value=ok>";
echo "<input type=submit name=submit".($Row*($ColSize+1)+$Col)." value=ok>";
//如果submit7=ok记录下该按钮被点击
}
echo "<input type=hidden name=GOLD".($Row*($ColSize+1)+$Col)." value=".$GOLD[$Row][$Col].">";
//如GOLD7=1表示第一个格为金子
echo "<input type=hidden name=Decouv".($Row*($ColSize+1)+$Col)." value=".$Decouv[$Row][$Col].">";
//如Decouv7=1表示第一个格已经点击过
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
echo "</form>";
//POST是发送数据,GET是从URL中得到数据。
?>
</td>
<td valign="top" width="10" bgcolor="#ffcc00" height="393"></td>
<td valign="middle" width="20" height="393"></td>
<td valign="middle" width="120">总共金子数:<? echo $NumGOLD; ?><br>
<br>
<br>
您现在的得分:<? echo $Mark; ?><br>
<br>
<br>
您已经使用时间:<br>
<? $temptime=time()-$time_start;
$tempminu=(int)($temptime/60);
$tempsec=$temptime%60;
echo $tempminu."分".$tempsec."秒"; ?>
<br>
<br>
<br>
您已经挖到的金子: <? echo $Getgold; ?>
<br><form method=post><input type=hidden name=generer value=1><input type=submit name=start value="重来"></form></td>
<td valign="middle" width="20"> </td>
</tr>
</table>
<table cellspacing="0" cellpadding="0" width="65%" border="0">
<tr bgcolor="#949231"><td height="2"> </td> </tr>
</table>
<div align="center"><font face="Arial, Helvetica, sans-serif" color="#3169a5" size="2">Copyright 2004 FutureTech--funy All rights reserved.</font> <br> </div>
<table cellspacing="0" cellpadding="0" width="75%" border="0">
<tr bgcolor="#006500"><td height="3"></td></tr>
</table></center>
</BODY>
</HTML>
测试页面:http://202.114.99.39/getGold.php