1 题目描述
这战车大战就是指红白机的战车大战,操纵战车,将敌人通通轰掉,完成这个关卡 。
小时后完红白机时,不能输人金手指,没办法自由控制游戏,现在刚好有这个OOP专题机会,我们就仿制一个战车大战,自己可以完全控制程序码,做到比输人金手指更完整的控制 。
![基于C++实现的经典坦克大战游戏](http://img.gansulong.com/230620/1625053111-0.png)
文章插图
程序使用 DEV-C 编译器进行开发 。
【基于C++实现的经典坦克大战游戏】2 系统架构和分析
一刚开始,我们思考这游戏的雏型该怎么定义,我们认为,需要有:战车、子弹、地图(map)、实体(body) 。
![基于C++实现的经典坦克大战游戏](http://img.gansulong.com/230620/1625054R4-1.jpg)
文章插图
有实体(body)的原因是因为,画在的图形就像影子一样,那只是显示给我们看的,计算机根本不知道子弹有没有打到砖块,有没有打到战车,所以就将 窗口个像素,都用数组body[416][416],每个像素目前是谁占据着,都会纪录在这数组里,之后计算机要判断这块区域中有没有障碍,子弹有没有打到砖块,哪台战车被打到,都可以直接从数组判断 。
虽然已经有body[416][416]这个数组了,另外还有map[26][26]这数组,因为每种地形(砖块、海…)都是16x16的方块,所以像素,可以分成 26x26 个数组,map[26][26]这数组主要有两个作用:一个是画图时,就读这个数组,把相对应的地形都印在,另一个是可以直接利用档案IO,从外部编辑地图 (.txt),所以不用再手动排地图 。
源码下载地址:
- app里的“搜索提示“是如何实现的?
- udev——设备文件管理的用户空间实现
- 陈建文综合业务:未来万物互联的实现基础
- TTY设备驱动结构
- 上 编写Linux网络设备驱动
- php 开发分销系统,基于 Laravel 开发会员分销系统
- 微服务应用故障定位系统实现原理剖析
- 第一种手动实现, 第二种导入库实现 python数据分析的回归方程的简单讲解
- 制作菜单和搜索功能的实现
- 玛雅预言中前四个都实现最后一个为何没实现