分享
 
 
 

PHP写的挖金子游戏

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

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

}

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有