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更改目录及子目录下所有的文件后缀的代码
Sep 24 PHP
php模块memcache和memcached区别分析
Jun 14 PHP
php实现快速排序法函数代码
Aug 27 PHP
php读取图片内容并输出到浏览器的实现代码
Aug 08 PHP
php中的比较运算符详解
Oct 28 PHP
ThinkPHP之foreach标签使用概述
Jun 30 PHP
php实现paypal 授权登录
May 28 PHP
PHP准确取得服务器IP地址的方法
Jun 02 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
PHP解决中文乱码
Apr 28 PHP
PDO::errorInfo讲解
Jan 28 PHP
laravel框架创建授权策略实例分析
Nov 22 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
Adodb的十个实例(清晰版)
2006/12/31 PHP
PHP中Array相关函数简介
2016/07/03 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
解决IE6的PNG透明JS插件使用介绍
2013/04/17 Javascript
浅谈JavaScript函数参数的可修改性问题
2013/12/05 Javascript
jquery做的一个简单的屏幕锁定提示框
2014/03/26 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
2015/06/26 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
在Python中使用Mako模版库的简单教程
2015/04/08 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
Django操作session 的方法
2020/03/09 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
Django框架请求生命周期实现原理
2020/11/13 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
大学班级学风建设方案
2014/05/01 职场文书
财务管理专业求职信
2014/06/11 职场文书
小学生成绩单评语
2014/12/31 职场文书
工作态度不好检讨书
2015/05/06 职场文书
2019经典广告词集锦!
2019/07/02 职场文书
导游词之南京中山陵
2019/11/27 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS