PHP网页游戏学习之Xnova(ogame)源码解读(九)_php实例

十二、舰队相关函数(unlocalised.php)

本节将把舰队派遣相关的函数做个说明,继续以注释方式说明;由于这次涉及的函数比较多,需要花不少时间来整理消化。

// -------------------------------------------------------------------
//
// 以下是舰队派遣需要用到的函数列表
//
// -------------------------------------------------------------------
// 计算两个星球之间的距离
function GetTargetDistance ($OrigGalaxy, $DestGalaxy, $OrigSystem, $DestSystem,
$OrigPlanet, $DestPlanet)
// 计算舰队到达指定距离需要的时间,这里会考虑服务器的倍速设置
function GetMissionDuration ($GameSpeed, $MaxFleetSpeed, $Distance, $SpeedFactor)
// 取得游戏设置后的舰队速度
function GetGameSpeedFactor ()
// 计算舰队的最大速度
function GetFleetMaxSpeed ($FleetArray, $Fleet, $Player)
// 计算单个舰种的HH消耗
function GetShipConsumption ( $Ship, $Player )
// 计算舰队的HH消耗,这里就是实际的HH消耗量,传入了很多参数
function GetFleetConsumption ($FleetArray, $SpeedFactor, $MissionDuration,
$MissionDistance, $FleetMaxSpeed, $Player)
// -------------------------------------------------------------------
//
// 以下是字符串的格式化显示函数列表
//
// -------------------------------------------------------------------
// 格式化时间,形如:xxd xxh xxm
function pretty_time ($seconds)
// 格式化分钟,形如:xxmin
function pretty_time_hour ($seconds)
// 建造时间格式,前面会有说明
function ShowBuildTime ($time)
//孤立函数,没有被调用
function add_points ($resources, $userid)
//孤立函数,没有被调用
function remove_points ($resources, $userid)
//孤立函数,没有被调用
function get_userdata ()
// -------------------------------------------------------------------
//
// 以下是模板文件的读/写/使用函数列表
//
// -------------------------------------------------------------------
// 根据文件名读取文件内容
function ReadFromFile($filename)
//孤立函数,没有被调用
function SaveToFile ($filename, $content)
//前面介绍过,用$array的值进行替换
function parsetemplate ($template, $array)
//也介绍过,就是取得指定模板文件的内容
function gettemplate ($templatename)
// include不同语言文件
function includeLang ($filename, $ext = '.mo')
// -------------------------------------------------------------------
//
// 以下是舰队链接类函数列表
//
// -------------------------------------------------------------------
// 构造一个舰队起始星球的星图超链接
function GetStartAdressLink ( $FleetRow, $FleetType )
// 构造一个舰队目的星球的星图超链接
function GetTargetAdressLink ( $FleetRow, $FleetType )
// 构造一个指定星球的星图超链接
function BuildPlanetAdressLink ( $CurrentPlanet )
// 构造一个给攻击者的发送消息到超链接
function BuildHostileFleetPlayerLink ( $FleetRow )
// 取得下次月门的开启时间
function GetNextJumpWaitTime ( $CurMoon )
// 构造一个攻击舰队明细列表
function CreateFleetPopupedFleetLink ( $FleetRow, $Texte, $FleetType )
//构造一个返回舰队的明细列表,包括有无资源
function CreateFleetPopupedMissionLink ( $FleetRow, $Texte, $FleetType ) 

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 源码
, 网页游戏
, Xnova
ogame
,以便于您获取更多的相关知识。

时间: 2024-10-25 17:08:02

PHP网页游戏学习之Xnova(ogame)源码解读(九)_php实例的相关文章

PHP网页游戏学习之Xnova(ogame)源码解读(十三)_php实例

十六.造船和防御(FleetBuildingPage.php与DefensesBuildingPage.php页面) 先说造船厂页面,其实这个页面中并没有真正的造船,只是把要造的船和数量保存到数据库中:产生船舰的代码在另外一个函数里面.下面我们开始分析这个页面,并且也按照前面的思路,先讲解构造页面的代码. 首先判断本星球是否已有造船厂,没有当然要提示. 下面使用循环语句,构造出每种船舰的建造页面,这段代码我觉得不需要再详细讲解了. 接下来是要显示正在制造的船舰列表,要脚本动态显示,实际上是假像:

