端午节小记 捣鼓【OGame】页游

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013066244/article/details/80727268

环境

PHP:5+
mysql:应该也是5吧,忘了,最新的就行。

前言

放假前,网上查资料时,无意中发现了OGame的源代码。这个页游我先贴个图:

这里写图片描述

这款游戏我是高中开始接触,大概是11年吧!那个时候我是在一个山寨手机上玩的!这是我拥有手机玩的的第一个多人在线的网络游戏!那个时候一方面准备高考,但是压力大;另一方面利用空余时间玩玩这个游戏来缓解压力!这游戏得经常在线,怕别人打;再后来进入大学时,山寨手机坏了。据说山寨手机的寿命一般就是1年。之后我就再也没找到类似的手游了!

大学期间我也找到,不过 找到是页游版的,并且还是台服!因为LOL的兴起,页游就没怎么玩了。

OGame 0.8版

端午的时候研究了下这玩意;这款游戏是用PHP写的,我是怀着雄心壮志:想改写成java版来研究。

第一天 、 OGame0.8版本 虽然网上有些教程,但是我觉得不对,所以没有完全参考,试了很多次总是报错;表能创建出来,创建管理员账号时,总是报错!

因为有点PHP的基础,所以安装了个PHPstorm来调试;这里稍微讲解下过程;

搭建PHP环境

下载xampp软件。安装后,启动Apache,启动mysql
由于我本机早已安装了mysql,所以总是提示安装不了,试过网上说的改端口,但是还是不行。

后来,我刚才就不用xampp里的mysql,我使用我本机的mysql;具体修改方法,百度查查吧,我PHP不太会。

phpstorm调试

PHPStorm 中配置 XDebug 实现断点调试

上面的博文中:

验证 PhpStorm 的服务器配置
Run>Web Server Debug Validation,完成配置的填写,点击“Validate”按钮即可验证服务器的调试配置是否正确:

这一步 我没有成功,但是并不影响调试功能。

调试

经过我反复的调试,总算知道为什么报错了;比如报的user_agent字段没有默认值,其不能为空。这个是mysql报的错误。

为什么呢?因为代码本身有bug,其在插入语句时,没有user_agent字段,但是这个字段又不能为空。 既然如此,我就补加上去就行了。

$QryInsertAdm  = "INSERT INTO {{table}} SET ";
$QryInsertAdm .= "`id`                = '1', ";
$QryInsertAdm .= "`username`          = '". $adm_user ."', ";
$QryInsertAdm .= "`email`             = '". $adm_email ."', ";
$QryInsertAdm .= "`email_2`           = '". $adm_email ."', ";
$QryInsertAdm .= "`authlevel`         = '3', ";
$QryInsertAdm .= "`sex`               = '". $adm_sex ."', ";
$QryInsertAdm .= "`id_planet`         = '1', ";
$QryInsertAdm .= "`galaxy`            = '1', ";
$QryInsertAdm .= "`system`            = '1', ";
//这句就是我加的
$QryInsertAdm .= "`user_agent`        = '', ";
$QryInsertAdm .= "`planet`            = '1', ";
$QryInsertAdm .= "`current_planet`    = '1', ";
$QryInsertAdm .= "`register_time`     = '". time() ."', ";
$QryInsertAdm .= "`password`          = '". $md5pass ."';";
doquery($QryInsertAdm, 'users');

还有几处也有这样的问题,情况类似 补加上去就可以了。

安装完成后,访问时,页面实在是太丑了:

这里写图片描述

和最上面的图片为什么差距这么大呢?因为那是别人改版的!原版就是这的丑,这么的bug

继续寻找

我不甘心这么丑的画面,又不想花时间去改造,毕竟PHP前端的东西,我都不想花过多时间。

最后找了个2Moons,是个改进版,其也是基本上面的代码(0.8版本)改造的!不过其做了很多优化和创新;比如增加了新的舰队、建造和研究科技。而且技术用的也毕竟新;原版PHP是4,这个是5。 经过我再次摸索,终于成功,页面长这个样子:
这里写图片描述

这里写图片描述

这里写图片描述

说实话这个页面,依旧满意,只是相比 原版已经很不错了!毕竟有所创新吧!

图片中一会有中文,一会有英文,是因为我没有汉化完全;这个版本没有中文版,所以我自己来汉化,毕竟我是老玩家,我更专业点。

图片中的中间那个页面为什么不填充满呢?这样看的好难受!

汉化的过程

这个2Moons版本,我找到了半天都没有发现修改语言的代码。那一天害的我一天都没怎么吃饭,饿的都晕了。到了第二天,一步步调试 总于找到了!

说明:之前的版本一般只需要写 cn => “中文” 然后再在相应的目录引入中文文件就行了,这个版本不行;

这个版本不需要你去修改任何代码(cn = "中文"),而是直接在language文件中加个zh文件夹文件。其会自动进行读取;具体是,代码会读取language文件夹中的所有目录名,有多少个就表示,支持多少种语言。

所以第一次安装之前,就要引入zh文件夹(复制en文件夹就行了),假设你已经安装了,那就得重装了,因为每次都去读取language文件夹中的所有目录名,这是一个很大的开销,所以其使用了缓存技术。不想重装就得进入管理员页面,左下角最下面有个clear cache按钮,可以试试!我是重装的。

总结

改写java版 这条路估计会很长,毕竟我的老本行是javajava还有一堆的新技术有待了解!为了更好的明天,我的精力 得好好分配!

猜你喜欢

转载自blog.csdn.net/u013066244/article/details/80727268
今日推荐