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


Posted in PHP onJune 23, 2014

一、 引言

xnova(ogame)是一款世界上最火的战争策略类网页游戏之一,也是大部分同类网页游戏效仿的对象。你只需要网页浏览器,无需下载客户端就可进行的网络游戏。

Xnova是个怎么样的游戏?

你是一个跨星系的统治者,利用不同的战略扩大你的实力。你将从一个自己的星球上开始你的事业,在那里你用现有的资源建造一个你的经济和军事基础。通过科学 研究你获得达到新的、优势的技术的入口和新的武器系统。随着游戏的进行你将对多个星球移民,与其它的玩家联盟,与其它的玩家作生意或者发动战争。无论你想 要做什么,Xnova都可以让你办到!

Xnova是和现在很火的网页游戏OGame(银河帝国)相同类型、相同题材的游戏。OGame是国内众多三国题材的 webgame 的抄袭之对象(BTW,我讨厌三国)。

声明:我学习使用的源码是开源的项目,禁止用于商业用途,否则后果自负!

原始版权归Xnova开发团队所有!

铁船长版基于Xnova v0.8e修改!

此版已停止更新,我们不提供任何技术支持!

本站提供下载的是本系统的改进版!

本站源码下载地址:https://3water.com/codes/180759.html

我们学习的过程是按照程序执行顺序进行,在看源码之前,先学习了PHP的基础教程。

如果你不懂PHP请先学习PHP基础教程,或者有C的基础更佳!

最好安装PHP调试工具,我使用的是Zend studio 5,Zend Debugger 5,使用方法应该不难,而且这些用Google大神都可以找到。最后准备热茶一杯,就可以开工了。

二、 入口(index.php)

这个文件是游戏的入口,只有几行代码,功能一目了然:先判断config.php 的文件大小是否为零;如果是,就重定向到install/目录执行安装操作;否则就重定向到login.php显示登陆页面。源码如下:

if (filesize('config.php') == 0) {
 header('location: install/');
 exit();
}
header('location: login.php');
PHP 相关文章推荐
php cookie 登录验证示例代码
Mar 16 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
Apr 19 PHP
php比较两个绝对时间的大小
Jan 31 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
php创建无限级树型菜单
Nov 05 PHP
php 实现进制相互转换
Apr 07 PHP
thinkPHP的表达式查询用法详解
Sep 14 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
Jun 23 #PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 #PHP
ThinkPHP实现事务回滚示例代码
Jun 23 #PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
Jun 23 #PHP
PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
Jun 23 #PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 #PHP
ThinkPHP的URL重写问题
Jun 22 #PHP
You might like
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
Angular.js与node.js项目里用cookie校验账户登录详解
2017/02/22 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
2018/12/10 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
[01:14]辉夜杯战队访谈宣传片—NEWBEE.Y
2015/12/26 DOTA
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
我就是这样学习Python中的列表
2019/06/02 Python
python获取引用对象的个数方式
2019/12/20 Python
python自动识别文本编码格式代码
2019/12/26 Python
python关于调用函数外的变量实例
2019/12/26 Python
Python实现Keras搭建神经网络训练分类模型教程
2020/06/12 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
公司营业员的工作总结自我评价
2013/10/05 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
小学课外阅读总结
2014/07/09 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
医生个人年终总结
2015/02/28 职场文书
校长个人总结
2015/03/03 职场文书
Docker安装MySql8并远程访问的实现
2022/07/07 Servers
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android