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 session应用实例 登录验证
Mar 16 PHP
php 冒泡排序 交换排序法
May 10 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
PHP基于redis计数器类定义与用法示例
Feb 08 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
PHP命名空间与自动加载类详解
Sep 04 PHP
PHP simplexml_import_dom()函数讲解
Feb 03 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
Apr 11 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 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
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
基于php下载文件的详解
2013/06/02 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
2014/05/08 PHP
jQuery 翻牌或百叶窗效果(内容三秒自动切换)
2012/06/14 Javascript
js精度溢出解决方案
2012/12/02 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
jQuery 调用WebService 实例讲解
2016/06/28 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
Vue实现web分页组件详解
2017/11/28 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
2018/04/20 Python
Python数据类型之Set集合实例详解
2019/05/07 Python
python中的数组赋值与拷贝的区别详解
2019/11/26 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
Python同时迭代多个序列的方法
2020/07/28 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
Lee牛仔裤澳大利亚官网:美国著名牛仔裤品牌
2017/09/02 全球购物
瑞典度假品牌:OAS
2019/05/28 全球购物
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
安全承诺书范文
2014/03/26 职场文书
单位承诺书格式
2014/05/21 职场文书
2014年健康教育工作总结
2014/11/20 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs