十五、研究頁面(ResearchBuildingPage.php)
研究因為沒有隊列,所以相對簡單一些;但是也有一些比較特殊的東西。我們先看研究之前的一個處理函數(shù)HandleTechnologieBuild()。
這個函數(shù)是處理現(xiàn)在的科技研究的,其中b_tech_plaNET字段是研究的星球ID,b_tech字段是完成研究的時間點,b_tech_id字段是研究的具體科技字段名。函數(shù)邏輯不難,我就不仔細講解了,大家自己看看,下面正式進入研究頁面:
首先要檢查當前星球是否有研究所。
然后檢查當前星球的建筑隊列中是否有研究所,使用函數(shù)CheckLabSettingsInQueue()檢查;此函數(shù)略過。
接下來又是前面的結(jié)構(gòu),我們先看下面的構(gòu)造代碼,循環(huán):
1.判斷是否是科技研究
2.判斷是否可以進行這項研究,主要是vars.php文件中的前置條件檢查
3.取得研究的需要資源
4.取得研究的需要時間
5.然后判斷這樣研究是否可以進行
6.下面是個分支:如果沒有研究在進行,那么構(gòu)造出下一等級的html;如果有研究在進行,就構(gòu)造出研究剩余的時間
7.最后輸出頁面
現(xiàn)在回到前面,講解玩家點擊研究的邏輯。分成兩段邏輯,一是研究、二是取消研究。
1.研究:先進行一些安全檢查,然后取得所需資源和時間,構(gòu)造扣除資源等語句
2.取消研究:取得所需資源,構(gòu)造退回資源等語句
3.最后提交到數(shù)據(jù)庫,更新資源和其他一些信息
研究頁面的邏輯比起前面建筑頁面簡單多了,下一章將是造船廠頁面。
php技術(shù):PHP網(wǎng)頁游戲?qū)W習之Xnova(ogame)源碼解讀(十二),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。