Xnova(OGAME)PHP网页游戏学习源代码的解释(十)
十三,建筑概述(建筑。从这篇文章中,研究xnova注重过程,这实际上是一个大量的功能;对于网页的结构,就不详细解释了。
buildings.php文件不仅应对建筑金属矿物,但也包括四个功能:建筑、研究、造船厂、防御,并通过不同的参数来决定哪些功能进入,所以文件实际上是一个导航文件。这里我们简单的说明文件。
更新当前的行星构建队列复合物
updateplanetbatimentqueuelist(planetrow美元美元,用户);
当前用户的处理技术研究。
handletechnologiebuild(planetrow美元美元,用户);
下面是基于函数的参数进入不同页面
/造船厂页面
case'fleet:
FleetBuildingPage(planetrow美元美元,用户);
研究页
case'research:
researchbuildingpage(planetrow美元美元美元,用户,工作'onwork{ },{ }工作'workon美元);
防御页面
case'defense:
defensesbuildingpage(planetrow美元美元,用户);
大楼的其余部分是自然的。
违约:
BatimentBuildingPage(planetrow美元美元,用户);
让我们看看构造队列函数来更新当前的行星。
功能updateplanetbatimentqueuelist(currentplanet美元,中美元){
retvalue美元= false;
/ /判断是否有建筑施工队列保存b_building_id场
如果($ currentplanet { 'b_building_id}!= 0){
输入循环开始处理队列
而currentplanet { } 'b_building_id '($!= 0){
如果当前 /施工时间小于时间,然后处理,建筑领域b_building保存期满。
如果($ currentplanet { 'b_building ' })(<=时间){
/第一次更新行星资源,稍后分析
planetresourceupdate(合中,currentplanet美元,美元'b_buildingcurrentplanet { },假);
摆脱了当前的架构,而当前的构建字段空了很多代码,比较简单;
是checkplanetbuildingqueue美元=(currentplanet美元美元,中);
如果前台处理成功,这里是下一个大楼中的处理队列,包括资源的扣除。
如果(= =真的是美元){
setnextqueueelementontop(中currentplanet美元,美元);
}
{人}
retvalue美元=真;
打破;
}
}
}
返回的retvalue;
}
走吧,走checkplanetbuildingqueue函数,函数的代码是非常多的,这很简单;我不写注释和说的过程。从第一种类型,b_building_id场分析建筑施工和拆除,建筑时间;然后更新的建设水平,升级或降级;最大空间更新的星球和空间的利用;更新当前的建筑时间是0和更新当前的剩余队列结构。这并不难,呵呵。
这是不难遵循队列中的下一个建筑和跟踪setnextqueueelementontop功能。首先,从队列的数据,然后决定是否可建。如果可以的话,我们应该计算建设资源,如果没有,发短信等,最后更新完成时间的建筑,剩下的建筑队列和资源。