一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP網頁游戲學習之Xnova(ogame)源碼解讀(十三)

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

2020-07-12 16:55鐵船長 PHP教程

這篇文章主要介紹了PHP網頁游戲Xnova(ogame)源碼解讀的造船與防御代碼部分,需要的朋友可以參考下

十六、造船和防御(FleetBuildingPage.php與DefensesBuildingPage.php頁面)

先說造船廠頁面,其實這個頁面中并沒有真正的造船,只是把要造的船和數量保存到數據庫中;產生船艦的代碼在另外一個函數里面。下面我們開始分析這個頁面,并且也按照前面的思路,先講解構造頁面的代碼。

首先判斷本星球是否已有造船廠,沒有當然要提示。

下面使用循環語句,構造出每種船艦的建造頁面,這段代碼我覺得不需要再詳細講解了。

接下來是要顯示正在制造的船艦列表,要腳本動態顯示,實際上是假像;即使顯示有船艦造好了,如果不是刷新,數據庫里面并不會有。注意這里有兩個重要的字段:b_hangar_id保存著要造的船列表;b_hangar保存著上次更新后剩下的時間,單位是秒。

使用函數ElementBuildListBox(),構造出一個正在造船的腳本,函數代碼大家自己看,不難,只要理解了前面我說的兩個字段就可以了。

最后輸出造船廠頁面。

現在我們又回到前面,玩家輸入要制造的船艦的數量,進入這段代碼。

1.取得要制造的船艦代碼和數量
2.判斷制造的數量是否超過允許的最大值,超過則取最大值
3.如果制造數量不為零,判斷是否允許制造
4.然后取得當前資源能制造的最大值
5.設置資源消耗和時間消耗
6.最后更新星球數據,包括減少資源和建造船艦的字段b_hangar_id,貼出代碼如下:

?
1
2
3
4
5
6
if ($Count >= 1) {
 $CurrentPlanet['metal'] -= $Ressource['metal'];
 $CurrentPlanet['crystal'] -= $Ressource['crystal'];
 $CurrentPlanet['deuterium'] -= $Ressource['deuterium'];
 $CurrentPlanet['b_hangar_id'].= "". $Element .",". $Count .";";
}

造船廠頁面完成了,下面我們來看防御頁面。這個頁面基本邏輯和造船廠一樣,這里就不寫了。不同的是多一些邏輯限制,羅列出來如下:

1.在構造防御單位頁面的時候,代碼407和408是大小防御護盾,要注意只能有一個
2.在玩家輸入數量后的制造代碼里面,代碼502和503是攔截導彈和星際導彈,要注意兩個導彈的數量關系和正在制造列表里面的導彈數量
3.同樣使用字段b_hangar_id保存

造船和防御頁面簡單的講解完了,最重要的制造代碼在另外一個函數里面,下一章節分析。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本亚洲娇小与黑人tube | 精品一产品大全 | 亚洲 日韩 国产 中文视频 | 视频一区精品 | 人禽l交视频在线播放 视频 | 91资源在线视频 | 国产乱人乱精一区二区视频密 | 催眠 迷j系列小说 | 男人捅女人的鸡鸡 | 亚洲一区二区三区深夜天堂 | 国产福利不卡一区二区三区 | 国产香蕉一区二区在线网站 | 欧亚尺码专线欧洲s码wmy | 国产成人精品高清在线 | 96日本xxxxxxxxx70| 成人免费毛片一区二区三区 | 天天射夜夜爽 | 天堂在线中文无弹窗全文阅读 | 日韩欧美国产成人 | 精品视频国产 | 欧美精品一区二区三区免费观看 | 貂蝉沦为姓奴小说 | 精品国产在天天线在线麻豆 | 国产亚洲精品一区二区在线播放 | 亚洲精品一区二区三区中文字幕 | 精品一区二区三区波多野结衣 | 国自产在线精品免费 | 日本一道高清不卡免费 | 日韩免费一级片 | 久草热在线 | 91九色露脸 | 向日葵视频app下载18岁以下勿看 | 好大好热| 久久国产精品高清一区二区三区 | 欧美性色欧美a在线播放 | 偷偷狠狠的日日高清完整视频 | 波多野结衣久久国产精品 | 日本黄色录像视频 | 我与白丝同桌的故事h文 | 9999网站| 色ccc36|