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 相关文章推荐
SMARTY学习手记
Jan 04 PHP
php explode函数实例代码
Feb 27 PHP
介绍一些PHP判断变量的函数
Apr 24 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
一个经典实用的PHP图像处理类分享
Nov 18 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
php实现xml转换数组的方法示例
Feb 03 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
阿里云Win2016安装Apache和PHP环境图文教程
Mar 11 PHP
Laravel框架实现调用百度翻译API功能示例
May 30 PHP
PHP读取文件或采集时解决中文乱码
Mar 09 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
PHP实现网上点歌(二)
2006/10/09 PHP
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
PHP基于回溯算法解决n皇后问题的方法示例
2017/11/07 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
javascript使用appendChild追加节点实例
2015/01/12 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
[01:02:48]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 LGD vs OG
2018/04/02 DOTA
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
跟老齐学Python之集合(set)
2014/09/24 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
python的常用模块之collections模块详解
2018/12/06 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
ET Mall东森购物网:东森严选
2017/03/06 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
俄罗斯韩国化妆品网上商店:Cosmasi.ru
2019/10/31 全球购物
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
SQL SERVER面试资料
2013/03/30 面试题
电子信息毕业生自荐信
2013/11/16 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书