加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-05-24 08:16:35 所属栏目:PHP 来源:互联网
导读:这篇文章主要介绍了PHP网页游戏Xnova(ogame)源码解读的资源更新页面部分,需要的朋友可以参考下

十七、资源更新(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.最后如果有未造完的保持起来下次建造,并返回

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读