程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP網頁游戲學習之Xnova(ogame)源碼解讀(十二)

PHP網頁游戲學習之Xnova(ogame)源碼解讀(十二)

編輯:PHP綜合

十五、研究頁面(ResearchBuildingPage.php)

研究因為沒有隊列,所以相對簡單一些;但是也有一些比較特殊的東西。我們先看研究之前的一個處理函數HandleTechnologieBuild()。

這個函數是處理現在的科技研究的,其中b_tech_planet字段是研究的星球ID,b_tech字段是完成研究的時間點,b_tech_id字段是研究的具體科技字段名。函數邏輯不難,我就不仔細講解了,大家自己看看,下面正式進入研究頁面:

首先要檢查當前星球是否有研究所。

然後檢查當前星球的建築隊列中是否有研究所,使用函數CheckLabSettingsInQueue()檢查;此函數略過。

接下來又是前面的結構,我們先看下面的構造代碼,循環:

1.判斷是否是科技研究

2.判斷是否可以進行這項研究,主要是vars.php文件中的前置條件檢查

3.取得研究的需要資源

4.取得研究的需要時間

5.然後判斷這樣研究是否可以進行

6.下面是個分支:如果沒有研究在進行,那麼構造出下一等級的html;如果有研究在進行,就構造出研究剩余的時間

7.最後輸出頁面

現在回到前面,講解玩家點擊研究的邏輯。分成兩段邏輯,一是研究、二是取消研究。

1.研究:先進行一些安全檢查,然後取得所需資源和時間,構造扣除資源等語句

2.取消研究:取得所需資源,構造退回資源等語句

3.最後提交到數據庫,更新資源和其他一些信息

研究頁面的邏輯比起前面建築頁面簡單多了,下一章將是造船廠頁面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved