六、 游戏主界面(frames.php)

frames.php文件功能就是显示游戏主界面,先看下面的代码:

上面的代码主要是拼出服务器的URL,比较简单;前面的变量$InLogin暂时不讲,等我们专门讲解common.php的时候,集中说明。

然后include了两个我们前面讲过的文件,最后输出一大段 HTML 代码。需要注意的是,HTML代码里面构造了两frame,分别是leftmenu.php 和 overview.php,我下面将要分析。

七、 左导航栏(leftmenu.php)

这个文件其实很简单,除去前面我们常见的代码,就只声明了ShowLeftMenu()函数,最后用 display() 输出页面。函数ShowLeftMenu()也不难,代码无非是gettemplate模板文件、取得服务器设置的参数以及登录的用户等级,然后构造页面。其中要注意的是用户等级变量$Level,当$level的值大于0的时候,会显示管理员链接。$level的值所代表的级别定义在system.mo文件中, 0 是普通玩家,1 是游戏操作员,2 是游戏管理员,3 是管理员。

八、 概况(overview.php)

这个文件其实就是左导航栏中对应的链接'概况',主要功能是显示当前星球的大概信息和用户的信息,包括其他星球的当前状态等。代码量很大,其实条理很清晰,我们慢慢看来,前面的几行代码我们略过。

这段代码功能是取得当前星球的月球,并检查修正月球的使用空间。CheckPlanetUsedFields函数不仅对月球起作用,同样可以用来检查星球,先不看其中代码,我们继续。

接下来是一段安全性的验证,需要在参数中设置启用这个功能才行,大家可以自行看看,这样的代码还有很多,以后我一般都不分析,对游戏流程关系不大。接下来是一个switch,两个分支,一个重命名星球(放弃星球),暂时不看;另一个default分支,就是登录后要进行的流程,如下

1. 检查用户的消息,如果有新消息则要显示消息链接

2. 专家系统的流程,我自己去掉了这段逻辑,所以也不打算分析

3. 检查用户是否有舰队活动,如果有则构造舰队活动信息表,使用BuildFleetEventTable函数构造,以后介绍

4. 如果用户有其他星球,则构造其他星球列表,并显示每个星球的当前活动

5. 显示自己发射和来自其他玩家的攻击的星际导弹活动信息

6. 其他信息显示,比如公告啊,google的广告等等

7. 如果有月球,显示月球信息

8. 下面是一些星球名、星球空间、用户排名等信息,比较杂乱

上面这些流程的代码,都有注释,不难明白,下面这段代码我们要介绍下。

$planetrow 存放当前星球信息,其中的b_building是建筑队列。上面代码先判断是否有建筑队列,然后根据现在的时间,更新建筑信息;如果还是有建筑未完成,则显示出来建筑单位和建筑的剩余时间。关于建筑队列功能,以后要详细介绍,现在先略过。

我们简单介绍下前面的一个分支,分支里面还有三个流程:

1. 重命名星球,代码不难,也不多说了

2. 放弃殖民星球,并显示用户要输入密码的页面

3. 用户输入密码,如果密码正确则更新本星球的信息和用户的默认星球ID(月球未判断)

至此,用户登录到游戏主界面的流程都清楚了,总算进入游戏了。

