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 chr() ord()中文截取乱码问题解决方法
Sep 08 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
PHP数据过滤的方法
Oct 30 PHP
php实例分享之二维数组排序
May 15 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
使用ob系列函数实现PHP网站页面静态化
Aug 13 PHP
PHP简单实现二维数组的矩阵转置操作示例
Nov 24 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 PHP
PHP fprintf()函数用法讲解
Feb 16 PHP
PHP中命名空间的使用例子
Mar 22 PHP
基于Laravel 5.2 regex验证的正确写法
Sep 29 PHP
PHP中echo与print区别点整理
Mar 09 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
人族 TERRAN 概述
2020/03/14 星际争霸
用PHP动态创建Flash动画
2006/10/09 PHP
YII中assets的使用示例
2014/07/31 PHP
ThinkPHP分页实例
2014/10/15 PHP
php中switch语句用法详解
2015/08/17 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
用 JSON 处理缓存
2007/04/27 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
jQuery $.extend()用法总结
2014/06/15 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
分享javascript计算时间差的示例代码
2020/03/19 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
2016/10/09 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
原生JS实现几个常用DOM操作API实例
2017/01/19 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
python定时器使用示例分享
2014/02/16 Python
python一键去抖音视频水印工具
2018/09/14 Python
Python中遍历列表的方法总结
2019/06/27 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
Python 随机按键模拟2小时
2020/12/30 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
口头翻译求职人自荐信
2013/12/07 职场文书
财务会计专业个人求职信范本
2014/01/08 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
初中运动会前导词
2015/07/20 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA