一起草最新网址_日韩一区二区麻豆国产_91视频婷婷_日本一区二区视频在线_日韩激情一区二区三区_国产另类第一区_成人免费在线播放视频_亚洲永久精品ww.7491进入_久久这里有精品视频_久久精品一级片_日韩av在线网页_波多野结衣不卡视频

PHP樹的深度編歷生成迷宮及A*自動尋路算法實例分析_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:PHP實現扎金花游戲之大小比賽的方法
這篇文章主要介紹了PHP實現扎金花游戲之大小比賽的方法,實例分析了扎金花游戲的實現原理與相關算法技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文實例講述了PHP實現扎金花游戲之大小比賽的方法。分享給大家供大家參考。具體分析如下: 程序離不開算法,前面討論

 這篇文章主要介紹了PHP樹的深度編歷生成迷宮及A*自動尋路算法,實例分析了php實現A*尋路算法的技巧,具有一定參考借鑒價值,需要的朋友可以參考下

   

本文實例講述了PHP樹的深度編歷生成迷宮及A*自動尋路算法。分享給大家供大家參考。具體分析如下:

有一同事推薦了三思的迷宮算法,看了感覺還不錯,就轉成php
三思的迷宮算法是采用樹的深度遍歷原理,這樣生成的迷宮相當的細,而且死胡同數量相對較少!
任意兩點之間都存在唯一的一條通路。

至于A*尋路算法是最大眾化的一全自動尋路算法

廢話不多說,貼上帶代碼

迷宮生成類:

代碼如下: class Maze{
// Maze Create
private $_w;
private $_h;
private $_grids;
private $_walkHistory;
private $_walkHistory2;
private $_targetSteps;
// Construct
public function Maze() {
$this->_w = 6;
$this->_h = 6;
$this->_grids = array();
}
// 設置迷宮大小
public function set($width = 6, $height = 6) {
if ( $width > 0 ) $this->_w = $width;
if ( $height > 0 ) $this->_h = $height;
return $this;
}
// 取到迷宮
public function get() {
return $this->_grids;
}
// 生成迷宮
public function create() {
$this->_init();
return $this->_walk(rand(0, count($this->_grids) -1 ));
}
// 獲取死胡同點
public function block($n = 0, $rand = false) {
$l = count($this->_grids);
for( $i = 1; $i < $l; $i++ ) {
$v = $this->_grids[$i];
if ( $v == 1 || $v == 2 || $v == 4 || $v == 8 ) {
$return[] = $i;
}
}
// 隨機取點
if ( $rand ) shuffle($return);

if ( $n == 0 ) return $return;

if ( $n == 1 ) {
return array_pop($return);
} else {
return array_slice($return, 0, $n);
}
}
/**
|---------------------------------------------------------------
| 生成迷宮的系列函數
|---------------------------------------------------------------
*/
private function _walk($startPos) {
$this->_walkHistory = array();
$this->_walkHistory2 = array();
$curPos = $startPos;
while ($this->_getNext0() != -1) {
$curPos = $this->_step($curPos);
if ( $curPos === false ) break;
}
return $this;
}
private function _getTargetSteps($curPos) {
$p = 0;
$a = array();
$p = $curPos - $this->_w;
if ($p > 0 && $this->_grids[$p] === 0 && ! $this->_isRepeating($p)) {
array_push($a, $p);
} else {
array_push($a, -1);
}
$p = $curPos + 1;
if ($p % $this->_w != 0 && $this->_grids[$p] === 0 && ! $this->_isRepeating($p)) {
array_push($a, $p);
} else {
array_push($a, -1);
}
$p = $curPos + $this->_w;
if ($p < count($this->_grids) && $this->_grids[$p] === 0 && ! $this->_isRepeating($p)) {
array_push($a, $p);
} else {
array_push($a, -1);
}
$p = $curPos - 1;
if (($curPos % $this->_w) != 0 && $this->_grids[$p] === 0 && ! $this->_isRepeating($p)) {
array_push($a, $p);
} else {
array_push($a, -1);
}
return $a;
}
private function _noStep() {
$l = count($this->_targetSteps);
for ($i = 0; $i < $l; $i ++) {
if ($this->_targetSteps[$i] != -1) return false;
}
return true;
}
private function _step($curPos) {
$this->_targetSteps = $this->_getTargetSteps($curPos);
if ( $this->_noStep() ) {
if ( count($this->_walkHistory) > 0 ) {
$tmp = array_pop($this->_walkHistory);
} else {
return false;
}
array_push($this->_walkHistory2, $tmp);
return $this->_step($tmp);
}
$r = rand(0, 3);
while ( $this->_targetSteps[$r] == -1) {
$r = rand(0, 3);
}
$nextPos = $this->_targetSteps[$r];
$isCross = false;
if ( $this->_grids[$nextPos] != 0)
$isCross = true;
if ($r == 0) {
$this->_grids[$curPos] ^= 1;
$this->_grids[$nextPos] ^= 4;
} elseif ($r == 1) {
$this->_grids[$curPos] ^= 2;
$this->_grids[$nextPos] ^= 8;
} elseif ($r == 2) {
$this->_grids[$curPos] ^= 4;
$this->_grids[$nextPos] ^= 1;
} elseif ($r == 3) {
$this->_grids[$curPos] ^= 8;
$this->_grids[$nextPos] ^= 2;
}
array_push($this->_walkHistory, $curPos);
return $isCross ? false : $nextPos;
}
private function _isRepeating($p) {
$l = count($this->_walkHistory);
for ($i = 0; $i < $l; $i ++) {
if ($this->_walkHistory[$i] == $p) return true;
}
$l = count($this->_walkHistory2);
for ($i = 0; $i < $l; $i ++) {
if ($this->_walkHistory2[$i] == $p) return true;
}
return false;
}
private function _getNext0() {
$l = count($this->_grids);

for ($i = 0; $i <= $l; $i++ ) {
if ( $this->_grids[$i] == 0) return $i;
}
return -1;
}
private function _init() {
$this->_grids = array();
for ($y = 0; $y < $this->_h; $y ++) {
for ($x = 0; $x < $this->_w; $x ++) {
array_push($this->_grids, 0);
}
}
return $this;
}
}

 

