热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php开发的简易扫雷游戏-PHP源码

php开发的简易扫雷游戏

[PHP]代码

    = 0 && $j - 1 >= 0 && $data["data".($i - 1)."_".($j - 1)] == 100)$cnt++;//upper left  
                if($i - 1 >= 0 && $data["data".($i - 1)."_".$j] == 100)$cnt++;//left  
                if($i - 1 >= 0 && $j + 1 <$cols && $data["data".($i - 1)."_".($j + 1)] == 100)$cnt++;//lower left  
                if($j - 1 >= 0 && $data["data".$i."_".($j - 1)] == 100)$cnt++;//upper  
                if($j + 1 <$cols && $data["data".$i."_".($j + 1)] == 100)$cnt++;//lower  
                if($i + 1 <$rows && $j - 1 >= 0 && $data["data".($i + 1)."_".($j - 1)] == 100)$cnt++;//upper right  
                if($i + 1 <$rows && $data["data".($i + 1)."_".$j] == 100)$cnt++;//right  
                if($i + 1 <$rows && $j + 1 <$cols && $data["data".($i + 1)."_".($j + 1)] == 100)$cnt++;//lower right  
                $data["data".$i."_".$j] = $cnt;//set number  
            }  
        }  
    }else{  
        $data = $_POST;//get data  
        if($data["data".$clickvalue] == 100){//check the value of users click  
            $checkflag = 2;//if click on a mine,gameover  
            for($i=0;$i<$rows;$i++){//all the rows  
                for($j=0;$j<$cols;$j++){//all the cols  
                    $data["open".$i."_".$j] = 1;//set all nodes to open  
                }  
            }  
        }else{  
            $node = explode("_", $clickvalue);//get the node of click  
            openNode($node[0],$node[1]);//set nodes to open  
            for($i=0;$i<$rows;$i++){//all the rows  
                for($j=0;$j<$cols;$j++){//all the cols   
                    if($data["open".$i."_".$j] == 1)$click_count++;//get the number of opennode   
                }  
            }  
            if($rows*$cols - $click_count == $num)$checkflag = 1;//if all the node is open,game clear   
        }  
    }  
    if($checkflag == 0 && $click_count == 1){//if game is start ,time start  
        $starttime = date("H:i:s");  
    }  
    if($starttime){//Computing time and display  
        $now = date("H:i:s");  
        $nowlist = explode(":",$now);  
        $starttimelist = explode(":",$starttime);  
        $time_count = $nowlist[0]*3600+$nowlist[1]*60 + $nowlist[2] - ($starttimelist[0]*3600+$starttimelist[1]*60 + $starttimelist[2]);  
        $min = floor($time_count / 60);  
        $sec = $time_count % 60;  
        $timeshow = ($min>9?$min:"0".$min).":".($sec>9?$sec:"0".$sec);  
    }else{  
        $timeshow = "00:00";//if game is stop , time stop  
    }  
    function openNode($i,$j){//set nodes to open,if it is can open  
        global $rows;//get the rows  
        global $cols;//get the cols  
        global $data;//get the data  
        if($i <0 || $i >= $rows || $j <0 || $j >= $cols || $data["open".$i."_".$j])return;//it is not a node,or it has been opened  
        $data["open".$i."_".$j] = 1;//open the node  
        if($data["data".$i."_".$j] > 0)return;//need to continue?  
        openNode($i - 1,$j - 1);  
        openNode($i - 1,$j);  
        openNode($i - 1,$j + 1);  
        openNode($i,$j - 1);  
        openNode($i,$j + 1);  
        openNode($i + 1,$j - 1);  
        openNode($i + 1,$j);  
        openNode($i + 1,$j + 1);  
    }  
    ?>  
      
      
      
      
      
      
      
      
      
    
行数:
列数
雷数:
"; else if($checkflag == 2)echo "太挫了,又被雷炸死了
"; ?>
" value=""> " value=""> &#39;)" style="width:20px;height:20px;">

推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • Iwouldliketobeabletohaveasidebarthatcanbetoggledinandoutonabuttonpress.However ... [详细]
  • 但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能。下面是具体的做法:一:跳转到新页面,并且是在新窗口中打开时:复制代码代码如下:fu ... [详细]
  • JavaScript在常人看来都是门出不了厅堂的小语言,仅管它没有明星语言的闪耀,但至少网页的闪耀还是需要它的,同时它是一门很实用的语言,本人平时就喜欢拿它来写点实用工具或应用,本文演示用JavaSc ... [详细]
author-avatar
额度v人_766
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有