天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十)

十三、 建造總覽(buildings.php

從這篇文章開始,對xnova的研究重點(diǎn)放在流程上面,其實(shí)就是大量的函數(shù);至于頁面的構(gòu)造將不再仔細(xì)解釋。

buildings.php文件不只是處理建筑金屬礦產(chǎn)等,而是包括了建筑、研究、造船廠、防御四個功能;通過傳遞不同的參數(shù)來決定進(jìn)入哪個功能,所以這個文件其實(shí)是一個導(dǎo)航文件。下面我們簡單解釋下這個文件。

//更新當(dāng)前星球的建筑隊(duì)列,比較復(fù)雜UpdatePlaNETBatimentQueueList ( $plaNETrow, $user );//處理當(dāng)前用戶的科技研究HandleTechnologieBuild ( $plaNETrow, $user );//下面是根據(jù)參數(shù)進(jìn)入不同的功能頁面//造船廠頁面case 'fleet':FleetBuildingPage ( $plaNETrow, $user );//研究頁面case 'research':ResearchBuildingPage ( $plaNETrow, $user, $IsWorking['OnWork'], $IsWorking['WorkOn'] );//防御頁面case 'defense':DefensesBuildingPage ( $plaNETrow, $user );//剩下的自然是建筑頁面default:BatimentBuildingPage ( $plaNETrow, $user ); 下面我們看更新當(dāng)前星球的建筑隊(duì)列函數(shù)function UpdatePlaNETBatimentQueueList ( &$CurrentPlaNET, &$CurrentUser ) { $RetValue = false; //判斷是否有建筑隊(duì)列,字段b_building_id保存建筑隊(duì)列 if ( $CurrentPlaNET['b_building_id'] != 0 ) { //進(jìn)入循環(huán),開始處理隊(duì)列 while ( $CurrentPlaNET['b_building_id'] != 0 ) {  //如果當(dāng)前建造的建筑時間小于time的話,就處理,字段b_building保存建筑到期的時間  if ( $CurrentPlaNET['b_building'] <= time() ) {  //先更新下星球的資源,以后再解析  PlaNETResourceUpdate ( $CurrentUser, $CurrentPlaNET, $CurrentPlaNET['b_building'], false );  //處理掉當(dāng)前的建筑,并把當(dāng)前建筑字段清空;代碼很多,其實(shí)比較簡單  $IsDone = CheckPlaNETBuildingQueue( $CurrentPlaNET, $CurrentUser );  //如果前面處理成功,這里就要處理隊(duì)列中的下一個建筑,包括扣除資源  if ( $IsDone == true ) {   SetNextQueueElementOnTop ( $CurrentPlaNET, $CurrentUser );  }  } else {  $RetValue = true;  break;  } } } return $RetValue;} 

我們繼續(xù)下去,跟蹤入CheckPlaNETBuildingQueue函數(shù),這個函數(shù)代碼挺多,其實(shí)簡單;我不寫注釋了,說下流程。先從字段b_building_id解析出來建筑的種類、建筑或拆除、結(jié)束建筑的時間等;然后更新該建筑的等級,升級或者降級;更新星球的最大空間和使用空間;更新當(dāng)前建筑的時間為0和更新當(dāng)前的剩余建筑隊(duì)列。不難吧,呵呵。

接下來處理隊(duì)列中的下一個建筑,跟蹤SetNextQueueElementOnTop函數(shù),也不難。先從隊(duì)列中解析出建筑數(shù)據(jù);然后判斷是否可以建造,如果可以就要計(jì)算建造資源等;如果不行就發(fā)送消息等;最后更新建筑完成的時間、剩余建筑隊(duì)列和資源等。和上面的流程一樣簡單,拿下。

php技術(shù)PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: www.一级毛片 | 农民工老头在出租屋嫖老熟女 | 久久人妻熟女中文字幕AV蜜芽 | 最近最新中文字幕MV高清在线 | 欧美久久综合性欧美 | 精品久久久麻豆国产精品 | 无限资源日本2019版免费 | 丝瓜视频樱桃视频在线观看免费 | 777EY_卡通动漫_1页 | 色悠久久久久综合网小说 | 中文中幕无码亚洲视频 | pkf女尸studiosxnxx| 国产在线精品亚洲另类 | 色欲AV亚洲永久无码精品 | 秋霞伦理机在线看片 | 国产亚洲精品久久孕妇呦呦你懂 | 在线二区 中文 无码 | 精品久久中文字幕有码 | 黄梅戏mp3大全 | 国产精品99久久久久久宅男AV | 久久中文字幕亚洲精品最新 | 精品区2区3区4区产品乱码9 | 成人亚洲视频在线观看 | 帝王被大臣们调教高肉 | 精品福利一区 | 米奇在线8888在线精品视频 | 久久91精品国产91久 | 动听968| 久久亚洲午夜牛牛影视 | 菲律宾毛片 | 耻辱诊察室1一4集动漫在线观看 | 久久伊人天堂视频网 | 日本高清免费观看 | 亚洲日韩乱码人人爽人人澡人 | 老师xxxx69动漫| 天堂无码人妻精品AV一区 | 色欲AV久久综合人妻蜜桃 | 久久视频在线视频观品15 | 国产午夜人成在线视频麻豆 | 99精品在线看 | 色婷婷亚洲精品天天综合影院 |