回 帖 发 新 帖 刷新版面

主题:麻烦之路(Trouble Way)

最近编的一个类似于迷宫的益智类游戏,本来想用版主的LoA单元的,但考虑到图像模式比较麻烦,先做了一个文本模式的。

本游戏操作比较简单,在程序里都有说明。

主程序为Way.exe,地图编辑器为MapEdit.exe,
说明参见"地图.txt"、"目录.txt"两个文件。
字符画出来的地形图真的不怎么样,大家看得懂就行。
程序中所有函数/过程均为原创的。
由于制作比较匆忙,所以我没怎么加注释。想研究代码的人得慢慢看了…………

另外,请不要删改后缀为Dat的数据文件,否则可能造成程序花屏。

补充:关于About里面的一些小问题已改正,并重新上传了附件。

回复列表 (共19个回复)

沙发

太好了

板凳

不过貌似有些bug……

3 楼

编号超过10且小于100皆error
还有,能玩的我都过关了!

4 楼

当然咯,难道你没注意到我只画了10张地图么?
剩下的地图要靠你们自己画了

5 楼

从代码风格上,总觉得不像一个人写的,尤其是screen库和其它那些代码……算了,不说这个。

总体来说是不错的,只是我实在不明白你为什么不愿意使用系统的CRT unit而要自己写一个screen,而且还要用这种底层的技术。问题在于只能支持TP/BP。(使用CRT可以方便的移植到FP上)。
还有一一些额外的建议:

1. 指针运动的速度最好可调,比如按+可以加速,-可以减速,0可以还原之类的。
2. 在运动之后,输入下一个输入之间,最好先用类似于while keypressed do readkey;的句子把缓冲区给清空,不然如果用户在之前的动画过程中按了方向键,就总是会出问题。
3. 地图最好还是使用.txt这样的扩展名,比如你使用的.map在我的机器上会被Visual Studio打开。
4. 保存屏幕的.dat文件,一方面建议不要都堆在这个文件夹里,最好再弄个子目录;另一方面,建议在保存时,要不直接是每行一个ASCII码,一个颜色两个空格隔开的数字,要不用file of byte依次保存每个的ascii和颜色,现在这样第一文件不小,第二也很难打开文件手动编辑。或者还有另一个办法,那就是先把所有显示字符按照每行80个25行保存下来,再在后面/或另一个文件中保存颜色信息,甚至可以用类似rgbcyk来代替颜色的编号。

(当然,这都是我随便说说,毕竟每个人写程序总是有自己的风格的)

总之,这个写的还是不错的呢,只是有时候用户会看着眼晕对不齐行,还是比较令人困惑的。

对了,再补充一点,可以考虑把屏幕弄成50*80(字符)的,这样字符显得不是那么的长,比较方正,显示效果也更好一些。

6 楼

谢谢小田甜的指导。

这些库是我自己写的,不过Screen库里面的东西基本上都是2年前写的了,当时写得不是很规范。
个人认为在输出量较大时用直接访问内存比系统自带的函数的速度快。系统函数输出一次要调用一次Int检验是否出错,这样多少有些慢。

对于你的建议:
1. 指针速度在Set Speed中可调,至于在游戏过程中,为了通过时间算分方便,就最好不要调了。
2. 有道理,有必要这样改一下。
3. 这个……前3张地图我是用TP直接编辑Map文件的,后来的地图是用MapEdit编的。(个人习惯)
4. 说实在的,我是懒得改Screen的代码了,也不想在为此多费笔墨。(个人习惯)

至于眼花缭乱对不齐行的问题,我也考虑过,不过由于是在文本模式下做的程序,制表符不是特别好。我本来想改动内存中ASCII字符映像表,使得显示的障碍物为等腰直角三角形,但在DOSBOX下老是会出现内存错误,整个DOSBOX崩溃……

7 楼

好吧,这个毕竟很多是个人习惯的,也不必说的太多,只是再多问一句:
最后一张地图真的有解吗?

8 楼

我画得比较匆忙,有可能没解。
大家玩不通就算了。

9 楼

@_@||||

这个嘛……

我总觉得是没解,谁试试倒推一下。

10 楼


好东西 楼主辛苦啦!










                                  [url=http://www.nl-weixiu.com]能率热水器维修[/url]

我来回复

您尚未登录,请登录后再回复。点此登录或注册