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 数组的一个悲剧?
May 11 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
使用迭代器 遍历文件信息的详解
Jun 08 PHP
php常用ODBC函数集(详细)
Jun 24 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 PHP
php面向对象中static静态属性和静态方法的调用
Feb 08 PHP
php实现网站顶踩功能的完整前端代码
Jul 19 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
Oct 03 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
PHP执行linux命令6个函数代码实例
Nov 24 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
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
PHP批斗大会之缺失的异常详解
2019/07/09 PHP
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
Jquery性能优化详解
2014/05/15 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
JavaScript对象反射用法实例
2015/04/17 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
详解JavaScript匿名函数和闭包
2020/07/10 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
python服务器与android客户端socket通信实例
2014/11/12 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
浅谈django orm 优化
2018/08/18 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
Weblogic的布署方式
2013/08/23 面试题
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
校本教研工作方案
2014/01/14 职场文书
法律进学校实施方案
2014/03/15 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
家长对孩子的寄语
2015/02/26 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书