PHP網頁游戲學習之Xnova(ogame)源碼解讀(二)
三、 安裝(install/index.php)這個文件是安裝頁面,一開始就可以看到定義了兩個常量:define('INSIDE' , true);define('INSTALL' , true);
因為這兩個常量在接下來的代碼中總是用到,所以在這里先說明下。INSIDE是用來防止...
|
三、 安裝(install/index.php)這個文件是安裝頁面,一開始就可以看到定義了兩個常量:define('INSIDE' , true);define('INSTALL' , true);
因為這兩個常量在接下來的代碼中總是用到,所以在這里先說明下。INSIDE是用來防止...
一、 引言xnova(ogame)是一款世界上最火的戰爭策略類網頁游戲之一,也是大部分同類網頁游戲效仿的對象。你只需要網頁瀏覽器,無需下載客戶端就可進行的網絡游戲。Xnova是個怎么樣的游戲?你是一個跨星系的統治者,利用不同的...
五、 用戶登錄(login.php)在開始的時候,我們說過游戲的入口是index.php文件;我們已經安裝好了,自然轉向登錄流程,開始看。前面照例是一段我們前進介紹過的代碼,我們就不再詳細講了;不同的是使用的語言文件是login.mo,還有一個L...
四、 用戶注冊(reg.php)在看用戶注冊之流程之前,我把表的用途做個簡單說明,現在只是大概的說明,后面我們再仔細了解,大家可以記下這個說明。game_aks 聯合攻擊組記錄表,攻擊完成刪除數據game_alliance 聯盟表g...
九、公共代碼(common.php)Common.php是Xnova的公共代碼,幾乎每次點擊都會被執行,所以這里要是優化的好,那么整個程序的效率都會有提升;當然這個文件調用的其他代碼也要一并優化才行。$game_config = array();$user = a...
六、 游戲主界面(frames.php)frames.php文件功能就是顯示游戲主界面,先看下面的代碼:$InLogin = false;$XNova_Host = $_SERVER['HTTP_HOST'];$XNova_Script = $_SERVER['SCRIPT_NAME'];$Uri_Array = explode ('/', $X...
十一、公共函數(functions.php)本來打算寫建筑頁面的分析,但是建筑頁面東西比較多,一天時間也寫不完;而且我們還有很多函數要經常用到,先簡單介紹下這些函數還是有必要的;下面我們還是以注釋方式說明。// ------------------...
十、基礎數值(vars.php)vars.php文件中定義游戲中關鍵的基礎數值,全部以數組形式定義;PHP中的數組實際上是一個有序圖。我們下面將以代碼注釋的方式進行說明,可能有不正確的理解,希望大家自己也仔細看看,有問題請提出來!如果...
十三、 建造總覽(buildings.php)從這篇文章開始,對xnova的研究重點放在流程上面,其實就是大量的函數;至于頁面的構造將不再仔細解釋。buildings.php文件不只是處理建筑金屬礦產等,而是包括了建筑、研究、造船廠、防御四個功...
十二、艦隊相關函數(unlocalised.php)本節將把艦隊派遣相關的函數做個說明,繼續以注釋方式說明;由于這次涉及的函數比較多,需要花不少時間來整理消化。// --------------------------------------------------------------...
一、使用語句:
復制代碼 代碼如下:mysql_query("select max(id) from t1",$link);
使用此方法得到的是 id最大的值,確為最后一個值,但當多鏈接線程時,這個最大的id并不一定是我們插入數據的自增id值,因此不適用于多線程...
網頁表單中經常用到復選框,那么如何用PHP來判斷提交的表單中哪些復選框被選中,并讀取其中的數據呢。首先建立一個表單:form.html
復制代碼 代碼如下:<form action=checkbox.php method=post>
<input name="s[]" type="ch...
在JavaScript中全局變量經常會引起命名沖突,甚至有時侯重寫變量也不是按照你想像中的順序來的,可以看看下面的例子:
復制代碼 代碼如下:
var sayHello = function() {
return 'Hello var';
};function sayHello(name)...
前幾天在問答區提了一下這個問題,所有回答問題的朋友都說不可能通過PHP實現,碰巧我的實習負責人幫我找到了一個方法,貌似是通過NTLM來實現的,我是新手,對具體原理也知之不詳,只是自己測試了一下,很好用.
所以趕快拿出...
十五、研究頁面(ResearchBuildingPage.php)研究因為沒有隊列,所以相對簡單一些;但是也有一些比較特殊的東西。我們先看研究之前的一個處理函數HandleTechnologieBuild()。這個函數是處理現在的科技研究的,其中b_tech_planet...
十四、建筑頁面(BatimentBuildingPage.php)現在開始解析真正的建筑頁面,里面用到的函數不少,不過都不難,我們一起來看。一開始先檢查星球的已使用空間并更新,使用函數CheckPlanetUsedFields,這個函數前面講過,實現也不難。接...
這里來看下效果: 現在讓我們來看下 PHP 代碼
復制代碼 代碼如下:
<?php
session_start();
function random($len) {
$srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";
mt_srand();
$strs = "";
f...
類代碼:<?php/** * PHP - Password Generator Class * Version 1.0.0 * */ if (@!is_object($passGen) || !isset($passGen)) { $passGen = new Password;} class Password{ /** * 大寫字母 A-Z * * @va...
在這一章節里, 我們來了解下如何利用核心(core) PHP 生成 HTML 文件
最近我在查詢 php.net 的時候,發現 DOMDocument 這個類非常的有意思, 可以用來生成 XML 或 HTML 文件, DOMDocument 為我們提供了一系列的方法來生成...
在這一章節里, 我們來了解一個不太常用但功能強大的 PHP 特性: FILTERS, 該擴展可以用來驗證(validation)和糾錯(sanitization)
當數據源含有未知或不確定數據時,將變得非常有用, 最多是用來處理由客戶從 HTML 表單(for...
在這里和大家分享一個非常好用的 Zend Framework 分頁類
具體效果可見本站的分頁效果, CSS樣式可根據個人設計感進行更變。
這里我會舉例演示如何使用該類, 如下:
IndexController.php, 在 Action 中寫入如下代碼:...
共有兩種等比例縮略圖方法可以借鑒
一、為類文件,實例化之后即可使用
二、為自定義方法,比較輕巧類文件
復制代碼 代碼如下:$resizeimage = new resizeimage("./shawn.jpg", "200", "100", "0","../pic/shawnsun.jpg");...
一般使用工廠方式:Zend_Cache::factory()的創建緩存對象。
Zend_Cache::factory方法有四個參數: 前端類型,后端類型,前端參數,后端參數。
以下為頁面緩存實例:class Zend_Controller_Shawn extends Zend_Controller_A...
1、如果您的服務器支持.htaccess,則無需設置,網站根目錄下的.htaccess已經設置好規則。
規則(參考http://download.destoon.com/rewrite/htaccess.txt)為:# Destoon B2B Rewrite RulesErrorDocument 404 /404.phpRewriteEn...
很多朋友都遇到了Destoon供求欄目下旺旺無法正常顯示,點擊提醒“會員名不存在”的情況,原因是旺旺更改了在線旺旺的代碼,但是Destoon沒有及時更新。這時候只需要修改api/im.func.php中第二段旺旺聯系的那段:即將function...