服务器之家

服务器之家 > 正文

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

时间:2020-07-11 15:30     来源/作者:铁船长

十四、建筑页面(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:惩罚用户函数,大家自己看吧

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

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
返回顶部