php实现的简易扫雷游戏实例

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php实现的简易扫雷游戏实例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP实现的简易扫雷游戏。分享给大家供大家参考。具体如下:

<PRe class="brush:PHp;"> <>PHP $inIT = $_POST["init"];//game restart $clickvalue = $_POST["clickvalue"];//minesweeping $checkflag = 0;//Victory or defeat $click_count = 0;//clicks count if($init == null && $clickvalue == null){//initialization $_POST = array();//set POST with a array $_POST["rows"] = 9;//set rows $_POST["cols"] = 9;//set cols $_POST["num"] = 10;//set num $_POST["timeshow"] = "00:00"; //set starttime $init = true;//set initialization } $rows = $_POST["rows"];//get rows $cols = $_POST["cols"];//get cols $num = $_POST["num"];//get num $starttime = $_POST["starttime"];//get starttime if($init){// is initialization $timeshow = "00:00";//set starttime $data = array();//data initialization for($i=0;$i<$rows;$i++){ all="" the="" rows="" for($j=""><$cols;$j++){ all="" the="" cols="" $data["data".$i."_".$j]="0;//set">mine with null $data["oPEn".$i."_".$j] = 0;//set node with close } } $i=0;//reset the index,and set the mines(Random setting) while($i @H_777_10@mine $r = rand(0,$rows - 1);//row's index $c = rand(0,$cols - 1);//col's index if($data["data".$r."_".$c] == 0){//if not a mine $data["data".$r."_".$c] = 100;//set the node with a mine $i++; } } for($i=0;$i<$rows;$i++){ all="" the="" rows="" for($j=""><$cols;$j++){ all="" the="" cols="" if($data["data".$i."_".$j]="=" 100)continue;="" is="" not="" a="" mine,set="" number="" of="" adjacent="" mines="" $cnt="0;" if($i="" -="" 1="">= 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=""><$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=""><$rows;$i++){ all="" the="" rows="" for($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); } ?> @H_419_10@ 扫雷游戏
<><><><><><><><><><><>PHP echo $checkflag < 2?"☺":"☹";?=""><>PHP if($checkflag == 1)echo "恭喜,雷全部清掉了!
"; else if($checkflag == 2)echo "太挫了,又被雷炸死了
"; ?>
<>PHP for($i=0;$i<$rows;$i++){> <>PHP for($j=0;$j<$cols;$j++){> " value=""> " value=""> ')" style="width:20px;height:20px;">

脚本宝典总结

以上是脚本宝典为你收集整理的php实现的简易扫雷游戏实例全部内容,希望文章能够帮你解决php实现的简易扫雷游戏实例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。