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
snoopy PHP版的网络客户端提供本地下载
Apr 15 PHP
PHP去除数组中重复的元素并按键名排序函数
Aug 18 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
php.ini修改php上传文件大小限制的方法详解
Jun 17 PHP
PHP判断远程图片或文件是否存在的实现代码
Feb 20 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
两款万能的php分页类
Nov 12 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
Apr 10 PHP
PHP实现的装箱算法示例
Jun 23 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
JAVA/JSP学习系列之二
2006/10/09 PHP
php数据库连接
2006/10/09 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
2015/04/15 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
详解jQuery中的事件
2016/12/14 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
Angular脚手架开发的实现步骤
2019/04/09 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
如何将python中的List转化成dictionary
2016/08/15 Python
python实现定时自动备份文件到其他主机的实例代码
2018/02/23 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
python如何调用php文件中的函数详解
2020/12/29 Python
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
Windows和Linux动态库应用异同
2016/04/17 面试题
《手指教学》反思
2014/02/14 职场文书
领导接待方案
2014/03/13 职场文书
母校寄语大全
2014/04/10 职场文书
给校长的建议书600字
2014/05/15 职场文书
美术学专业求职信
2014/07/23 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
python周期任务调度工具Schedule使用详解
2021/11/23 Python