如何解讀PHP網(wǎng)頁游戲中的Xnova源碼-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“如何解讀PHP網(wǎng)頁游戲中的Xnova源碼”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何解讀PHP網(wǎng)頁游戲中的Xnova源碼”吧!

成都創(chuàng)新互聯(lián)專注于鄭州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供鄭州營銷型網(wǎng)站建設(shè),鄭州網(wǎng)站制作、鄭州網(wǎng)頁設(shè)計、鄭州網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造鄭州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鄭州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

六、 游戲主界面(frames.php)

frames.php文件功能就是顯示游戲主界面,先看下面的代碼:

$InLogin = false;
$XNova_Host  = $_SERVER['HTTP_HOST'];
$XNova_Script = $_SERVER['SCRIPT_NAME'];
$Uri_Array   = explode ('/', $XNova_Script);
// On vire le script
array_pop($Uri_Array);
$XNova_URI   = implode ('/', $Uri_Array);
$XNovaRootURL = "http://". $XNova_Host ."/". $XNova_URI ."/";

上面的代碼主要是拼出服務(wù)器的URL,比較簡單;前面的變量$InLogin暫時不講,等我們專門講解common.php的時候,集中說明。

然后include了兩個我們前面講過的文件,最后輸出一大段 HTML 代碼。需要注意的是,HTML代碼里面構(gòu)造了兩frame,分別是leftmenu.php 和 overview.php,我下面將要分析。

七、 左導航欄(leftmenu.php)

這個文件其實很簡單,除去前面我們常見的代碼,就只聲明了ShowLeftMenu()函數(shù),最后用 display() 輸出頁面。函數(shù)ShowLeftMenu()也不難,代碼無非是gettemplate模板文件、取得服務(wù)器設(shè)置的參數(shù)以及登錄的用戶等級,然后構(gòu)造頁面。其中要注意的是用戶等級變量$Level,當$level的值大于0的時候,會顯示管理員鏈接。$level的值所代表的級別定義在system.mo文件中, 0 是普通玩家,1 是游戲操作員,2 是游戲管理員,3 是管理員。

八、 概況(overview.php)

這個文件其實就是左導航欄中對應的鏈接'概況',主要功能是顯示當前星球的大概信息和用戶的信息,包括其他星球的當前狀態(tài)等。代碼量很大,其實條理很清晰,我們慢慢看來,前面的幾行代碼我們略過。

$lunarow = doquery("SELECT * FROM {{table}} WHERE 'id_owner' = '" . $planetrow['id_owner'] . "' AND 'galaxy' = '" . $planetrow['galaxy'] . "' AND 'system' = '" . $planetrow['system'] . "' AND 'lunapos' = '" . $planetrow['planet'] . "';", 'lunas', true);
CheckPlanetUsedFields ($lunarow);

這段代碼功能是取得當前星球的月球,并檢查修正月球的使用空間。CheckPlanetUsedFields函數(shù)不僅對月球起作用,同樣可以用來檢查星球,先不看其中代碼,我們繼續(xù)。

接下來是一段安全性的驗證,需要在參數(shù)中設(shè)置啟用這個功能才行,大家可以自行看看,這樣的代碼還有很多,以后我一般都不分析,對游戲流程關(guān)系不大。接下來是一個switch,兩個分支,一個重命名星球(放棄星球),暫時不看;另一個default分支,就是登錄后要進行的流程,如下

1. 檢查用戶的消息,如果有新消息則要顯示消息鏈接
2. 專家系統(tǒng)的流程,我自己去掉了這段邏輯,所以也不打算分析
3. 檢查用戶是否有艦隊活動,如果有則構(gòu)造艦隊活動信息表,使用BuildFleetEventTable函數(shù)構(gòu)造,以后介紹
4. 如果用戶有其他星球,則構(gòu)造其他星球列表,并顯示每個星球的當前活動
5. 顯示自己發(fā)射和來自其他玩家的攻擊的星際導彈活動信息
6. 其他信息顯示,比如公告啊,google的廣告等等
7. 如果有月球,顯示月球信息
8. 下面是一些星球名、星球空間、用戶排名等信息,比較雜亂

上面這些流程的代碼,都有注釋,不難明白,下面這段代碼我們要介紹下。

if ($planetrow['b_building'] != 0) {
 UpdatePlanetBatimentQueueList ($planetrow, $user);
 if ($planetrow['b_building'] != 0) {
 $BuildQueue = explode (";", $planetrow['b_building_id']);
 $CurrBuild = explode (",", $BuildQueue[0]);
 $RestTime = $planetrow['b_building'] - time();
 $PlanetID = $planetrow['id'];
 $Build = InsertBuildListScript ("overview");
 $Build .= $lang['tech'][$CurrBuild[0]] . ' (' . ($CurrBuild[1]) . ')';
 $Build .= "
<div id="\&quot;blc\&quot;" class="\&quot;z\&quot;">" . pretty_time($RestTime) . "</div>
";
 $Build .= "\n<script type="text/javascript"><!--mce:0--></script>\n";
 
 $parse['building'] = $Build;
 } else {
 $parse['building'] = $lang['Free'];
 }
} else {
 $parse['building'] = $lang['Free'];
}

$planetrow 存放當前星球信息,其中的b_building是建筑隊列。上面代碼先判斷是否有建筑隊列,然后根據(jù)現(xiàn)在的時間,更新建筑信息;如果還是有建筑未完成,則顯示出來建筑單位和建筑的剩余時間。關(guān)于建筑隊列功能,以后要詳細介紹,現(xiàn)在先略過。

我們簡單介紹下前面的一個分支,分支里面還有三個流程:
1. 重命名星球,代碼不難,也不多說了
2. 放棄殖民星球,并顯示用戶要輸入密碼的頁面
3. 用戶輸入密碼,如果密碼正確則更新本星球的信息和用戶的默認星球ID(月球未判斷)

到此,相信大家對“如何解讀PHP網(wǎng)頁游戲中的Xnova源碼”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

新聞標題:如何解讀PHP網(wǎng)頁游戲中的Xnova源碼-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://bm7419.com/article32/dsccsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)Google、微信公眾號搜索引擎優(yōu)化、App設(shè)計、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)