坦克大战游戏的设计与实现


时间: 2021-07-03 23:09:58 人气: 10 评论: 0

摘要  坦克大战游戏深度贯彻了面向对象的思想,是实现面向对象编程方法的典型例。本论文的坦克大战拥有全面的游戏界面,精致的坦克操作方法以及优秀的算法,实现了人机交互的游戏。坦克大战游戏规则很简单,玩家在保护好“老巢”的前提下,将电脑控制的地方坦克击败,赢得胜利。坦克大战游戏结束的情况有3个,我方坦克被消灭,敌方坦克被全部消灭,我方“老巢”被消灭等。在开发过程中,用到了碰撞算法,来判定子弹的爆炸和控制敌方坦克转向问题,实现了敌方坦克的自行移动以及自动发射子弹的问题。本程序使用基于面向对象的C++语言开发实现的,障碍物以及坦克的画面下载自网上,与红白机上的画面无二。设计实现的坦克大战游戏,基本实现了单人游戏的功能,玩家可以操作坦克通过20个关卡。后期的测试,更正了游戏音乐不能播放,按键控制等问题。本文会通过三个方面阐述该程序的开发:坦克大战游戏的开发背景、该游戏的开发过程以及开发完程序的一些不足。


关键词: C++编程;游戏开发;坦克大战; 碰撞算法


需求分析

3.1.1游戏界面的需求

界面主要分四大部分:

第一是游戏菜单界面,进行功能选项,包含包括开始游戏,游戏帮助,关于我们,退出游戏几个选项。

第二是游戏界面,实现地图的加载,我方坦克和敌方坦克的绘制,以及控制。

第三是帮助界面,介绍游戏的介绍,告诉玩家怎么操作游戏。

第四是关于我们界面,介绍坦克大战游戏的设计制作人。

3.1.2游戏规则的需求

坦克大战游戏中,玩家通过摁下不同的方向键来控制坦克的上下左右移动,空格键来控制坦克发射子弹。当玩家的坦克被敌方的坦克所发射的子弹击中的时候会“死亡”,同样,敌方坦克被玩家控制的坦克发射的子弹击中也会“死亡”,不同的是每一个关卡有20辆敌方坦克,但是同时出现在地图上只会有3辆,也就是只有当一辆敌方坦克被击毁时,下一辆敌方坦克才会出现。玩家控制的坦克拥有3条命也就是会死亡三次才会任务失败,玩家的生命值不累计,也就是说玩家的三条命要从第一关玩到最后一关才算获得胜利。而玩家游戏失败的情况为当玩家的3条命全部“死亡”,或者玩家的“老巢”被敌方坦克发射的子弹击中。其中,玩家的老巢周围有一圈砖墙,但是砖墙会被子弹击中后销毁。所以玩家需要在保证“老巢”安全的情况下,击毁所有计算机控制的坦克才算获得胜利。此外,在游戏中设置的障碍物也存在多种类型。比如:砖墙可以直接被子弹击毁,钢墙则不会被普通子弹击毁,蓝色的水池只有子弹可以通过,坦克需“绕路”,绿色的树林则可以允许坦克和子弹通过,而且坦克在树林里是被树林“遮盖”住的,不会被看到。




摘要1

引言3

1绪论4

1.1 游戏的开发背景4

1.2 红白机以及坦克大战游戏(battle city)介绍4

1.3 坦克大战游戏开发的主要研究内容5

2 游戏的开发环境和相关技术6

2.1 开发环境6

2.2 C++语言和C语言的比较6

2.3 C++语言的特点6

2.4 C++语言的优点7

3 系统总体设计7

3.1需求分析7

3.1.1游戏界面的需求7

3.1.2游戏规则的需求7

3.2 程序流程图8

3.3 系统框架设计8

3.3.1 系统概要分析8

3.3.2 游戏中的碰撞分析9

3.4  功能需求以及程序模块关系10

3.5 程序的分析及具体实现11

3.5.1 系统类图设计11

3.5.2 系统界面以及实现11

3.5.3 坦克的各个功能实现13

3.6游戏中的声音以及一些美化的实现15

3.7 坦克大战游戏的不足16

4 系统测试16

4.1 坦克移动功能的测试16

4.2 坦克发射子弹的测试17

4.3 游戏结束的判定测试17

4.4 游戏中障碍物测试17

结论18

致谢18

参考文献19


游戏 设计 实现 摘要

评论
188083800