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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
MySQL中create table语句的基本语法是
Jan 15 PHP
PHP form 表单传参明细研究
Jul 17 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
php格式化日期和时间格式化示例分享
Feb 24 PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 PHP
PHP中Memcache操作类及用法实例
Dec 12 PHP
php 在线导入mysql大数据程序
Jun 11 PHP
PHP数据库连接mysql与mysqli对比分析
Jan 04 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
Apr 02 PHP
PHP读取mssql json数据中文乱码的解决办法
Apr 11 PHP
PHP7匿名类的用法示例
Apr 05 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
oracle资料库函式库
2006/10/09 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
php下正则来匹配dede模板标签的代码
2010/08/21 PHP
PHP生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
基于flush()不能按顺序输出时的解决办法
2013/06/29 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
JavaScript中的面向对象介绍
2012/06/30 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
JS实现字符串转驼峰格式的方法
2016/12/16 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
全面了解python字符串和字典
2016/07/07 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
python让函数不返回结果的方法
2020/06/22 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
火山动力Java笔试题
2014/06/26 面试题
住房租房协议书
2014/08/20 职场文书
教师工作表现自我评价
2015/03/05 职场文书
入队仪式主持词
2015/07/04 职场文书
运动员入场前导词
2015/07/20 职场文书
2016教师国培研修感言
2015/12/08 职场文书
电力培训学习心得体会
2016/01/11 职场文书