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编写大型网站问题集
Mar 06 PHP
php下实现农历日历的代码
Mar 07 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
Nov 02 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
Nov 10 PHP
对于PHP 5.4 你必须要知道的
Aug 07 PHP
初识php MVC
Sep 10 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
Dec 20 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
Jun 13 PHP
AJAX的使用方法详解
Apr 29 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 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显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
php类中private属性继承问题分析
2012/11/01 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
vue设置导航栏、侧边栏为公共页面的例子
2019/11/01 Javascript
JavaScript 引用类型实例详解【数组、对象、严格模式等】
2020/05/13 Javascript
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
python同时给两个收件人发送邮件的方法
2015/04/30 Python
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
简单了解python中的与或非运算
2019/09/18 Python
详解Python time库的使用
2019/10/10 Python
Python操作Sqlite正确实现方法解析
2020/02/05 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
汽车专业毕业生推荐信
2013/11/12 职场文书
党员教师个人对照检查材料范文
2014/09/25 职场文书
群众路线个人剖析材料及整改措施
2014/11/04 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
出国留学单位推荐信
2015/03/26 职场文书
Django项目如何获得SSL证书与配置HTTPS
2021/04/30 Python
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
js基础语法与maven项目配置教程案例
2021/07/15 Javascript