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简介
Oct 09 PHP
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
如何用PHP实现插入排序?
Apr 10 PHP
ThinkPHP之R方法实例详解
Jun 20 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
php中get_object_vars()方法用法实例
Feb 08 PHP
PHP获取QQ达人QQ信息的方法
Mar 05 PHP
php通过分类列表产生分类树数组的方法
Apr 20 PHP
PHP处理数组和XML之间的互相转换
Jun 02 PHP
thinkphp分页集成实例
Jul 24 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
详解PHP素材图片上传、下载功能
Apr 12 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
服务器端解压缩zip的脚本
2006/12/22 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
php编程每天必学之表单验证
2016/03/01 PHP
PHP下载文件的函数实例代码
2016/05/18 PHP
php实现文章评论系统
2019/02/18 PHP
javascript 面向对象编程基础:封装
2009/08/21 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
浅谈Javascript 执行顺序
2013/12/18 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
jQueryUI 拖放排序遇到滚动条时有可能无法执行排序的小bug及解决方案
2016/12/19 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
2017/03/14 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
JS实现简单日历特效
2020/01/03 Javascript
React冒泡和阻止冒泡的应用详解
2020/08/18 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
酒店管理专业毕业生推荐信
2013/11/10 职场文书
小学运动会入场式解说词
2014/02/18 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
Python pyecharts绘制条形图详解
2022/04/02 Python