PHP网页游戏学习之Xnova(ogame)源码解读(十一)


Posted in PHP onJune 25, 2014

十四、建筑页面(BatimentBuildingPage.php)

现在开始解析真正的建筑页面,里面用到的函数不少,不过都不难,我们一起来看。

一开始先检查星球的已使用空间并更新,使用函数CheckPlanetUsedFields,这个函数前面讲过,实现也不难。

接下来这个是我们前面重点讲过的结构,就是判断是否输入;所以我们先跳到这段代码的后面看,但是这里有几个函数是处理一些建筑队列的。

1. SetNextQueueElementOnTop:我们讲过,处理队列中的下一个建筑

2. ShowBuildingQueue:构造当前的队列,代码虽多,但简单,有兴趣可以自己跟踪

3. BuildingSavePlanetRecord:保存前面代码构造的建筑队列到数据库

4.BuildingSaveUserRecord:保存资源积分(事务官)到数据库

然后要构造建筑页面,我做一个文字说明,大部分UI的构造不写:

1.     判断最大队列值

2.     计算出当前星球的最大空间

3.     判断当前的建筑是否可以建造

4.     如果可以造的话,要取得建造时间、所需资源

5.     如果建造的是研究所需要判断是否在研究

最后就是把前面准备好的各项内容构造出html页面,这个看看就应该能明白。接下来讲解我们跳过的有用户输入部分代码,结构很清晰:

1.     取得用户输入的各项参数(实际是点击的)

2.     判断要建造的建筑是星球上还是月球上

3.     还有对链接合法性的判断,如果是不合法的,用户将受到惩罚(嘿嘿)

4.     然后是根据用户的操作,进入不同的队列功能

5.     CancelBuildingFromQueue:取消正在建造的建筑

6.     RemoveBuildingFromQueue:从队列中移除一个建筑

7.     AddBuildingToQueue(true):在队列中插入一个建造建筑

8.     AddBuildingToQueue(false):在队列中插入一个取消建筑

9.     ResetThisFuckingCheater:惩罚用户函数,大家自己看吧

上面几个函数具体功能可以自己看,都是对队列的操作,大同小异。

PHP 相关文章推荐
打造计数器DIY三步曲(下)
Oct 09 PHP
PHP 柱状图实现代码
Dec 04 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 PHP
php在线代理转向代码
May 05 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
PHP的Yii框架的基本使用示例
Aug 21 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
利用php输出不同的心形图案
Apr 22 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
laravel 解决crontab不执行的问题
Oct 22 PHP
PHP策略模式写法
Apr 01 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
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 #PHP
You might like
BBS(php & mysql)完整版(三)
2006/10/09 PHP
php adodb分页实现代码
2009/03/19 PHP
PHP SPL标准库之文件操作(SplFileInfo和SplFileObject)实例
2015/05/11 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
PHP扩展安装方法步骤解析
2020/11/24 PHP
JavaScipt基本教程之前言
2008/01/16 Javascript
Javascript !!的作用
2008/12/04 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
动态读取JSON解析键值对的方法
2014/06/03 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
2018/08/31 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
python编写简单端口扫描器
2019/09/04 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
Python如何在bool函数中取值
2020/09/21 Python
用python对excel查重
2020/12/07 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
Omio俄罗斯:一次搜索公共汽车、火车和飞机的机票
2018/11/17 全球购物
化学实验员岗位职责
2013/12/28 职场文书
水利学院求职自荐书
2014/02/01 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
党章培训心得体会
2014/09/04 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书
演讲稿之感恩老师(三篇范文)
2019/09/06 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL