找回密码
 立即注册
搜索
查看: 908|回复: 40

[原创]我编写的游戏!DOS下的小游戏。

[复制链接]

382

主题

1万

回帖

1万

积分

信息监察员

海浩校长

积分
18269
发表于 2003-9-21 19:30:54 | 显示全部楼层 |阅读模式
高三毕业的那年暑假(99年)闲着没事写的,后来大学以后多次修改。
没有例子可以借鉴,也没什么经验,所以编写的源程序显得臃肿而杂乱无章,有32k,如果现在编写的话,同样功能的程序估计不会那么庞大了。只是改起来太费劲了,要动大手术。
不过总算可以玩了,暂时没发现新的bug。

纯DOS下的小游戏哦!刚编写程序的时候,几乎没有接触过Windows(汗)。
支持鼠标操作(但是纯DOS系统要加载MOUSE.SYS或运行UCDOS里面那个MOUSE.COM),按下鼠标左键发射子弹,按下空格键为雷(街机里面那东西叫什么?我们那叫伞),大规模杀伤性武器。游戏里面有东西拣,威力加强子弹,雷等,仔细寻找吧。还有一个秘籍哦!可以不死,看谁最先发现:)

里面有背景音乐哦!《友谊地久天长》。高中时学的一首歌,觉得蛮不错的。没找到c语言里音符和频率对应关系的资料,所以歌曲每个调子的频率都要去测,有点麻烦,还好这首歌本身不长。游戏和音乐互不相干,即使按下了Pause Break,游戏暂停了,音乐也能继续播放(是不是有点象Windows里面的多线程啊,其实只要程序写得好,dos下也可以实现多任务,哈)使用的是扬声器编程,那时侯都没见过电脑音响:(

所有的图象处理都是我写的!我的程序没有用到TC2.0里面的Graphics.h图形库!反编译一下就可以看出来(如果能的话)。所有的图形处理我都是直接操作硬件的!直接读写视频缓冲区,图形处理速度无与伦比!

程序里面还用到了中断拦截技术,截获0x23中断(Ctrl+c/Ctrl+Break),以实现用户强行退出时切换到文字模式(dos下的图形处理程序一按下Ctrl+c就完了,屏幕还留在图形模式)以及将中断向量设置回来,对8253芯片编程等。截获0x1c中断,实现游戏延时以及背景音乐。截获0x1c中断,以实现无限制按键。

游戏速度是恒定的。延时的准确性是毋庸置疑的。最先编写程序的时候,用的机子是286/386(中学时候学校的机子是1个主机接16个终端即16个显示器和16个键盘的小型机,是否晕倒啊),慢的要命,那时侯设置的游戏延时当然短,到后来机器越来越快,指令流水线等技术的应用等等使我的程序运行快得不行了,程序在不同的机子上运行速度大不一样。而C函数库自带的那几个延时程序也都不准确拉,可能也使用的是指令循环延时。所以想到用中断定时。但时钟中断每1/18.2秒触发一次,时间太长了啊,游戏画面停滞得不行。所以使用了8253编程,干脆为我的游戏程序定制了一个时钟中断,频率为72.8Hz,终于在不同的机子上游戏速度都一样了。
使用了当前时间作为随机数种子,所以每次敌机出现的位置都是不同的,所以基本上没有死角(有一关有,大家找吧:))
键盘功能巨好用!象雷电那样的无限制按键~~
甚至鼠标键盘同时使用也互不影响~
接管了键盘中断,定制了一个自己的键盘处理程序。直接操作8255A可编程序控制器,速度很快的!鼠标驱动不兼容的朋友们也可以玩了!
                                                                                        夏夜星空

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

1678

主题

5167

回帖

9302

积分

荣誉版主

沉痛悼念小于……

积分
9302
发表于 2003-9-21 19:59:25 | 显示全部楼层
不错,在win2003里面运行正常,速度也很快

就是敌人太弱了~~~



:)
回复

使用道具 举报

382

主题

1万

回帖

1万

积分

信息监察员

海浩校长

积分
18269
 楼主| 发表于 2003-9-21 20:21:30 | 显示全部楼层
最初由 coolfax 发布
[B]不错,在win2003里面运行正常,速度也很快

就是敌人太弱了~~~



:) [/B]

敌人太弱,就说明速度不是很快拉
我要是把速度调快点,那敌人就不弱拉
我刚把速度调慢后传上来的呢,怕太快了,没法过关。
回复

使用道具 举报

335

主题

2731

回帖

4044

积分

论坛元老

积分
4044
发表于 2003-9-21 20:30:31 | 显示全部楼层
高,高,虽然没有试玩过
回复

使用道具 举报

382

主题

1万

回帖

1万

积分

信息监察员

海浩校长

积分
18269
 楼主| 发表于 2003-9-21 20:36:14 | 显示全部楼层
Windows下也可以玩的啊!为什么不玩一下呢。
回复

使用道具 举报

599

主题

1万

回帖

1万

积分

版主

积分
15875
发表于 2003-9-21 20:38:33 | 显示全部楼层
高手,夏同学汇编很厉害;02 ,以后有问题问你。
回复

使用道具 举报

15

主题

1022

回帖

1357

积分

金牌会员

积分
1357
发表于 2003-9-21 22:40:26 | 显示全部楼层
有问题就请教你了!!!;(
回复

使用道具 举报

24

主题

886

回帖

1214

积分

金牌会员

积分
1214
发表于 2003-9-21 23:54:36 | 显示全部楼层

厉害啊

偶汗~
回复

使用道具 举报

327

主题

3264

回帖

3641

积分

荣誉版主

积分
3641
发表于 2003-9-22 08:56:26 | 显示全部楼层
厉害!哈哈,收精华!
回复

使用道具 举报

99

主题

973

回帖

1440

积分

金牌会员

积分
1440
发表于 2003-9-22 10:38:33 | 显示全部楼层
先下了,玩玩再说!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-18 06:57 , Processed in 0.090334 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表