欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2014年06月25日 09:02:17   作者:鐵船長  
這篇文章主要介紹了PHP網頁游戲Xnova(ogame)源碼解讀的建筑頁面部分,需要的朋友可以參考下

十四、建筑頁面(BatimentBuildingPage.php)

現在開始解析真正的建筑頁面,里面用到的函數不少,不過都不難,我們一起來看。

一開始先檢查星球的已使用空間并更新,使用函數CheckPlanetUsedFields,這個函數前面講過,實現也不難。

接下來這個是我們前面重點講過的結構,就是判斷是否輸入;所以我們先跳到這段代碼的后面看,但是這里有幾個函數是處理一些建筑隊列的。


1. SetNextQueueElementOnTop:我們講過,處理隊列中的下一個建筑

2. ShowBuildingQueue:構造當前的隊列,代碼雖多,但簡單,有興趣可以自己跟蹤

3. BuildingSavePlanetRecord:保存前面代碼構造的建筑隊列到數據庫

4.BuildingSaveUserRecord:保存資源積分(事務官)到數據庫

然后要構造建筑頁面,我做一個文字說明,大部分UI的構造不寫:

1.     判斷最大隊列值

2.     計算出當前星球的最大空間

3.     判斷當前的建筑是否可以建造

4.     如果可以造的話,要取得建造時間、所需資源

5.     如果建造的是研究所需要判斷是否在研究

最后就是把前面準備好的各項內容構造出html頁面,這個看看就應該能明白。接下來講解我們跳過的有用戶輸入部分代碼,結構很清晰:

1.     取得用戶輸入的各項參數(實際是點擊的)

2.     判斷要建造的建筑是星球上還是月球上

3.     還有對鏈接合法性的判斷,如果是不合法的,用戶將受到懲罰(嘿嘿)

4.     然后是根據用戶的操作,進入不同的隊列功能

5.     CancelBuildingFromQueue:取消正在建造的建筑

6.     RemoveBuildingFromQueue:從隊列中移除一個建筑

7.     AddBuildingToQueue(true):在隊列中插入一個建造建筑

8.     AddBuildingToQueue(false):在隊列中插入一個取消建筑

9.     ResetThisFuckingCheater:懲罰用戶函數,大家自己看吧

上面幾個函數具體功能可以自己看,都是對隊列的操作,大同小異。

相關文章

  • thinkphp隱藏index.php/home并允許訪問其他模塊的實現方法

    thinkphp隱藏index.php/home并允許訪問其他模塊的實現方法

    這篇文章主要介紹了thinkphp隱藏index.php/home并允許訪問其他模塊的實現方法,想要達成的效果很簡單,我有兩個模塊,Home、Wechat。具體詳情請參考下本文。感興趣的朋友一起看看吧
    2016-10-10
  • PHP擴展遷移為PHP7擴展兼容性問題記錄

    PHP擴展遷移為PHP7擴展兼容性問題記錄

    PHP7擴展編寫的時候,提供的一些內核方法和之前的PHP之前的版本并不能完全兼容。有不少方法參數做了調整。下面是在遷移過程中遇到的一些問題,感興趣的朋友參考下吧
    2016-02-02
  • PHP之圖片上傳類實例代碼(加了縮略圖)

    PHP之圖片上傳類實例代碼(加了縮略圖)

    下面小編就為大家?guī)硪黄狿HP之圖片上傳類實例代碼(加了縮略圖)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • PHP Opcache安裝和配置方法介紹

    PHP Opcache安裝和配置方法介紹

    這篇文章主要介紹了PHP Opcache安裝和配置方法介紹,Opcache的安裝需要在編譯時加上enable-opcache即可,本文著重講解配置方法,需要的朋友可以參考下
    2015-05-05
  • php實現商城購物車的思路和源碼分析

    php實現商城購物車的思路和源碼分析

    這篇文章主要介紹了php實現商城購物車的思路和源碼分析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Laravel框架實現的批量刪除功能示例

    Laravel框架實現的批量刪除功能示例

    這篇文章主要介紹了Laravel框架實現的批量刪除功能,結合實例形式分析了Laravel框架批量刪除功能相關的前端界面布局及后臺控制器實現技巧,需要的朋友可以參考下
    2019-01-01
  • PHP命名空間(Namespace)的使用詳解

    PHP命名空間(Namespace)的使用詳解

    命名空間一個最明確的目的就是解決重名問題,PHP中不允許兩個函數或者類出現相同的名字,否則會產生一個致命的錯誤。這種情況下只要避免命名重復就可以解決
    2013-05-05
  • 一個經典的PHP文件上傳類分享

    一個經典的PHP文件上傳類分享

    這篇文章主要介紹了一個經典的PHP文件上傳類分享,本文詳細全面的講解了文件上傳相關的需求分析及功能實現,并同時給出了使用代碼,需要的朋友可以參考下
    2014-11-11
  • php兩點地理坐標距離的計算方法

    php兩點地理坐標距離的計算方法

    這篇文章主要為大家詳細介紹了php兩點地理坐標距離的計算方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • ThinkPHP5郵件發(fā)送服務封裝(可發(fā)附件)

    ThinkPHP5郵件發(fā)送服務封裝(可發(fā)附件)

    這篇文章主要介紹了ThinkPHP5封裝郵件發(fā)送服務,可發(fā)附件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10

最新評論