PHP写的挖金子游戏

原创 2004年10月09日 11:59:00

select top 1 *  from lectureForms where datediff(second,getdate(),time)>0 order by time asc
<!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

首先从HTML代码开始,我们先找一个教学的网页,把地址告诉他们,他们有空就去看看,同时布置一个作业:就是我们打开网页和他们的原代码,在网页上指出一个图片或一段文字,他们能从HTML代码中找到相应的位置,能达到这个水平,HTML代码的水平就差不多了。我们可以布置一周或者两周的时间让他们准备,然后来次测验。
第二步就是写一些小的程序,先弄一个页面,上面就是一个新闻列表,要他们写一些代码,动态的生成那个列表,文章等数据先在程序里面自定义,我们演示一遍,同时把原代码公布在网上,他们随时可以看,同时布置作业,从ACCESS里面读数据,动态的生成那个列表。我们给一段数据库链接的代码和读数据的代码给他们当作提示。估计也用一到两周时间吧。
第三步就可以开始套页面了,给他们一个比如团代会的页面,他们把所有的新闻列表从数据里面读出来,然后套程序。也用两周时间。
第四步就开始写小栏目了,比如报名的,加后台管理。
第五步就开始写任意的栏目了。
之后就……………………了

终于找到了老游戏digger

digger! 1.2.3.4.5.6.7.1,曾经多么熟悉的音乐!   从87年到92年,整整5年,这个小游戏不知熬了俺多少个黑天白夜呀。 终于有机会重温一把。   http://www.digge...
  • oldwain
  • oldwain
  • 2004年07月27日 15:01
  • 10115

SDL游戏之路(九)--动画制作

动画制作
  • ycg01
  • ycg01
  • 2014年01月15日 22:11
  • 1466

动态规划基础之挖金矿问题

问题:有一个国家发现了5座金矿,每座金矿的黄金储量不同,需要参与挖掘的工人数也不同(情况如下图)。 金矿编号 黄金储量 需要人数 1 500 5 2 200 3 3 300 4...
  • qq_34241037
  • qq_34241037
  • 2017年07月27日 14:58
  • 420

挖金子---小爬虫

马萨玛索(http://www.masamaso.com/index.shtml)每天10点都会推出一折商品5件,就是秒购。男装质量还不错,所以就经常去抢,感觉手动太慢了,就写了一个小爬虫程序,让自己...
  • sinat_16428007
  • sinat_16428007
  • 2016年02月28日 11:40
  • 164

挖金子修订版开发进行中

 又是一场公务员考试,太累了。还是谈技术吧,很多人看不懂超级玛丽制作文档,可能是规模太大的原因,不好理解。我建议看纸牌、挖金子这两个小游戏,代码少,容易看懂程序框架。最近,我重新看挖金子这个游戏,代码...
  • programking
  • programking
  • 2009年06月16日 17:15
  • 1411

纸牌、挖金子源码链接

纸牌源工程的链接是 http://download.csdn.net/source/432977挖金子源工程的链接是 http://download.csdn.net/source/412278如果不...
  • programking
  • programking
  • 2008年05月13日 16:14
  • 1321

25个不错PHP的游戏编程脚本代码分享

本文介绍了25个不错PHP的游戏编程脚本代码,包括简单的掷骰器、随机名称生成器、场景生成器、牌组创建器(Deck builder)和装备(shuffler)、简单的扑克发牌器、Hangman游戏、纵横...
  • gu_wen_jie
  • gu_wen_jie
  • 2017年04月13日 17:57
  • 2645

开发日记:KBEngine+Unity+php做个扑克小游戏-DAY1

写这篇博客的时候其实我已经开发了一大部分了~php 部分,unity 部分 都已经差不多了 ,由于KBEngine(简称kbe)完全没接触过,其实很多地方php部分的逻辑都可以直接挪到kbe中完成。实...
  • zay109327402
  • zay109327402
  • 2016年11月04日 14:04
  • 3611

php 网页游戏开发入门

一、简单的程序框架。 webgame程序构成: 三大部分。 第一是数据流程。第二是程序。第三是美术。 其中,数据流程包括了功能。也只有在功能中才能体现数据流程。 数据流程相当的麻烦...
  • suners8826735
  • suners8826735
  • 2012年11月08日 08:46
  • 2109

怎样做小游戏挖金子(VC,源码5)

今天的程序讲课,开始。 前面几讲,涉及程序框架、地图文件、叉子的摆动、旋转拉伸,这几方面都可以归纳为基本数据处理,今天讲“交互”,很简单,判断叉子抓到物品,当拉回后,增加金钱数量。核心是碰撞检测。网上...
  • programking
  • programking
  • 2008年04月15日 21:29
  • 2279
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP写的挖金子游戏
举报原因:
原因补充:

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