PHP网页游戏学习之Xnova(ogame)源码解读(十六)_php实例

十九.攻击任务(MissionCaseAttack.php) 按照舰队任务的编号,排在第一个的就是攻击任务.这个代码很长,看的时候要有耐心. 好在引用的内容并不是很多,并且给出了详细的注释,读者不会晕头转向. function MissionCaseAttack ($FleetRow) { global $user, $phpEx, $xnova_root_path, $pricelist, $lang, $resource, $CombatCaps; // 在舰队的记录中,fleet_star

PHP网页游戏学习之Xnova(ogame)源码解读(一)_php实例

一. 引言 xnova(ogame)是一款世界上最火的战争策略类网页游戏之一,也是大部分同类网页游戏效仿的对象.你只需要网页浏览器,无需下载客户端就可进行的网络游戏. Xnova是个怎么样的游戏? 你是一个跨星系的统治者,利用不同的战略扩大你的实力.你将从一个自己的星球上开始你的事业,在那里你用现有的资源建造一个你的经济和军事基础.通过科学 研究你获得达到新的.优势的技术的入口和新的武器系统.随着游戏的进行你将对多个星球移民,与其它的玩家联盟,与其它的玩家作生意或者发动战争.无论你想 要做什么,

PHP网页游戏学习之Xnova(ogame)源码解读(二)_php实例

三. 安装(install/index.php) 这个文件是安装页面,一开始就可以看到定义了两个常量: define('INSIDE' , true); define('INSTALL' , true); 因为这两个常量在接下来的代码中总是用到,所以在这里先说明下.INSIDE是用来防止攻击的:INSTALL是用来记录现在是否处于安装游戏的进程中. 接下来Include两个文件:extension.inc和common,这两个都是正宗的php文件.首先extension.inc里面加入了防止攻击

PHP网页游戏学习之Xnova(ogame)源码解读(六)_php实例

九.公共代码(common.php) Common.php是Xnova的公共代码,几乎每次点击都会被执行,所以这里要是优化的好,那么整个程序的效率都会有提升:当然这个文件调用的其他代码也要一并优化才行. $game_config = array(); $user = array(); $lang = array(); $link = ""; $IsUserChecked = false; 变量$game_config存放整个游戏的参数数据,每次都要读数据库,可以优化,优化方式比如保存在

PHP网页游戏学习之Xnova(ogame)源码解读(十)_php实例

十三. 建造总览(buildings.php) 从这篇文章开始,对xnova的研究重点放在流程上面,其实就是大量的函数:至于页面的构造将不再仔细解释. buildings.php文件不只是处理建筑金属矿产等,而是包括了建筑.研究.造船厂.防御四个功能:通过传递不同的参数来决定进入哪个功能,所以这个文件其实是一个导航文件.下面我们简单解释下这个文件. //更新当前星球的建筑队列,比较复杂 UpdatePlanetBatimentQueueList ( $planetrow, $user ); //

PHP网页游戏学习之Xnova(ogame)源码解读(五)_php实例

六. 游戏主界面(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 =

PHP网页游戏学习之Xnova(ogame)源码解读(四)_php实例

五. 用户登录(login.php) 在开始的时候,我们说过游戏的入口是index.php文件:我们已经安装好了,自然转向登录流程,开始看. 前面照例是一段我们前进介绍过的代码,我们就不再详细讲了:不同的是使用的语言文件是login.mo,还有一个LOGIN的常量.如下 define('INSIDE' , true); define('INSTALL' , false); define('LOGIN' , true); $InLogin = true; $xnova_root_path = '.

PHP网页游戏学习之Xnova(ogame)源码解读(八)_php实例

十一.公共函数(functions.php) 本来打算写建筑页面的分析,但是建筑页面东西比较多,一天时间也写不完:而且我们还有很多函数要经常用到,先简单介绍下这些函数还是有必要的:下面我们还是以注释方式说明. // ------------------------------ // //检查用户是否假期模式,这个函数没有被调用过 // function check_urlaubmodus ($user) //输出目前登陆用户假期模式剩余时间,这个函数没有被调用过 function check_u