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核心代码分析require和include的区别
Jan 02 PHP
php各种编码集详解和以及在什么情况下进行使用
Sep 11 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
Oct 26 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
php图片水印添加、压缩、剪切的封装类实现
Apr 18 PHP
php搜索文件程序分享
Oct 30 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
php+webSoket实现聊天室示例代码(附源码)
Feb 17 PHP
PHP 7.4中使用预加载的方法详解
Jul 08 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
利用 window_onload 实现select默认选择
2006/10/09 PHP
oracle资料库函式库
2006/10/09 PHP
php查看当前Session的ID实例
2015/03/16 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
PHP实现导出excel数据的类库用法示例
2016/10/15 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
2014/10/29 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
解决layui checkbox 提交多个值的问题
2019/09/02 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
python sort、sorted高级排序技巧
2014/11/21 Python
python并发2之使用asyncio处理并发
2017/12/21 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
Python读取Word(.docx)正文信息的方法
2018/03/15 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
详解Python self 参数
2019/08/30 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
HTML5 SEO优化的一些建议
2020/08/27 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
最新茶叶店创业计划书
2014/01/14 职场文书
教堂婚礼主持词
2014/03/14 职场文书
关于长城的导游词
2015/01/30 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python