手机
当前位置:查字典教程网 >编程开发 >php教程 >PHP网页游戏学习之Xnova(ogame)源码解读(十四)
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
摘要:十七、资源更新(PlanetResourceUpdate.php页面)前面基本把重要的功能讲解完了,这章节我们分析重要的一个函数Planet...

十七、资源更新(PlanetResourceUpdate.php页面)

前面基本把重要的功能讲解完了,这章节我们分析重要的一个函数PlanetResourceUpdate,主要功能是更新资源、制造船舰和防御单位;代码很有条理,下面是详细的说明:

1.计算星球的最大存储空间,包括系统设置的浮动值

2.计算星球三种资源的产量和能量消耗总量,包括专家的加成

3.如果星球是月球,以上计算的产量和能量直接为0

4.计算上次更新资源到现在的时间

5.计算由于能量比率而引起的产量变化,能量为0的时候,只有基本产量

6.接下来要判断是否假期了,不是假期的话,根据前面准备好的数据,计算出这段时间内的产量,并加到现有的资源里面

7.取得这段时间应该完成的船舰和防御数量,函数HandleElementBuildingQueue

8.构造SQL语句,提交给服务器,资源更新完成

这个函数在玩家每次点击每个功能的时候执行,给玩家的感觉好像资源是早计算好了一样,呵呵。不过在一些版本里面,当一个玩家长期不登录的时候,这个玩家的资源也就不能更新了;这个时候,需要处理这个玩家的资源更新,具体更新方法可以随便,我使用的是每次间谍探测时更新。

下面讲解下函数HandleElementBuildingQueue,逻辑不复杂,还是很容易理解的。

这里要记住: b_hangar_id是要建造的字符串,b_hangar是上次保持的建造时间。

说明下:

1.先判断是否有建造队列

2.取得经过的时间并加上保持的时间

3.解析建造队列,保存在数组里面备用

4.下面foreach就是一个一个的建造了

5.最后如果有未造完的保持起来下次建造,并返回

【PHP网页游戏学习之Xnova(ogame)源码解读(十四)】相关文章:

PHP学习之PHP变量

第十三节 对象串行化 [13]

提升PHP执行速度全攻略(下)

模拟OICQ的实现思路和核心程序(三)

php实现统计网站在线人数的方法

JAVA/JSP学习系列之四

PHP的FTP学习(二)

PHP和JAVA的XML-RPC中文问题解决办法

PHP的FTP学习(一)

php显示时间常用方法小结

精品推荐
分类导航