回 帖 发 新 帖 刷新版面

主题:[原创]坦克战v2.0(源代码+地图编辑器)

这个程序算是学习了Directx8.0基本部件的一个总结。接下来打算向D3D进军。
看着游戏按着自己的想法一步步实现,个中乐趣妙不可言,也是我继续写的动力,虽然在高手的眼里很垃圾,但我想这也是大部分同仁对“你为何写游戏”的回答吧。
    亲手做的陶罐虽比不上买来的华丽,但我愿送给我最喜欢的人与我共同分享创造的快乐!

基本操作:
    A/菜单操作:
        菜单选择:W、S 或 上、下方向键
        菜单确定:回车
    B/游戏操作:
        方向控制:W、A、S、D或方向键
        发射子弹:空格
        暂停游戏:回车
        退出到菜单:ESC

版本升级说明:
    1.可以暂停游戏了。
    2.使用DirectxSound提升了声音品质,解决了老版本不能混音的缺点。
    3.添加了敌方的AI,敌人撞墙后会搜寻追踪玩家。
    4.物品增加到6个,玩家和敌人都可以吃到随机出现的物品。
    5.关卡增加到了十关。
    6.增加了地图编辑器,可以自己编辑地图和运行。
    7.重写了爆炸的即时粒子系统,模拟爆炸时弹片的飞旋效果。

游戏物品说明:
    1.钢盔:可以暂时不损血(除却被炸弹炸到)。
    2.坦克:可以增加1点血。
    3.时钟:暂时冻结坦克的移动。
    4.星型:增加子弹和坦克移动速度(累计的)。
    5.炸弹:随机轰炸地图的任意地点,被炸到的话,对方损失1点血。
    6.船:  可以过河。
    补充:  每关开始将重设坦克属性,但玩家坦克的血将不补充。

代码说明:
    1.重新编写了代码。
    2.编程语言:使用VC++6.0 + Directx8.0 SDK。
    3.用DirectxDraw实现基本绘图,用DirectxInput 实现游戏基本操作
    4.首次学习并使用DirectxSound组件实现了混音效果。
    5.尝试封装了Directx的这三个重要组件。
    5.本人为非专业编程人员,代码难免有的地方比较乱和不规范,望大家多多谅解!

问题:
    1.游戏在不同的机器上运行会有不同的速度。如何让游戏在不同的机器上都有相对稳定的运行速度呢?
    2.坦克爆炸时,一些坦克会暂时不显示,不能解决.
    3.我方和对方坦克的碰撞检测是个难题,主要是测到碰撞后坦克倒退时有时会退出边界或穿墙而引起错误。所以去除了。

下载: (执行程式+代码,3.5MB)
http://show.gameres.com/TankCombat2/TankCombat2.zip[/url]
版本更新:[url]http://ishare.iask.sina.com.cn/f/5047942.html[/url]
坦克战v2.0的更新版本.增加了轰炸点的破坏效果和坦克间的碰撞检测,关卡增加到15关...

[img]http://bbs.66rpg.com/upload_program/d/wwjxjj_截图_108120711.jpg[/img]

回复列表 (共26个回复)

沙发

强烈支持一下,很久没看到这样的好帖了。
你说的很对,我们不是专业人士,所以不必苛求极致。
我们制作游戏,无论其结果如何,关键是享受创作的过程。
坚持,不放弃,专心去完成作品,这本身就是很不容易的。

板凳

支持~

碰撞检测放在移动之前,用来决定是否可以启动移动,而不放在移动后退回去
看了一下楼主的代码,胡乱提一个建议:)渲染的流程不要和逻辑的更新放在一起,你可以把需要画的对象加到队列里,在渲染时遍历一遍.

3 楼

谢谢楼上高手的提点,特别是对代码的建议是我最需要的。
有大家的支持我会继续努力提升代码的质量,提高编程能力写出更好的程序。
也希望大家都能发点自己写的东西上来,大家互相交流互相提高。

4 楼

很好很强大~

5 楼

我觉得你的话很有道理。。

6 楼

很厉害啊!!!!!!!!!!!!

7 楼

不就编个游戏嘛!!!!  有什么其中乐趣妙不可言!!! 现在的人啊! 真是太自自欺人了1

8 楼


顶顶。。。

9 楼


很喜欢。。。。。

10 楼

强 强  强  真是高手 对于我来说的 呵呵 加油

我来回复

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