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 相关文章推荐
不用数据库的多用户文件自由上传投票系统(1)
Oct 09 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
Yii中render和renderPartial的区别
Sep 03 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
PHP与服务器文件系统的简单交互
Oct 21 PHP
Smarty3配置及入门语法
Feb 22 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 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 常用类整理
2009/12/23 PHP
php实现的漂亮分页方法
2014/04/17 PHP
php操作redis缓存方法分享
2015/06/03 PHP
php提高网站效率的技巧
2015/09/29 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
JSONP 跨域共享信息
2012/08/16 Javascript
批量实现面向对象的实例代码
2013/07/01 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
基于vue2.0实现仿百度前端分页效果附实现代码
2018/10/30 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
如何在python字符串中输入纯粹的{}
2018/08/22 Python
python字符串循环左移
2019/03/08 Python
python的sorted用法详解
2019/06/25 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
CSS3感应鼠标的背景闪烁和图片缩放动画效果
2014/05/14 HTML / CSS
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
七夕情人节促销方案
2014/06/07 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
快消品行业营销模式与盈利模式分享
2019/09/27 职场文书
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
nginx设置资源请求目录的方式详解
2022/05/30 Servers