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


Posted in PHP onJune 25, 2014

十五、研究页面(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.最后提交到数据库,更新资源和其他一些信息

研究页面的逻辑比起前面建筑页面简单多了,下一章将是造船厂页面。

PHP 相关文章推荐
用PHP的ob_start() 控制您的浏览器cache
Aug 03 PHP
PHP开发负载均衡指南
Jul 17 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
CURL状态码列表(详细)
Jun 27 PHP
php实现按指定大小等比缩放生成上传图片缩略图的方法
Dec 15 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 PHP
微信支付开发告警通知实例
Jul 12 PHP
php 解决扫描二维码下载跳转问题
Jan 13 PHP
php获取今日开始时间和结束时间的方法
Feb 27 PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 PHP
laravel 修改.htaccess文件 重定向public的解决方法
Oct 12 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 #PHP
JavaScript创建命名空间的5种写法
Jun 24 #PHP
PHP获取windows登录用户名的方法
Jun 24 #PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 #PHP
PHP判断表单复选框选中状态完整例子
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 #PHP
You might like
基于magic_quotes_gpc与magic_quotes_runtime的区别与使用介绍
2013/04/22 PHP
thinkphp3.2.3 分页代码分享
2016/07/28 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
针对JavaScript中this指向的简单理解
2016/08/26 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
[00:14]护身甲盾
2019/03/06 DOTA
Python使用turtule画五角星的方法
2015/07/09 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
详解python进行mp3格式判断
2016/12/23 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
年度考核自我鉴定
2014/02/02 职场文书
面试必备的求职信
2014/05/25 职场文书
机械专业技术员求职信
2014/06/14 职场文书
协会周年庆活动方案
2014/08/26 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
入党申请书怎么写?
2019/06/11 职场文书
一文简单了解MySQL前缀索引
2022/04/03 MySQL