点睛挖雷 PSP 1.0 版(For 3.xx)

  最近买了 PSP2000,从而也萌发了要写点儿 PSP 程序的想法,先去找了 PSPSDK,当然,这是一切的基础,而且,大牛们破解 PSP 而建立 PSPSDK 也非常厉害,不过,就是使用起来太底层,许多很零碎的事情都要自己处理,而且,编译的程序要每次到 PSP 上测试也很麻烦。

  于是,又找到一套整合了很多框架(如 SDL)的所谓一键式安装的 PSP 开发环境 TOPOC,而且也支持编译成 windows 程序,在 PC 上调试等等,不过,在 VS2008 上编译出错,印象较深的问题是,找不到 glaux.h 和 glaux.lib,google 了一下,说是在 VC 新版的 opengl 库中,已经取消了这个库,还有一些其他问题,后来找到 VC6,编译倒是不出错了,不过,只能编译出 1.5 核心的程序,而我的 PSP 不支持 1.5 核心。在 TOPOC 的主页 上,一路看下去,发现他们到最后反而推荐使用 JGE++,说是可以编译出 3.xx 的程序,而且可以使用硬件加速,同时也支持编译成 windows 程序,在 PC 调试。

  又找到 JGE++ 的主页,但是网上介绍的一个压缩包总是下载不到,按照网上 另一篇文章 中介绍的方法安装,终于成功。

  那篇文章中介绍的后面两个文件,可以不用下载。其中,src.rar 中是 bat 文件,原安装包中的 bat 其实不需要修改,文中介绍的修改方法,在 sh 之后才执行,所以并没有任何作用;另外那个模板文件,只是加了中文注释,意义也不是很大。

  这个环境安装成功后,在 VC2008 下编译还是有问题,后来发现是原有编译出的目标文件和 VC2008 的版本不同造成的,清除 JGE 项目,再重新编译,终于成功。编译自己的程序的时候,会遇到找不到 glaux.lib 的错误,在连接选项里忽略 glaux 即可,看来,JGE 里面其实没有用到这个库,只是礼貌性的连接进来而已。

  JGE 这套库确实不错,不过,在做挖雷的时候,发现显示位置不准确,后来编译出 PBP 文件到 PSP 上测试,反而没有问题,可能是 windows 版的计算上有误差吧。

  挖雷参考了我以前写的 Python 版挖雷的代码,这版代码比 DOS 版好一点儿,不过,现在看来,也是很多地方不合理,不过,我主要是为了体验 PSP 编程,倒也问题不大,只是关于显示部分,还是写了一个全局函数,几个全局变量,有点儿不爽。

  虽然是 windows 上测试,PSP 上部署,还是会遇到一些不同的地方。比如随机函数,在 pc 上运行的很好,在 psp 上就只产生 0,经过不断测试,发现是因为 PSP 版(gcc?) srand 不支持大于 RAND_MAX 的种子,而 RAND_MAX 是 0x7fff,看起来,这像是因为函数库从16位升级到32位而出现的问题,把 time 的结果对 RAND_MAX 取余,即解决这个问题。另外,如果增加了其它代码,不是 include 进来的话,需要自己修改 makefile 文件,把新代码名加入 OBJS 中才可以。

  因为有参考代码,游戏逻辑不用考虑,所以本来乐观估计,一晚上可以完成,不过,遇到这样那样的问题,还是花了两个晚上多一点儿,不过,之后应该就会轻松多了吧。

  目前游戏没有加音乐,25x12 65 颗雷,还不支持调节这个数值,它的难度和 windows 高级挖雷接近。按三角键则显示帮助页面,按 Select 截屏。以后可能考虑加入声音,级别选择,再加点儿动感特效什么的

  游戏在我的 PSP2000,3.71m33-4 上测试通过。下面是运行截图和软件包:

你可能感兴趣的:(游戏,windows,python,软件测试,vc++)