基于c语言的坦克大战

基于c语言的坦克大战

ID:21809386

大小:25.00 KB

页数:5页

时间:2018-10-24

基于c语言的坦克大战_第1页
基于c语言的坦克大战_第2页
基于c语言的坦克大战_第3页
基于c语言的坦克大战_第4页
基于c语言的坦克大战_第5页
资源描述:

《基于c语言的坦克大战》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于C语言的坦克大战  摘要:游戏是人类日常生活不可或缺的元素,游戏的方式随着时代的变迁也在改变。在信息时代,以计算机为载体的游戏成为主流,特别是当今生活节奏加快的今天,生活和工作压力常常使人焦虑不安,而游戏能使人精神放松,舒缓压力。  关键词:C语言;游戏;坦克大战  DOI:10.16640/j.cnki.37-1222/t.2017.08.114  1技术简介  目前主流的语言是Java、C++等等,这两门语言都是高级?Z言的一种。是可以撰写跨平台应用程序的面向对象的程序设计语言。Java语言具有很长丰富的语法特征,如模块和类模块,是一种

2、解释型语言,他不会生成机器码,所以移植性特别好。但高级语言存在体积庞大的特点,不适合对空间严格要求的场合。  C语言是一种历史悠久的计算机语言,同时使用范围广,它的出现就是解决了汇编语言晦涩难记的弊端,它既具有高级语言的特征又具有基层语言的功能,同时跨平台性也丝毫不比大型语言差。C语言的指针更可以灵活操作内存空间,而高级语言则将其封装起来,使用起来限制太多,同时这也是C语言的缺点所在  2需求分析  需求分析即是根据用户的要求来确定软件的。分配软件元素,是软件定义时期的最后一个阶段,它的基本任务是确定系统必须做什么,是对要做的系统确定一个完整的

3、、具体的、清晰的、准确的要求。可以分为需求的提出,需求的描述,需求的评审等阶段。需求分析也是设计数据结构的起点,需求分析的结果将直接影响到程序功能的设计。  需求分析的任务是通过详细调查现实世界要处理的对象(坦克、子弹、墙等),充分了解游戏的运行情况,开发游戏的各种需求,然后在此基础上确定游戏的功能。调查的重点是“数据”和“处理”,通过调查、收集与分析,获得开发游戏的如下要求:信息要求、处理要求、安全性与健壮性要求。  (1)游戏整体分析.本游戏主要包括己方坦克和敌方坦克,还有我方基地,砖墙,铁墙,绿草,开始画面,游戏胜利画面,游戏结束画面。我

4、方坦克和对方坦克可以向上、向下、向左、向右移动,游戏的玩家通过键盘来控制坦克的移动和发射子弹,对方坦克通过A*算法移动和发射子弹。我放坦克子弹能消灭敌方坦克。敌方坦克子弹击中我方坦克时生命值会减少。当己方坦克血量为0或者基地被摧毁时游戏结束,出现游戏结束画面。  (2)游戏建模。游戏中敌我双方坦克均可完成射击、移动的功能,但己方坦克的运行是通过键盘响应事件控制,而敌方坦克是根据A*算法来移动的。同时,出现在屏幕上的敌方可能会有较多的数量,这需要为每个敌方开辟一个线程以便能让其独立运行。为了避免使用多线程技术,在这里引入虚拟线程,不使用多线程是为

5、了兼容一些较落后的计算机CPU处理能力不足的问题。  (3)游戏整体建模。游戏首先出现开始的界面,通过WS切换选项,Y键确定选择坦克数量也在不断增加,我方坦克在生命值用为0时游戏结束,但只有游戏进行到最后一关并将最后一关的坦克全数歼灭我方才算取得胜利。  3概要设计  本游戏中设计的主要研究的内容:敌我双方的坦克、子弹以及地图元素均以字符方式通过WINDOWSAPI函数打印在控制台上,并且添加游戏包含河、墙等地图元素。使用模拟多线程来控制坦克的移动。敌人中包含特殊坦克有不同的移动速度、攻击力、生命值,我方坦克是有生命值限制的。  (1)游戏框架

6、设计。本游戏主要有三个模块构成,分别是数据摸块(Data),视图控制模块(Draw)以及逻辑控制模块(Engine)。数据模块主要用于保存坦克信息的结构体,子弹信息的结构体以及一些地图信息以及一些常用的宏。DRAW模块是将本游戏一切所有的元素显示出来,因为本游戏主要是控制台开发的,所以DRAW模块主要用于将逻辑模块所处理后的信息打印出来。各个模块分工合作互不影响,通过模块分布可以快速定位BUG的根源,十分利于调试。  (2)数据结构设计。游戏中各个元素定义成结构体,并且在一定的条件下某些元素消失或者出现,因此为了操作的方便,将这些元素均存放在向

7、量中,采用向量而不采用链表是因为向量操作容易,且其占用内存的空间是可变的,且事先需要为其分配一定的存储空间,因此向量还节省了空间。  (3)算法设计。本游戏中我方坦克、我方子弹、敌方坦克、敌方子弹都将其模拟成不同线程,即敌我双方坦克,子弹均是以线程的形式出现在游戏中的,此外游戏中还设置了砖墙,草皮,钢铁等元素,这些物体都是以字符形式显示,并且存放在在一个二维数组中。游戏过程中,坦克和子弹有时会碰撞到这些元素,当坦克不能通过砖墙和铁墙,而子弹可以击碎砖墙无法击碎钢铁墙,关于碰撞都是通过坐标是否重合实现的。  4详细设计  (1)玩家坦克的功能属性

8、.首先己方坦克在进入游戏后的方向也就是炮头是向上的,位于地图的最下方,根据玩家键盘输入移动,此时只能方向向下,不能向下移动但可以向其他三个方向移动。 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。