PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十二)
十五、研究頁(yè)面(ResearchBuildingPage.php)
研究因?yàn)闆]有隊(duì)列,所以相對(duì)簡(jiǎn)單一些;但是也有一些比較特殊的東西。我們先看研究之前的一個(gè)處理函數(shù)HandleTechnologieBuild()。
這個(gè)函數(shù)是處理現(xiàn)在的科技研究的,其中b_tech_planet字段是研究的星球ID,b_tech字段是完成研究的時(shí)間點(diǎn),b_tech_id字段是研究的具體科技字段名。函數(shù)邏輯不難,我就不仔細(xì)講解了,大家自己看看,下面正式進(jìn)入研究頁(yè)面:
首先要檢查當(dāng)前星球是否有研究所。
然后檢查當(dāng)前星球的建筑隊(duì)列中是否有研究所,使用函數(shù)CheckLabSettingsInQueue()檢查;此函數(shù)略過。
接下來又是前面的結(jié)構(gòu),我們先看下面的構(gòu)造代碼,循環(huán):
1.判斷是否是科技研究
2.判斷是否可以進(jìn)行這項(xiàng)研究,主要是vars.php文件中的前置條件檢查
3.取得研究的需要資源
4.取得研究的需要時(shí)間
5.然后判斷這樣研究是否可以進(jìn)行
6.下面是個(gè)分支:如果沒有研究在進(jìn)行,那么構(gòu)造出下一等級(jí)的html;如果有研究在進(jìn)行,就構(gòu)造出研究剩余的時(shí)間
7.最后輸出頁(yè)面
現(xiàn)在回到前面,講解玩家點(diǎn)擊研究的邏輯。分成兩段邏輯,一是研究、二是取消研究。
1.研究:先進(jìn)行一些安全檢查,然后取得所需資源和時(shí)間,構(gòu)造扣除資源等語句
2.取消研究:取得所需資源,構(gòu)造退回資源等語句
3.最后提交到數(shù)據(jù)庫(kù),更新資源和其他一些信息
研究頁(yè)面的邏輯比起前面建筑頁(yè)面簡(jiǎn)單多了,下一章將是造船廠頁(yè)面。
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十五)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十四)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十三)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十一)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(九)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(八)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(一)
- PHP網(wǎng)頁(yè)游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十六)
相關(guān)文章
web server使用php生成web頁(yè)面的三種方法總結(jié)
web server使用php生成web頁(yè)面的三種方法。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-10-10php xml留言板 xml存儲(chǔ)數(shù)據(jù)的簡(jiǎn)單例子
php xml留言板 xml存儲(chǔ)數(shù)據(jù)的簡(jiǎn)單例子 php操作xml的簡(jiǎn)單留言板,帶分頁(yè),僅供參考2009-08-08Yii視圖CGridView實(shí)現(xiàn)操作按鈕定義地址示例
這篇文章主要介紹了Yii視圖CGridView實(shí)現(xiàn)操作按鈕定義地址的方法,涉及Yii視圖按鈕操作相關(guān)技巧,需要的朋友可以參考下2016-07-07laravel 5.4中實(shí)現(xiàn)無限級(jí)分類的方法示例
最近在工作中遇到一個(gè)需求,是要在laravel 5.4中實(shí)現(xiàn)無限級(jí)分類,但發(fā)現(xiàn)網(wǎng)上這個(gè)的資料較少,所以只能自己來實(shí)現(xiàn)了,下面這篇文章主要給大家介紹了關(guān)于在laravel 5.4中實(shí)現(xiàn)無限級(jí)分類的方法示例,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07