分享:php獲取本周開始日期和結束日期的方法
這篇文章主要介紹了php獲取本周開始日期和結束日期的方法,實例分析了php操作日期的技巧,具有一定參考借鑒價值,需要的朋友可以參考下 本文實例講述了php獲取本周開始日期和結束日期的方法。分享給大家供大家參考。具體如下: 代碼如下://當前日期 $sdefaultDate = date(

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:PHP教程/更新時間:2015-03-11
相關PHP教程
欧美精选一区二区| 欧美另类高清videos的特点| 亚洲欧美精品午睡沙发| 色女人综合av| 国产日韩欧美在线观看视频| 在线一区二区三区四区五区| 久久精品国产亚洲av麻豆蜜芽| 欧美在线一级视频| 后进极品白嫩翘臀在线视频| 亚洲激情小视频| 欧美日韩一级二级三级| 国产熟女一区二区三区五月婷| 2019日本中文字幕| 国产网站在线看| 最近2019好看的中文字幕免费| 中文字幕 日韩有码| 日本韩国一区二区三区视频| 不卡av免费在线| 久久精品人人爽| 99久久精品日本一区二区免费 | 久久精品国产av一区二区三区| 精品国产一区二区三区久久久| 久久www免费人成看片高清| 手机精品视频在线| 国模精品一区二区三区| 精品亚洲aⅴ在线观看| 久久久久久久久一| 女同性恋一区二区三区| 狠狠色狠色综合曰曰| 性色av浪潮av| 北条麻妃99精品青青久久| 91丝袜美腿高跟国产极品老师| 亚洲国产成人在线观看| 日韩av黄色网址| 91麻豆免费观看| 手机看片福利日韩| 欧美日韩精品系列| 在线观看av网页| 亚洲激情一二三区| 欧美日韩xxxxx| wwwxx日本| 中文字幕777| 亚洲一区二区中文字幕| 色综合色综合色综合色综合色综合 | 亚洲欧美精品在线观看| 国产偷亚洲偷欧美偷精品| 国产黄色片免费| 日韩精品一区二区三区色欲av| 麻豆乱码国产一区二区三区| 国产激情精品久久久第一区二区 | 日本中文不卡| 精品久久久久久久久久久久| 伊人久久国产精品| 久久亚洲国产精品成人av秋霞| 一级黄色片在线播放| 久久久久久久久久一区| 成人欧美一区二区三区在线湿哒哒| 国产做a爰片久久毛片| 黄色一级片免费播放| 亚洲成人网在线| 成人午夜视频在线播放| 成人在线观看毛片| 国产成人自拍视频在线观看| 亚洲图片欧美激情| 亚洲日本中文字幕区| 秋霞视频一区二区| 九九视频在线观看| 欧美在线观看黄| 日韩欧美123| 亚洲精品成人电影| 黄色片视频免费观看| 亚洲国产精品高清久久久| 国产91精品一区| 男人女人拔萝卜视频| 久久免费国产视频| 一区二区三区蜜桃网| 中文字幕无线码一区| 一二美女精品欧洲| 亚洲大片一区二区三区| 成人美女视频在线观看18| 天堂成人免费av电影一区| 国产女人18毛片水真多| www国产在线| 手机av在线看| 日韩av男人的天堂| 亚洲色图国产精品| 欧美性xxxx在线播放| 欧美日韩免费视频| 亚洲激情免费观看| 国产午夜精品一区理论片飘花 | 99re热这里只有精品免费视频| 毛片毛片毛片毛| 日本亚洲欧美三级| 欧美性生活一区| 韩国v欧美v日本v亚洲v| 国产精品第12页| 国产精品xxxxx| 国产精品久久久久久久久久久久久久 | 国产午夜精品美女毛片视频| 看片网址国产福利av中文字幕| 一级少妇精品久久久久久久| 91黄色在线看| 色99之美女主播在线视频| 国产精品第九页| 亚洲精品中文字幕乱码无线| 成人午夜在线影院| 亚洲成人在线免费| 免费视频一区二区| 久久久999| 丰满少妇在线观看| 亚洲在线不卡| 久久www免费人成精品| 国产精品久久久久天堂| 26uuu精品一区二区| 开心九九激情九九欧美日韩精美视频电影| 久久97超碰色| 中文字幕视频一区| 欧美高清www午色夜在线视频| 亚洲精品资源美女情侣酒店| 91久久国产最好的精华液| 国产午夜亚洲精品羞羞网站| 亚洲天堂2018av| 天堂va久久久噜噜噜久久va| 国产a∨精品一区二区三区不卡| 九九精品视频在线| 视频一区二区国产| 婷婷免费在线观看| 97视频免费在线看| 自拍偷在线精品自拍偷无码专区| 国产黄色片免费| 夜夜躁很很躁日日躁麻豆| 女教师淫辱の教室蜜臀av软件| 亚洲一区二区三区四区五区xx| 3d动漫一区二区三区| 熟女人妻在线视频| 欧美国产一级片| 国产1区2区3区精品美女| 国产精品黄色在线观看| 精品久久久久久久人人人人传媒| 日韩免费高清av| 欧美天堂亚洲电影院在线播放| 一区二区三区四区不卡视频| 亚洲欧美乱综合| 亚洲丝袜另类动漫二区| 从欧美一区二区三区| 男男做爰猛烈叫床爽爽小说 | 在线中文字日产幕| 国产特黄级aaaaa片免| 男女视频在线观看网站| 91成人在线观看喷潮教学| 欧美少妇一区| 91丨九色丨蝌蚪| 国产无码精品在线播放| 久久久久久夜精品精品免费| 一本色道**综合亚洲精品蜜桃冫| 久99久在线视频| 国产成人精品免费视频| 91亚洲va在线va天堂va国| 日韩中文在线中文网在线观看| 日韩中文有码在线视频| 一区二区三欧美| 日韩中文娱乐网| 日韩一区二区在线免费观看| 欧美日韩美女视频| 日韩视频免费在线| 久久久水蜜桃| 久久精品成人一区二区三区蜜臀 | 青青在线视频观看| 久久久久久久久久婷婷| 欧美一区在线直播| 91文字幕巨乱亚洲香蕉| 美女黄色片网站| 成年人小视频在线观看| 亚洲视频 欧美视频| 精品一区二区三区的国产在线播放| 亚洲影院在线观看| ㊣最新国产の精品bt伙计久久| 精品久久久久成人码免费动漫| 久久久久国产免费| 国产精品ⅴa在线观看h| 亚洲人成电影网站色| 国产精品短视频| 日产欧产美韩系列久久99| 日批视频免费在线观看| 国产免费久久久久| 91精品国产高清一区二区三密臀| 国产成人av一区二区| 欧美吞精做爰啪啪高潮| 欧美激情一区二区三区高清视频 | 国产福利一区二区三区视频| 欧美激情一区二区久久久| 日韩av综合在线观看| 国产一区二区三区四区在线| 一区二区三区精彩视频| 奇米色一区二区| 国产婷婷色一区二区三区四区| 欧美性猛交xxxx免费看| 自拍偷拍亚洲在线| 国产精品美女诱惑| 91a在线视频| 国内精品模特av私拍在线观看 | 美女扒开腿免费视频| 台湾佬美性中文| 人妻va精品va欧美va| 国产精品色眯眯| 亚洲国产综合视频在线观看| 伊人久久免费视频| 精品久久中出| 三级av在线免费观看| 日韩欧美国产一区二区| 日韩欧美在线电影| 亚洲精品国产精品国| 欧美一级淫片007| 国产精品久久成人免费观看| 成人在线视频免费播放| 在线观看一二三区| 91原创在线视频| 日韩激情视频在线| 97夜夜澡人人双人人人喊| 中文字幕一区二区久久人妻网站| 天天操天天摸天天干| 国产一级特黄视频| 国产免费福利视频| 久久99久久99小草精品免视看| 国产成人午夜精品影院观看视频 | 日韩av一区二| 亚洲成人午夜影院| 亚洲视频资源在线| 欧美一级二级三级| 特级丰满少妇一级aaaa爱毛片| 欧美成人精品一区二区三区| 亚洲 欧美 国产 另类| 亚洲人成网站色在线观看| 亚洲一区二区三区四区中文| 天天操天天操天天操| 欧美最新大片在线看| 91免费福利视频| 欧美黄色高清视频| 国产精品毛片大码女人| 美日韩精品视频免费看| 亚洲春色综合另类校园电影| 超碰av在线免费观看| 性欧美videos| 欧美国产精品中文字幕| 精品高清视频| 久久久久无码国产精品不卡| 不卡的av电影| 久久人人97超碰精品888| 日本一区二区三区网站| 精品99在线观看| 精品一区二区三区在线观看国产| 精品国产欧美一区二区五十路| 亚洲天堂网站在线| 日韩欧美在线观看视频| 欧洲金发美女大战黑人| 成人ar影院免费观看视频| 国产亚洲欧美另类一区二区三区| 久久精品一区二区三| 国产精品久久久久久久久图文区 | 国产99久久精品| 久热在线中文字幕色999舞| 亚洲尤物视频网| 最新在线黄色网址| jvid福利写真一区二区三区| 91久久精品国产91久久| 亚洲三级在线视频| www.精品视频| 精品动漫一区二区三区在线观看| 国产成人手机视频| 一级二级黄色片| 91香蕉视频污| 波多野结衣精品久久| 中文在线观看免费高清| 日本成熟性欧美| 久久精品女人| 正在播放精油久久| 国产精品夜夜嗨| 亚洲一区影院| 激情综合色综合久久| 欧美韩日一区二区| 亚洲成a人无码| 国产成人精品亚洲日本在线桃色| 欧美一级黑人aaaaaaa做受| 久久久久99精品成人片试看| 日韩精品一区在线观看| 久久精品久久精品国产大片| 中文字幕av网站| 亚洲天堂av电影| 国产精品50页| 久久精品国产96久久久香蕉| 污污网站在线观看视频| 成人aa视频在线观看| 亚洲国产精品综合| 亚洲第一免费视频| 精品日本高清在线播放| 伊人色综合影院| av一区二区三区在线| 亚洲精品美女在线| 亚洲高清视频一区二区| 天天干中文字幕| 国产精品免费人成网站| 97精品一区二区视频在线观看| 91丨porny丨九色| 国产又粗又猛又黄| 亚洲va欧美va人人爽| 97免费资源站| 成人黄色短视频| 久久久久久久久免费| 中文字幕久久综合| 国产成人av电影| 波多野结衣激情| 欧美日韩精品一区二区三区蜜桃| 国产真实乱人偷精品视频| 国产精品国色综合久久| 日韩美女视频一区| 免费人成视频在线播放| 中文字幕亚洲自拍| 国产一区二区三区四区视频 | 9久久9毛片又大又硬又粗| 成人久久视频在线观看| 欧美乱偷一区二区三区在线| 日韩国产在线观看一区| 视频一区亚洲 | 欧美黑人性生活视频| 欧美巨胸大乳hitomi| 欧美一区二区国产| 国产美女免费网站| 国产精品视频一区国模私拍| 中文字幕在线一区| 九九视频免费看| 日本电影一区二区三区| 亚洲综合色区另类av| 一本色道久久88亚洲精品综合| 色综合免费视频| 亚洲精品乱码久久久久久按摩观| 中国男女全黄大片| 一本大道久久加勒比香蕉| 精品人妻无码一区二区三区蜜桃一| 神马一区二区影院| 亚洲国产高潮在线观看| 香港三日本三级少妇66| 黄色一级大片在线观看| 欧美国产日本高清在线| xf在线a精品一区二区视频网站| 成人精品999| 国产成人激情视频| 亚洲一区视频在线| 欧美h在线观看| 成人免费网站入口| 最近2019年日本中文免费字幕| 亚洲国产精品一| 亚洲欧美电影在线观看| 欧美日韩免费观看中文| 久久高清免费视频| 国内外成人免费视频| 亚洲国产成人91porn| 国产精品九九九九九| 国产欧美在线播放| 久久九九全国免费| 亚洲第一视频区| 国产伦精品免费视频| 国产精品福利一区| 中文视频在线观看| 一区二区三区四区视频| 91蜜桃在线观看| 伊人久久久久久久久久久久久久| 亚洲视频欧美视频| 免费观看日韩av| 亚洲五月天综合| 久久视频免费观看| 国产精品无码永久免费888| 一级特黄性色生活片| 欧洲精品视频在线观看| 国产女人被狂躁到高潮小说| 国产女主播一区二区| 久久久精品tv| 综合一区中文字幕| 亚洲成人在线网站| 九九视频在线免费观看| 999日本视频| 国产经典一区二区| 久久草av在线| 精品无码国模私拍视频| 日韩毛片在线观看| 日韩国产一区二| av免费一区二区| 国产一区二区三区丝袜| 少妇一级淫片免费看| 懂色av粉嫩av蜜臀av| 欧美天天综合色影久久精品| 麻豆明星ai换脸视频| 91久久久久久久久久久| 国产精品香蕉一区二区三区| 男人添女人荫蒂免费视频| 久久精品小视频| 久久久久久黄色| 色诱av手机版| 欧美特级限制片免费在线观看| 日韩精品xxx| 亚洲精品av在线| 免费一级a毛片| 成人av影视在线| 99精品国产99久久久久久白柏| 鲁一鲁一鲁一鲁一色| 在线亚洲一区观看| 国产无套粉嫩白浆内谢| 欧美在线一区二区视频| 国产乱子伦一区二区三区国色天香| 夜夜爽www精品| 欧美日韩一区二区在线|