基于C++实现的经典坦克大战游戏

1 题目描述

这战车大战就是指红白机的战车大战,操纵战车,将敌人通通轰掉,完成这个关卡。

小时后完红白机时,不能输人金手指,没办法自由控制游戏,现在刚好有这个OOP专题机会,我们就仿制一个战车大战,自己可以完全控制程序码,做到比输人金手指更完整的控制。

程序使用 DEV-C 编译器进行开发。

2 系统架构和分析

一刚开始,我们思考这游戏的雏型该怎么定义,我们认为,需要有:战车、子弹、地图(map)、实体(body)。

有实体(body)的原因是因为,画在winBGI的图形就像影子一样,那只是显示给我们看的,计算机根本不知道子弹有没有打到砖块,有没有打到战车,所以就将 winBGI窗口416x416个像素,都用数组body[416][416],每个像素目前是谁占据着,都会纪录在这数组里,之后计算机要判断这块区域中有没有障碍,子弹有没有打到砖块,哪台战车被打到,都可以直接从数组判断。

虽然已经有body[416][416]这个数组了,另外还有map[26][26]这数组,因为每种地形(砖块、海…)都是16x16的方块,所以416x416像素,可以分成 26x26 个数组,map[26][26]这数组主要有两个作用:一个是画图时,就读这个数组,把相对应的地形都印在winBGI,另一个是可以直接利用档案IO,从外部编辑地图 (.txt),所以不用再手动排地图。

18423381-deff8a1222308222.png

源码下载地址:https://www.write-bug.com/article/1731.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值