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