PHP网页游戏学习之Xnova(ogame)源码解读(十四)
php  /  管理员 发布于 7年前   254
十七、资源更新(PlanetResourceUpdate.php页面) 前面基本把重要的功能讲解完了,这章节我们分析重要的一个函数PlanetResourceUpdate,主要功能是更新资源、制造船舰和防御单位;代码很有条理,下面是详细的说明: 1.计算星球的最大存储空间,包括系统设置的浮动值 这个函数在玩家每次点击每个功能的时候执行,给玩家的感觉好像资源是早计算好了一样,呵呵。不过在一些版本里面,当一个玩家长期不登录的时候,这个玩家的资源也就不能更新了;这个时候,需要处理这个玩家的资源更新,具体更新方法可以随便,我使用的是每次间谍探测时更新。 下面讲解下函数HandleElementBuildingQueue,逻辑不复杂,还是很容易理解的。 说明下: 1.先判断是否有建造队列
2.计算星球三种资源的产量和能量消耗总量,包括专家的加成
3.如果星球是月球,以上计算的产量和能量直接为0
4.计算上次更新资源到现在的时间
5.计算由于能量比率而引起的产量变化,能量为0的时候,只有基本产量
6.接下来要判断是否假期了,不是假期的话,根据前面准备好的数据,计算出这段时间内的产量,并加到现有的资源里面
7.取得这段时间应该完成的船舰和防御数量,函数HandleElementBuildingQueue
8.构造SQL语句,提交给服务器,资源更新完成
这里要记住: b_hangar_id是要建造的字符串,b_hangar是上次保持的建造时间。
2.取得经过的时间并加上保持的时间
3.解析建造队列,保存在数组里面备用
4.下面foreach就是一个一个的建造了
5.最后如果有未造完的保持起来下次建造,并返回您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号