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 相关文章推荐
Excel数据导入Mysql数据库的实现代码
Jun 05 PHP
PHP 函数语法介绍一
Jun 14 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
PHP array 的加法操作代码
Jul 24 PHP
PHP中设置时区方法小结
Jun 03 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 PHP
destoon调用discuz论坛中带图片帖子的实现方法
Aug 21 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
php框架CodeIgniter使用redis的方法分析
Apr 13 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 PHP
laravel 如何实现引入自己的函数或类库
Oct 15 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
thinkphp的静态缓存用法分析
2014/11/29 PHP
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
PHP实现的AES加密、解密封装类与用法示例
2018/08/02 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
node.js中Socket.IO的进阶使用技巧
2014/11/04 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
纯javascript版日历控件
2016/11/24 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
详解Django rest_framework实现RESTful API
2018/05/24 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
wxPython实现绘图小例子
2019/11/19 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
Python如何实现FTP功能
2020/05/28 Python
python中元组的用法整理
2020/06/15 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
h5移动端调用支付宝、微信支付的实现
2020/06/08 HTML / CSS
本科生的职业生涯规划范文
2014/01/09 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
音乐教学随笔感言
2014/02/19 职场文书
沈阳故宫导游词
2015/01/31 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
2015年中秋节主持词
2015/07/30 职场文书
安全教育主题班会总结
2015/08/14 职场文书
Mysql中 unique列插入重复值该怎么解决呢
2021/05/26 MySQL