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 相关文章推荐
使用PHP制作新闻系统的思路
Oct 09 PHP
深入file_get_contents函数抓取内容失败的原因分析
Jun 25 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(三)
Jun 23 PHP
PHP调用C#开发的dll类库方法
Jul 28 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
javascript数组与php数组的地址传递及值传递用法实例
Jan 22 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
WordPress自定义时间显示格式
Mar 27 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
浅谈PHP无限极分类原理
Mar 14 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
curl和libcurl的区别简介
2015/07/01 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
Js的MessageBox
2006/12/03 Javascript
javascript动画浅析
2012/08/30 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
快速学习jQuery插件 Form表单插件使用方法
2015/12/01 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
基于bootstrap实现多个下拉框同时搜索功能
2017/07/19 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
JavaScript中的E-mail 地址格式验证
2018/03/28 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
python和C语言混合编程实例
2014/06/04 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
Python实现序列化及csv文件读取
2020/01/19 Python
python3 自动打印出最新版本执行的mysql2redis实例
2020/04/09 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
幼儿园优秀教师事迹
2014/02/13 职场文书
应聘英语教师求职信
2014/04/24 职场文书
美食节目策划方案
2014/05/31 职场文书
2014年党总支工作总结
2014/12/18 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python