10年前,还在大学的时候写了个挖雷,后来用作毕业设计,所以又增加了猜数字、俄罗斯方块和华容道。

  DOS 下用 Turbo C 2.0 写的,开始,在鼠标显示问题上花了些脑筋,后来,在图形显示、PCX文件解析、汉字显示上也投入不少精力,再后来,使用中断增加了演奏音乐的功能(因为比较难听,所以缺省是关闭的,在游戏中按 PrintScreen 键可以开关音乐)。

  现在看来,虽然当时的程序结构并不是很好,但是也还不算差

  以前放到主页的时候,以压缩包小为第一,所以,甚至没有附带汉字库 HZK16,以至于有些人说程序出错,现在想想,还是应该提供完整的包的。

  现在已经10年过去,所以做了一个软盘版镜像,小小纪念一下。这个镜像文件使用 FreeDOS 启动,可以用于任何虚拟机,比如 Virtual PC。(好像 FreeDOS 的 lbacache 不如 smartdrv 效果好),启动之后,直接进入游戏。另外,此镜像也附带了源代码。
  • DosGames.zip (411.8 KB)
  • 描述: DOS小游戏软盘镜像
  • 下载次数: 44
评论
梁利锋 2008-04-09
其实游戏的逻辑并不算复杂,应该没有什么难懂的。其中比较麻烦的部分,大体都是一些 DOS 下的特殊处理,现在应该用不太到了。

举个例子,游戏使用640x480x16色,显示图像本来可以使用画点的方式,不过,速度很慢,所以使用直接操作显存的方式。但是,这种显示模式比较特殊,不是同一个点的4位在相邻的位置,而是每一位分别在不同的层,也就是一共有4层,每层都是640x480x2色,所以,操作上也需要针对这种情况特殊处理(应该也是因为如此,在虚机里显示速度并不快),而这种方式,现在应该不会用到了……

PS: 现在发现,之所以我感觉 FreeDOS 的 lbacache 不如 smartdrv,主要是因为 lbacache 缺省并不对软盘提供缓存。
chucai 2008-04-08
看源码固然好,如果您能分析一下源码就更好了。哈哈。
发表评论

您还没有登录,请登录后发表评论

梁利锋
搜索本博客
博客分类
存档
最新评论