php其实不适合做游戏,但是简单的游戏还是可以实现的,下面用php 实现简单的扫雷游戏,包含注释,代码只有167行 ?php$init = $_POST[init];//game restart$clickvalue = $_POST[clickvalue];//minesweeping$checkflag = 0;//Victory or defeat$click_count =
php其实不适合做游戏,但是简单的游戏还是可以实现的,下面用php 实现简单的扫雷游戏,包含注释,代码只有167行
<?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=0;$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 < $num){//number of 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=0;$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 = 0 && $data["data".$i."_".($j - 1)] == 100)$cnt++;//upper if($j + 1 = 0 && $data["data".($i + 1)."_".($j - 1)] == 100)$cnt++;//upper right if($i + 1 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 = $rows || $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); } ?> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>minesweeper</title>
演示地址
http://www.fsanguo.comoj.com/public/minesweeper/index.php
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
<🎜>:种植花园 - 完整的突变指南
3 周前ByDDD
<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前By尊渡假赌尊渡假赌尊渡假赌
如何修复KB5055612无法在Windows 10中安装?
3 周前ByDDD
蓝王子:如何到达地下室
1 个月前ByDDD
北端:融合系统,解释
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版
好用的JavaScript开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

禅工作室 13.0.1
功能强大的PHP集成开发环境