PHP网页游戏学习之Xnova(ogame)源码解读(十二)
十五、研究页面(ResearchBuildingPage.php)
研究因为没有队列,所以相对简单一些;但是也有一些比较特殊的东西。我们先看研究之前的一个处理函数HandleTechnologieBuild()。
这个函数是处理现在的科技研究的,其中b_tech_planet字段是研究的星球ID,b_tech字段是完成研究的时间点,b_tech_id字段是研究的具体科技字段名。函数逻辑不难,我就不仔细讲解了,大家自己看看,下面正式进入研究页面:
首先要检查当前星球是否有研究所。
然后检查当前星球的建筑队列中是否有研究所,使用函数CheckLabSettingsInQueue()检查;此函数略过。
接下来又是前面的结构,我们先看下面的构造代码,循环:
1.判断是否是科技研究
2.判断是否可以进行这项研究,主要是vars.php文件中的前置条件检查
3.取得研究的需要资源
4.取得研究的需要时间
5.然后判断这样研究是否可以进行
6.下面是个分支:如果没有研究在进行,那么构造出下一等级的html;如果有研究在进行,就构造出研究剩余的时间
7.最后输出页面
现在回到前面,讲解玩家点击研究的逻辑。分成两段逻辑,一是研究、二是取消研究。
1.研究:先进行一些安全检查,然后取得所需资源和时间,构造扣除资源等语句
2.取消研究:取得所需资源,构造退回资源等语句
3.最后提交到数据库,更新资源和其他一些信息
研究页面的逻辑比起前面建筑页面简单多了,下一章将是造船厂页面。
相关文章
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Ubuntu确实很好玩。有喜欢的命令行,简洁的界面,不同于Window要的感觉。偶尔换换环境工作,学习Linux的思维方式,是一种不错的做法。之前也折腾过Ubuntu,想在Linux下学习某些开发(主要还是和代码打交道),Ubuntu当然是最好不过的选择,并且刚发布了14.04版本2014-09-09
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
这篇文章主要介绍了PHP使用Face++接口开发微信公众平台人脸识别系统的方法,涉及微信公众平台相关接口的使用技巧,非常具有实用价值,需要的朋友可以参考下2015-04-04


最新评论