来自网页消息do.php意思,PHP网页游戏学习之Xnova(ogame)源码解读(五)相关推荐

  1. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(十六)...

    PHP网页游戏学习之Xnova(ogame)源码解读(十六) 作者:bea 十九.攻击任务(MissionCaseAttack.php) 按照舰队任务的编号,排在第一个的就是攻击任务.这个代码很长,看 ...

  2. 网页游戏开发例子php,PHP网页游戏学习之Xnova(ogame)源码解读(八)

    这篇文章主要介绍了PHP网页游戏Xnova(ogame)源码解读的公共函数部分,需要的朋友可以参考下 十一.公共函数(functions.php) 本来打算写建筑页面的分析,但是建筑页面东西比较多,一 ...

  3. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(六)...

    九.公共代码(common.php) Common.php是Xnova的公共代码,几乎每次点击都会被执行,所以这里要是优化的好,那么整个程序的效率都会有提升:当然这个文件调用的其他代码也要一并优化才行 ...

  4. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(二)...

    三. 安装(install/index.php) 这个文件是安装页面,一开始就可以看到定义了两个常量: 因为这两个常量在接下来的代码中总是用到,所以在这里先说明下.INSIDE是用来防止攻击的:INS ...

  5. php网页游戏学习之xnova(ogame)源码解读,PHP网页游戏学习之Xnova(ogame)源码解读(十一)...

    十四.建筑页面(BatimentBuildingPage.php) 现在开始解析真正的建筑页面,里面用到的函数不少,不过都不难,我们一起来看. 一开始先检查星球的已使用空间并更新,使用函数CheckP ...

  6. 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA网页小游戏交流论坛计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  7. Android 进阶14:源码解读 Android 消息机制( Message MessageQueue Handler Looper)

    不要心急,一点一点的进步才是最靠谱的. 读完本文你将了解: 前言 Message 如何获取一个消息 Message.obtain() 消息的回收利用 MessageQueue MessageQueue ...

  8. QQ给附近的人群发消息,需要验证的自动申请为好友 按键精灵源码

    QQ给附近的人群发消息,需要验证的自动申请为好友 按键精灵源码 先打开QQ查找界面 -找人 While trueHwnd = Plugin.Window.Find(0, "查找") ...

  9. 短视频播放网页源码学习包html php源码三分钟下载安装

    可以学习怎么在html上实现图片与视频播放功能 二.下载:源码https://wwm.lanzout.com/iMFqi07ti56b 三.用途:(注:盈利和商业化须获得源码作者同意) 有搜索引擎收录 ...

最新文章

  1. 【Unity】publishing setting keystore作用
  2. 机器学习-集成学习:随机森林(Random Forest)
  3. Educational Codeforces Round 81 (Rated for Div. 2) F.Good Contest \ 洛谷 划艇 组合 计数dp
  4. 3月份Github上最热门的Python开源项目
  5. 神经网络风格迁移更新篇
  6. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(7) - 混洗指令 解组合指令
  7. thinkphp6 加载第三方类库_thinkphp中第三方类引入问题
  8. 全局替换资源_BitLocker+VHD替换TrueCrypt及其后继VeraCrypt
  9. Linux - iptables
  10. elasticsearch sort illegal_argument_exception error
  11. IFRAME跨域名的解决方法,终结版(小张.NET原创)
  12. Jenkins自动化构建Gitee项目
  13. 我从来都不是什么好人——脚本小子智斗绿茶小妹
  14. rk3588 驱动调试记录
  15. Office2013 图标显示不正常的解决办法
  16. Zookeeper分布式锁
  17. 创建一个Rectangle类。 添加两个属性width、height,分别表示宽度和高度,添加计算矩形的周长和面积的方法。测试输出一个矩形的周长和面积。
  18. 十年项目经理总结的项目质量管理十要点
  19. 学习 lt MATLAB gt 心得,lt;lt;MATLAB可视化大学物理学gt;gt;使大学物理更具体,更有趣。 - 物理 - 小木虫 - 学术 科研 互动社区...
  20. 21届秋招电信云笔试[技术类B卷]

热门文章

  1. 玩 arduino 的流水账
  2. 社交网络中的表情:一个尚待挖掘的巨大金矿
  3. 从高通和宇龙签署授权协议 看互联网+时代的专利部署
  4. __mt_alloc源码分析(1)
  5. 如何在vue项目中调用微信扫一扫
  6. ip网络4G对讲广播系统特点
  7. Unity 工具 之 简单 镭射 Laser Ray 交互的封装可交互物体 GameObject 和 UI(结合 Curved UI)基于/可用于眼镜插手机上交互
  8. 等离子体进展期刊和网站
  9. html5语文答题制作,高考语文答题技巧25个
  10. 如何用python做无限弹窗_python弹出框