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 相关文章推荐
PHPlet在Windows下的安装
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
PHP在特殊字符前加斜杠的实现代码
Jul 17 PHP
php命令行用法入门实例教程
Oct 27 PHP
PHP输入输出流学习笔记
May 12 PHP
详解PHP执行定时任务的实现思路
Dec 21 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
Feb 04 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 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
php中substr()函数参数说明及用法实例
2014/11/15 PHP
php基于表单密码验证与HTTP验证用法实例
2015/01/06 PHP
告诉大家什么是JSON
2008/06/10 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
JsRender for object语法简介
2014/10/31 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
vue watch普通监听和深度监听实例详解(数组和对象)
2018/08/16 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
2016/07/02 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
快速了解Python开发中的cookie及简单代码示例
2018/01/17 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
python无限生成不重复(字母,数字,字符)组合的方法
2018/12/04 Python
python2 中 unicode 和 str 之间的转换及与python3 str 的区别
2019/07/25 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
PHP基于phpqrcode类库生成二维码过程解析
2020/05/28 Python
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
绩效工资分配方案
2014/01/18 职场文书
酒店副总经理岗位职责范本
2014/02/04 职场文书
音乐幼师求职信
2014/07/09 职场文书
尊师重教演讲稿
2014/09/04 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
不服从上级领导安排的检讨书
2014/09/14 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
民主生活会剖析材料
2014/09/30 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
python 实现mysql自动增删分区的方法
2021/04/01 Python
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA
Python 绘制多因子柱状图
2022/05/11 Python