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发电子邮件
Oct 09 PHP
php chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
PHP中计算字符串相似度的函数代码
Dec 29 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
Jun 20 PHP
php简单实现多字节字符串翻转的方法
Mar 31 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
Sep 11 PHP
php版微信公众号自定义分享内容实现方法
Sep 22 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
php微信开发之音乐回复功能
Jun 14 PHP
PHP+Ajax简单get验证操作示例
Mar 02 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 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
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
学习ExtJS Window常用方法
2009/10/07 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
JS 实现导航栏悬停效果(续2)
2013/09/24 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
JS实现输入框提示文字点击时消失效果
2016/07/19 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
解决Mac node版本升级失败的问题
2018/05/16 Javascript
微信小程序时间选择插件使用详解
2018/12/28 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
利用Python如何生成随机密码
2016/04/20 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
python爬虫神器Pyppeteer入门及使用
2019/07/13 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
Linux操作面试题
2012/05/16 面试题
培训讲师岗位职责
2014/04/13 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
幼儿园卫生保健制度
2015/08/05 职场文书
7个关于Python的经典基础案例
2021/11/07 Python
Golang数据类型和相互转换
2022/04/12 Golang