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