文档库 最新最全的文档下载
当前位置:文档库 › 最新funcode c++课程设计_坦克大战资料

最新funcode c++课程设计_坦克大战资料

最新funcode c++课程设计_坦克大战资料
最新funcode c++课程设计_坦克大战资料

课程设计一坦克大战

一、游戏介绍

相信大部分同学都玩过或看过“坦克大战”这款经典游戏。现在,就由我们自己动手来开发它。只要大家具备了C++语言和面向对象的基础知识,然后按照实验指南的指导一步一步进行下去,相信我们每个同学都能把这款经典游戏做出来。

二、实验目标

综合运用C++及其面向对象的知识开发一款小游戏。

三、实验内容

在一个战场上,玩家控制坦克,消灭敌方坦克,并防止敌方坦克摧毁我方基地。游戏的具体要求如下:

1、游戏有一个初始页面,如下图。

2、按下任意键开始游戏,玩家控制坦克在战场上穿梭,碰到墙时,不能通过。

3、敌方坦克自由移动,每隔2秒改变一个方向,每隔3秒发射一发子弹。

4、敌方坦克每隔5秒出现一辆,从屏幕上方的左、中、右三个位置依次出现。

5、当玩家被消灭或者我方基地被摧毁或者游戏时间大于30秒的时候,游戏结束。

游戏开始前

进入游戏四、游戏的整体框架

五、实验指南

实验准备

打开FunCode,创建一个新的C++项目。注意:项目名称必须为英文和数字,且不能有空格。

点击“项目”→“导入地图模板”,从对话框中选取名称为TankWar的模板导入。导入成功后,界面如下:

实验一游戏开始

【实验内容】

1、设置游戏标题

2、按空格键,提示图片消失,游戏进入开始状态.

【实验运行结果】

游戏开始前

按下空格键后

【实验思路】

按下空格键是键盘按下事件,可在CSystem::OnKeyDown函数中编写响应代码。为了保证程序结构的清晰、一致,更好的办法是在CGameMain类中添加一个相应的键盘按下事件处理函数,然后在CSystem::OnMouseClick函数中进行调用。

g_GameMain是CGameMain类的对象,它是全局变量,在程序运行时最先被创建。

【实验指导】

1、C++程序的执行入口是主函数。FunCode的主函数名称叫WinMain,写在Main.cpp

文件中。CSystem::SetWindowTitle是设置程序运行窗口标题的函数,修改如下:

CSystem::SetWindowTitle("坦克大战");

2、参考CSystem::OnKeyDown函数,为CGameMain类创建一个OnKeyDown函数。

CGameMain类的头文件是LessonX.h文件,实现代码写在LessonX.cpp文件中。因此,

先在LessonX.h文件对函数进行声明。函数的返回值和参数列表都与CSystem::OnKeyDown函数保持一致。访问权限应该是public。代码如下:

void OnKeyDown( const int iKey, const bool bAltPress, const bool bShiftPress, const bool bCtrlPress );

3、接着,在Lesson.cpp文件中对该函数进行定义:

void CGameMain::OnKeyDown( const int iKey, const bool bAltPress, const bool bShiftPress, const bool bCtrlPress )

{

}

4、在CSystem::OnKeyDown函数(Main.cpp文件中)调用CGameMain::OnKeyDown函数,

并将自己的参数传递给该函数。g_GameMain是是CGameMain类的对象,它是全局变量,在程序运行时最先被创建。因此,我们可以用g_GameMain调用自己的成员函数OnKeyDown。

g_GameMain.OnKeyDown(iKey, bAltPress, bShiftPress, bCtrlPress);

5、FunCode程序运行时,当发生键盘按下事件,程序首先调用并执行

CSystem::OnKeyDown函数,然后由CSystem::OnKeyDown函数调用并执行CGameMain::OnKeyDown函数。因此,键盘按下事件的响应代码我们在CGameMain::OnKeyDown函数中编写即可。

6、我们要处理的两个精灵如下图,它们的名称分别是splash和start。我们需要创建两

个CSprite类对象与这两个精灵绑定。

7、在CGameMain类中声明两个CSprite*类型,根据面向对象的封装性原理,成员变量

的访问权限应该是private。代码应该写在哪个文件,请参看前面的实验步骤。

CSprite* m_pSplash;

CSprite* m_pStart;

在CGameMain类的构造函数中,对上面两个指针变量进行初始化。通过调用CSprite 的构造函数,将精灵和精力对象绑定在一起。

m_pSplash= new CSprite("splash");

m_pStart= new CSprite("start");

8、最后,我们在CGameMain::OnKeyDown函数中处理空格键按下事件。

if( 0 ==GetGameState() )

{

if(iKey ==KEY_SPACE)

{

m_iGameState = 1;

}

}

KEY_SPACE是枚举变量KeyCodes的成员,表示空格键。KeyCodes定义在

CommonClass.h文件中。该枚举变量定义了全部的键盘值。注意:必须将

m_iGameState的值改为1。当GameMainLoop函数再次执行时,根据m_iGameState

的值调用并执行GameInit函数,游戏进入开始状态。

进入游戏开始状态时,调用CSprite类的SetSpriteVisible函数将精灵图片设置为不可

见。

在GameInit函数中添加代码:

m_pSplash->SetSpriteVisible(false);

m_pStart->SetSpriteVisible(false);

9、程序执行完CGameMain::GameInit函数后,执行CGameMain:: SetGameState(2),将

m_iGameState的值改为2,游戏进入运行状态。

10、在CGameMain类的析构函数中delete本实验创建的指针对象,以释放分配的内存。

CGameMain::~CGameMain()

{

delete m_pSplash;

delete m_pStart;

}

11、编译并运行程序,然后按下空格键,看看运行效果。

实验二坦克运动

【实验内容】

1、创建坦克类CTankPlayer;

2、游戏开始时,将坦克放置于(0,0)的坐标上;

3、通过按键WSAD控制坦克上下左右运动;

4、坦克运行到黑色区域边界时不能继续前进。

【实验运行结果】

在区域内运动

运动到区域边界

【实验思路】

坦克也是精灵,但是它具备一些自己独特的功能,比如通过键盘控制运动、开炮等。因此我们可以创建一个新的类CTankPlayer类,并让它继承CSprite类。

通过WASD键,控制坦克做相应的的上左下右运动。按下某个键,给坦克设置相应方向的运动速度;松开时,将该方向的速度设为0,表示停止运动。

屏幕上最内部的黑色区域为玩家坦克的活动区域,左上角坐标为(-26,-22),右下角坐标为(26,22)。当坦克运动到该区域边界时,坦克不能继续前进。

【实验指导】

1、通过类向导创建CTankPlayer类,其继承于CSprite类。以VC++ 6.0为例:

第一步、点击菜单“插入”-〉“新建类”。

第二步、在“New Class”对话框中输入类名和父类名。

坦克大战 实验报告

本科实验报告 课程名称:Java语言程序设计 实验项目:TankWar 实验地点:致远楼B403 专业班级:软件工程1219 学号:2012005496 学生姓名:柴丁方 指导教师:任少斌 2014年 1 月7 日

import java.awt.*; import java.awt.event.*; public class TankWarClient extends Frame { //构造游戏开始的界面 public void KaiShiJieMian() { this.setLocation(400,200); //游戏窗口的左上点在屏幕的位置 this.setSize(800, 600);//游戏窗口的尺寸 //使按窗口的“X”时,可以关闭程序

较上一次实验添加的代码段为: public void paint (Graphics g) { Color c = g.getColor();//color类是 java。awt 中的,因此可以直接 color c g.setColor(Color.green);// 类 java.awt.Graphics 中的方法,将此图形上下文的当前颜色设置为指定颜色。 g.fillOval(50, 50, 30, 30);//int x, int y,int width,int height,分别为坐标与椭圆的长宽 g.setColor(c); }

变更2: 较上一次实验添加的代码段为: 1.更改如下代码段中的“常量值”为“x”“y”,使所填充的椭圆位置可以随值改变,为静态的图形动起来打下了基础。 static int x=50,y=50;

项目坦克大战设计报告

《JA V A程序开发课程设计》项目设计 项目名称:TankWar 软件 专业:软件工程班级:13软工1班姓名:毛晨光学号:24 一、需求分析: 基本功能: 1.玩家控制的坦克能够四处移动并且打击敌方坦克; 2.敌方坦克能够随机四处移动并且打击玩家控制的坦克; 3.玩家控制的坦克拥有血量,而敌方坦克没有; 4.坦克受到攻击时血条会缩短; 5.敌方坦克被消灭完之后,提示游戏胜利; 6.用户方坦克被消灭后提示游戏结束; 特色功能: 1.坦克具有图片,不单单只是个圈圈。 2.增加了血包功能,地图上会随机出现一个血包,我方坦克开过会增加 血量。 二、系统设计: 类:实现游戏界面地图的初始化。 类:绘制和重绘功能。 :监听用户的键盘输入。 类:实现坦克的初始化,绘制,移动,发射等功能。 :实现敌方坦克的初始化,绘制,移动,发射等功能。 类:实现炮弹的初始化,绘制,移动,攻击功能。 类:实现爆炸的初始化。绘制功能,爆炸效果由绘制半径从小到大再到小的圆实现。 类:包含枚举。 类:用于实现血包的功能。 三、功能实现。 一.绘制地图功能: public class TankMap extends Frame{ tart(); }

制坦克功能:public class Tank { 方坦克的绘制方法 public class EnemyTank extends Tank{ 弹绘制方法public class Shell { ntersects())){

ntersects())){ "hittanks"); (false); =false; Explor ex=new Explor(x-3,y-3,; return true; } } return true; } }

基于s3c44b0ARM飞机游戏课程设计报告

课设报告 题目:飞机大战 班级: 姓名: 学号: 指导老师: 日期:年月日

目录 1摘要 (3) 2.1 功能需求 (3) 2.2 设计要求 (4) 3 硬件设计及描述 (5) 3.1 总体描述 (5) 3.2 系统总体框图 (5) 3.3 各部分硬件介绍 (5) 3.31输入模块 (5) 3.32输入模块 (6) 4 软件设计流程及描述 (7) 4.1 程序流程图 (7) 4.2 主要函数模块及功能 (8) 4.2.1控制飞机模块 (8) 4.2.2 碰撞检测模块 (9) 5 功能实现 (11) 液晶显示 (11) 6 心得体会 (13)

1摘要 三星公司推出的16/32 位RISC 处理器S3C44B0X 为手持设备和一般类型的提供了一种高性能低成本的解决方案。为了降低整个系统的成本,S3C44B0X 内部集成了丰富的片内外设,包括:8K 的cache,可选的片内SRAM,LCD 控制器,带有握手信号的双同道UART,4 同道DMA,系统管理器(片选逻辑,FP/EDO/SDRAM 控制器),带有PWM 功能的5 通道定时器,I/O 端口,RTC 实时时钟,8 通道10 位ADC,IIC、IIS 总线接口,同步SIO 接口以及用于时钟管理的PLL 锁相环。 S3C44B0X 极低的功耗以及简单,只能的全静态设计使其非常适合对成本和功耗敏感的项目。同时S3C44B0X 还采用了一种新的总线结构,即 SAMBAII(三星 ARM CPU 嵌入式微处理器总线结构)S3C44B0X 通过集成全面、通用的片内外设,大大减少了系统电路中除处理器外的器件需求,从而最小化系统成本。 2.1 功能需求 1.以动漫的形式显示开机界面和加载游戏进入。 2.以位图的方式显示不同飞机的图像,开机界面。 3.使用碰撞检测机制,实现飞机与飞机,飞机与子弹的检测。 4.实现按键的控制,对子弹的发送和飞机的上下左右的自由控制。 5.敌机的随机出现,并实现无限架敌机,且游戏主界面需每次出现三架飞 机,供我机击落。

funcode C++课程设计坦克大战

课程设计一坦克大战 一、游戏介绍 相信大部分同学都玩过或看过“坦克大战”这款经典游戏。现在,就由我们自己动手来开发它。只要大家具备了C++语言和面向对象的基础知识,然后按照实验指南的指导一步一步进行下去,相信我们每个同学都能把这款经典游戏做出来。 二、实验目标 综合运用C++及其面向对象的知识开发一款小游戏。 三、实验内容 在一个战场上,玩家控制坦克,消灭敌方坦克,并防止敌方坦克摧毁我方基地。游戏的具体要求如下: 1、游戏有一个初始页面,如下图。 2、按下任意键开始游戏,玩家控制坦克在战场上穿梭,碰到墙时,不能通过。 3、敌方坦克自由移动,每隔2秒改变一个方向,每隔3秒发射一发子弹。 4、敌方坦克每隔5秒出现一辆,从屏幕上方的左、中、右三个位置依次出现。 5、当玩家被消灭或者我方基地被摧毁或者游戏时间大于30秒的时候,游戏结束。 游戏开始前 进入游戏

四、游戏的整体框架 五、实验指南 实验准备 打开FunCode,创建一个新的C++项目。注意:项目名称必须为英文和数字,且不能有空格。 点击“项目”→“导入地图模板”,从对话框中选取名称为TankWar的模板导入。导入成功后,界面如下: 实验一游戏开始 【实验内容】 1、设置游戏标题 2、按空格键,提示图片消失,游戏进入开始状态. 【实验运行结果】 游戏开始前 按下空格键后 【实验思路】

按下空格键是键盘按下事件,可在CSystem::OnKeyDown函数中编写响应代码。为了保证程序结构的清晰、一致,更好的办法是在CGameMain类中添加一个相应的键盘按下事件处理函数,然后在CSystem::OnMouseClick函数中进行调用。 g_GameMain是CGameMain类的对象,它是全局变量,在程序运行时最先被创建。【实验指导】 1、C++程序的执行入口是主函数。FunCode的主函数名称叫WinMain,写在Main.cpp 文件中。CSystem::SetWindowTitle是设置程序运行窗口标题的函数,修改如下:CSystem::SetWindowTitle("坦克大战"); 2、参考CSystem::OnKeyDown函数,为CGameMain类创建一个OnKeyDown函数。 CGameMain类的头文件是LessonX.h文件,实现代码写在LessonX.cpp文件中。因此,先在LessonX.h文件对函数进行声明。函数的返回值和参数列表都与 CSystem::OnKeyDown函数保持一致。访问权限应该是public。代码如下: voidOnKeyDown(constintiKey,constboolbAltPress,constboolbShiftPress,cons tboolbCtrlPress); 3、接着,在Lesson.cpp文件中对该函数进行定义: voidCGameMain::OnKeyDown(constintiKey,constboolbAltPress,constboolbShif tPress,constboolbCtrlPress) { }

mfc飞机大战课程设计文档

程序设计综合实践报告 信息科学与工程学院 年月日

目录 1. 概述 (3) 2. 相关技术 (3) 2.1 建立基类CGameObject (3) 2.2 透明图片贴图 (4) 2.3 CObList链表 (4) 2.4获得矩形区域函数 (4) 2.5发射子弹或导弹函数 (4) 2.6 添加爆炸效果技术 (5) 2.7对于对象的绘制以及越出边界的处理 (5) 2.8字体的个性化输出函数 (6) 2.9获取键盘操作函数 (6) 2.10用键盘控制战机的移动 (6) 2.11 设置定时器 (7) 2.12 双缓冲技术 (8) 2.13内存释放技术 (8) 3. 需求分析 (8) 4. 总体设计与详细设计 (8) 4.1 系统模块划分 (9) 4.2 主要功能模块 (11) 4.3 扩展功能设计思路 (11) 4.4 软件结构设计体会 (12) 5. 编码实现 (12) 5.1游戏初始创建 (12) 5.2游戏结束处理 (13) 5.3 背景设定 (13) 5.4 创建游戏对象 (14) 5.4 战机技能的创建 (15) 5.5 发射模块使用(以发射战机导弹为例,敌机、BOSS发射子弹,乘客逃离客机类似) (16) 5.6碰撞检测(以战机与敌机相撞为例,导弹炸毁敌机、子弹命中战机与战机、BOSS 或敌机相撞与战机吃到各种道具等情况类似) (17) 5.7 定时器的创建 (18) 5.8 难度的事件处理程序的创建 (18) 6.测试情况说明。 (19) 7. 实训中遇到的主要问题及解决方法 (19) 8. 实训收获与体会 (20)

1. 概述 飞机大战游戏是基于Windows桌面的射击类游戏,其需要实现的功能为:实现游戏对象的爆炸特效、文字提示功能和界面背景特效,其主要是遵循一定的游戏规则进行游戏。 游戏中的主要角色可分为如下几个基本部分:战机、敌机(普通敌机、小BOSS和大BOSS)、战机的导弹、敌机的子弹。其主要遵循的游戏规则为:战机数量为1,由玩家通过键盘控制(方向键控制位置、空格键发射导弹)战机;导弹释放存在间隔,有一定的运行速度;导弹遇到敌机发生爆炸,敌机被炸毁,导弹消失,玩家得分;由计算机控制敌机自动向战机发动攻击;敌机数量可以根据难度大小随机生成,计算机生成敌机时随机选择类别;敌机从游戏区域的上端进入,左右位置随机;普通敌机被导弹攻击即死,作为进入第二关的标志的小BOSS的血量稍多一些但是数量较多发射子弹的频率也较高,第三关中的大BOSS不仅比小BOSS血量更厚而且它发射伞状的子弹;敌机行驶期间,不左右移动,不反向移动;运行线路为直线,方向为从上至下,不可左右移动。纵向由发射位置起至游戏区域结束;敌机子弹遇到战机时发生爆炸,战机被炸毁,子弹消失,游戏结束。 游戏最后根据功能要求,在大BOSS死亡后会生成客机,被击中引擎后改变飞行轨迹,击中油箱后爆炸,战机还要拯救随机从客机上跳机的乘客。 2. 相关技术 此次实训的飞机大战游戏其中的技术主要就是一些函数、双向链表的使用、内存释放和双缓冲技术。 2.1建立基类CGameObject 建立基于所有类的父类CGameObject,其中定义了两个纯虚函数作为继承CGameObject类的其他类的某些声明,例如://绘制对象 virtual BOOL Draw(CDC* pDC,BOOL bPause)=0; 还有//获得矩形区域 virtual CRect GetRect()=0; 另外还定义了//获得左上角坐标 CPoint GetPoint(){return m_ptPos;}以及 //加载图像 static BOOL LoadImage(CImageList& imgList,UINT bmpID,COLORREF crMask,int cx,int cy,int

程序设计基础之飞机大战说明书

X X大学 程序设计基础课内项目说明书 XXXX年XX月XX日

1.设计目的(小标题黑体五号字) 制作一个简单的飞机大战游戏。 2.设计内容 此飞机大战游戏是一款射击游戏,它随着你的分数增加,而不断改变你的等级,同时等级越高难度就会越大,一旦敌机逃离那么你的分数将会减少,与敌机相撞你的生命值将会减少,按鼠标左键可以连续发射子弹,鼠标移动控制我机移动。 3.本设计所采用的数据结构 使用了两个动态链表,分别储存敌机图片的左上角坐标(X,Y)以及子弹图片的左上角坐标(X,Y),删除子弹与敌机以及敌机与我机的碰撞都是基于图片的左上角坐标(X,Y)来判定。 4.功能模块详细设计 4.1 子弹相关模块 4.1.1详细设计思想 当检测到左键按下时,调用添加子弹的函数并进行传参(鼠标的位置坐标)产生新的子弹;当子弹击中敌机(移动子弹的函数来判断是否击中)后调用删除子弹函数来删除子弹并释放内存;移动子弹函数在中还包括子弹是否出界并删除的函数;游戏结束后把所有的子弹都删掉。 4.1.2 核心代码 //子弹 int bulletvx=0; int bulletvy=-20; int bulletwidth=6; int bullethigh=11; typedef struct Tag_Bullet { int x; int y; struct Tag_Bullet*Next; }bullet,*lbullet; bullet bullethead; lbullet lbhead=&bullethead,lbtail=&bullethead;

lbullet pushbullet(int bx,int by); //添加子弹-返回添加的子弹指针lbullet removebullet(lbullet it); //删除子弹-返回下一个子弹的指针lbullet freebullet(); //删除全部子弹 lbullet movebullet(); //移动子弹 //添加子弹 lbullet pushbullet(int bx,int by) { lbtail=lbtail->Next=(lbullet)malloc(sizeof(bullet)); lbtail->x=bx; lbtail->y=by; lbtail->Next=NULL; return lbtail; } //删除子弹 lbullet removebullet(lbullet It) { lbullet cbullet; for (cbullet=lbhead;cbullet->Next!=NULL;cbullet=cbullet->Next) { if(cbullet->Next==It) { if(It==lbtail)//尾节点单独处理 lbtail=cbullet; cbullet->Next=It->Next; free(It); break; } } return cbullet->Next;

C++课程设计报告【飞机大战】

C++程序设计A2 课程设计报告 课程名称C++程序设计A2 课题名称飞机大战 专业计算机科学与技术 班级1820544 ___ 学号182054424 _____ 姓名王锐____ _ 指导教师韩燕丽__ 2019年6 月15 日

(一)、课程设计题目: 飞机大战 (二)、目的与要求: 1、目的: (1)要求学生达到熟练掌握C++语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C++的编程思路来完成系统的设计。 (2)在系统的设计中,要求运用面向对象的机制(继承及多态性),来实现系统功能,并且要建立清晰的类层次结构。 (3)在系统设计中要分析和定义各个类,每个类中要有各自的数据成员和成员数。 (4)主函数中提供菜单选项,并给出足够的选择信息以及提示信息。 (5)程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。对输入值的类型、大小范围、字符串的长度等,进行正确性检查,对不合法的输入值给出出错信息,指出错误类型,等待重新输入。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。(三)、设计方法和基本原理: 功能要求: 设计一个基于控制台的简洁流畅的飞机大战游戏。 问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试;

《面向对象的编程技术》课程设计实验报告

《面向对象的编程技术》课程设计实验报告 系计算机科学与技术 班级计114 姓名石险峰 学号119074122 指导教师胡增涛 计算机学院 2012年12月

一.应用程序的名称 设计:“坦克大战” (1)参考(《PC游戏编程(窥门篇)》谭文洪著)中的“坦克大战”(TankWar工程),并对其进行完善、扩充,程序要能看出专业水平和商业化产品的效果。 (2)要求:修改案例中“子弹可以穿透石头墙”的错误;增加上帝模式(无敌);修改一种敌军坦克,使之威力更大(要求坦克画面采用学生自己的头像)(需要重新编译资源包;之所以“改”而不是“增”,是因为同学们无法修改地图编辑器,另一个办法是在程序运行后动态加入);回答“坦克大战”指导书.doc(或pdf)和TankWar剖析.doc(或pdf)中带有蓝色《….?》标记的问题。 二.应用程序的设计目的 面向对象的编程技术》课程设计是一门独立开设的实验课程,旨在进一步强化学生对类、封装、继承、多态等面向对象基本概念的理解和OOP(面向对象编程)实际动手能力,并进一步拓展到OOD(面向对象设计)原则、技巧和初步的OOA(面向对象分析)方法。 在中国,电子游戏曾一度被大家斥为“电子海洛因”。然而电子游戏在青年学生中大受欢迎却又是一个不争的事实。正如水能载舟,亦能覆舟一样,任何事物都有其两面性。与其千方百计地封堵,还不如让同学们从技术的角度来研究它,这样既可以掌握复杂系统的设计技巧,也可以破除对电子游戏的神秘感。我相信,一个人如果自己能制作游戏,如果能清楚地知道那个绚丽多彩的虚拟世界背后无非就是一些类、变量、函数的话,他就不可能再沉迷于打游戏———与一堆对象、内存变量和函数较劲。同时,从技术上讲,游戏程序的开发异常复杂,能充分体现面向对象的拟人化思想和面向对象设计技巧。通过游戏程序的制作,可以帮助学生真正掌握面向对象程序设计的精髓。 三.应用程序简介 设计目的:C++电脑游戏开发:侧重利用面向对象的拟人化思想解决复杂问题和OOD技巧; 运行环境: 1.本设计采用Microsoft Visual C++6.0编译,并能够在WIN98,WIN2000下运行 2.游戏基于Windows Game Engine(WGE游戏引擎,添翼虎科技)(没提供源程序,不过不用担心,你可以把它看成是利用DirectX快速处理图片、声音、键鼠的类库) ,该引擎需要DirectX7.0 SDK支持(仅有Runtime运行库不够,必须包含开发语言需要的Header&Libs 头文件和库文件) 功能介绍: ○1修改案例中“子弹可以穿透石头墙”而且增加了敌军坦克子弹不能穿过 箱子:无论是敌军坦克还是玩家坦克的子弹都不能穿过石头,敌军坦克子弹不能透过箱子,一旦它们相碰撞子弹会自动销毁。 ○2增加上帝模式(无敌):玩家1通过按F1键变为上帝模式,再按一次,还原,一旦玩家进入上帝模式,敌军坦克的子弹对玩家坦克没任何损伤。 ○3修改火坦克的性能,使之威力更大,并且将该敌军坦克改为其他图像,通过更改火坦克的一些属性,使火坦克的子弹射程、威力,坦克的移动速

坦克大战课程设计论文

坦克大战游戏设计 1.课程设计的目的 随着手机的日益普及,java功能在移动设备上的实现及java 应用程序产生的影响力,对丰富人们的生活内容,提供便捷的咨询起着不可忽视的作用。本项目介绍了坦克大战的基本构建方法、java的相关技术及本程序的结构分析和具体功能的实现。游戏是在Eclipse3.2环境下编程。本项目重点运用了图形化用户界面GUI,Thread多线程的有关知识,其中涉及了绘图工具的运用,事件处理操作以及图形的碰撞检测等知识点。通过此课程设计,使学生巩固所学知识、培养学生动手能力,了解Java的面向对象的体系结构。学生用Java语言设计一个完整的应用程序,综合应用所学知识完成软件的分析、设计、调试和总结,提高学生对Java语言的综合应用能力和解决问题的能力。 2.设计方案论证 2.1设计思路 本项目介绍了坦克大战的基本构建方法、java的相关技术及本程序的结构分析和具体功能的实现。游戏是在Eclipse3.2环境下编程。 一、游戏基本元素:坦克,炮管,子弹,墙壁,地雷 二、它的主要功能: (1)能够朝四个方向移动:上、下、左、右键。 (2) 按下鼠标左键发射普通子弹;按下鼠标右键发射散弹;子 弹爆炸的效果,普通子弹和炮弹的效果 (3)敌人能够移动

(4)能够模拟爆炸 (5)能够产生障碍 (6)能够增长生命 玩家控制主坦克(上方有血条的)的移动以及炮弹的发射。若玩家将敌方坦克全部打掉则玩家胜;若期间由玩家控制的主坦克被打掉则视为玩家失败。游戏中只有普通墙作为障碍物,玩家无法穿越它们并且普通子弹不能将墙打穿 ;但是玩家可以用炮弹将普通墙打掉。桃心可以将坦克的血加满。 2.2简要的设计流程: 键盘监听器 2.2设计方法 2.2.1构建游戏主类

程序设计实训坦克大战实验报告材料

程序设计实训报告 坦克大战 专业班级:装控1401 实习时间:2015年7月10日至7月14日实习地点:微401 成员 1:赵振华 成员 2:许晨欢 成员 3:蒋绪涛

一、作品概述 1.1 创新点: 1、自定义并命名树林和钢板精灵,设置树林属性为不接受碰撞可以自由穿梭,钢板为接受任何碰撞但不做任何处理(即子弹和坦克均不能摧毁钢板)。 2、添加坦克发炮、击中目标和坦克移动的特殊声效。 1.2 概述: 这款游戏是我们QWER小组以经典90版坦克大战为背景制作的坦克大战的改编款,玩家通过控制坦克摧毁敌方坦克来保卫主基地不被摧毁。当敌我双方坦克相碰或己方基地被子弹摧毁时游戏结束(敌我双方子弹均可摧毁基地),每隔3秒钟出现一辆敌方坦克,游戏最大时长为100秒。此款游戏与经典90版坦克大战较为相似,操作简单,能唤起我们对童年的回忆。 二、功能设计 玩家坦克与敌方坦克在街道中进行巷战,玩家坦克被击中或与敌方坦克相撞、玩家指挥部被击中或游戏时间到,一局游戏结束。 按下空格键后游戏开始,“空格开始”消失,载入地图,100秒倒计时开始,并把玩家坦克设置在指挥部左侧。 游戏时间到,玩家坦克被敌方坦克摧毁,与敌方坦克相撞,或者玩家指挥部被摧毁,一局游戏结束,游戏回到初始界面,并显示上一局的分数。 玩家用W、A、S、D键控制坦克上、下、左、右运行,按J键开炮。坦克行进过程中有特殊声效,坦克发射或击中目标都有相应的声效。玩家坦克碰到墙和钢板就停下来,需要调转方向才能继续前进。玩家坦克开炮,一炮就能摧毁一块墙或者一辆敌方坦克,但不能摧毁钢板,玩家可穿梭于树林中。玩家每摧毁一辆敌方坦克,加1分。 玩家指挥部被坦克或者炮弹(不管玩家还是敌方)碰上,都会被摧毁。 每隔3秒钟,就会产生一辆敌方坦克。敌方坦克每隔一段时间,就自动开炮。敌方坦克遇到墙就会停下来。停下来的坦克,前方的墙如果被摧毁了,又能继续前进。每隔几秒钟,敌方坦克就会顺时针变换一个方向前进。每局最大时长为100秒。

游戏引擎设计报告

游戏引擎课程设计 设计题目飞机大战游戏课程设计学院名称信息科学与技术学院 专业名称数字媒体技术 学生姓名罗瑞佳 学生学号201413050133 任课教师林杰 设计(论文)成绩 教务处制 2015年12月29日

飞机大战游戏课程设计 摘要 本飞机大战游戏采用2D游戏显示界面,于Unity3D的游戏引擎相结合而制作完成的游戏,使用的代码是c#语言,游玩时采用第三人称视角,用键盘操作,背景界面和UI采用星球大战的画面模式。采用计分系统来统计玩家的成就,使游戏更具可玩性。 关键词:2D;粒子效果;碰撞检测 第一章游戏的素材准备 1.1 制作该游戏需要设置飞机、敌人和子弹的模型,还有 游戏音效,游戏贴图素材,以及游戏场景的构思和搭建等。 1.2进行搭建场景时分为: 1)进入游戏的界面搭建 2) 游戏加载的界面搭建 3)游戏主界面搭建 4)游戏结束的界面搭建 5)游戏菜单的界面搭建

第二章进行飞机的功能操作 2.1 飞机模型的创建及移动功能的实现 2.2 飞机发射子弹的创建 1)飞机子弹的基本功能 2)飞机子弹发射时的音效实现 2.3敌人的创建 2.4子弹与敌人的碰撞检测 2.5子弹飞机的爆炸效果 2.6玩家生命值和分数的设定 1)玩家的死亡 2)玩家输游戏场景的设定 3)玩家赢游戏场景的设定 第三章背景设置 3.1 修改输赢场景的背景 3.2滚动背景的搭建修改 3.3修改敌人和玩家的外形

3.4关于玩家飞船的重生 3.5游戏难度的设定 四重要代码 4.1关于粒子碰撞检测的代码 #pragma strict varpowerUpSound : GameObject; function Start () { } function Update () { } function OnTriggerEnter(col:Collider)//碰撞检测 { if(col.gameObject.tag == "Player") { GameObject.Find("player").GetComponent(FireScript).PowerUpLaser(); Instantiate(powerUpSound,transform.position,transform.rotation); Destroy(gameObject); } }

java开发坦克大战

j a v a开发坦克大战 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

坦克大战游戏演示为什么选择这个项目 1、好玩 2、涉及到java各个方面的技术 1、java面向对象编程; 2、界面编程; 3、绘图技术; 4、多线程; 5、文件i/o操作; 6、数据库 3、巩固旧知识,学习新知识 java绘图坐标体系 绘图坐标本系--介绍 坐标原点位于左上角,以像素为单位。像素是计算机屏幕上最小的显示单位。在java的坐标系中,第一个是X坐标,表示当前位置为水平方向,距离坐标原点X个像素;第二个是Y坐标,表示当前位置为垂直方向,距离坐标原点Y个像素。 坐标体系--像素 计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。例如,计算机显示器的分辨率是800×600,表示计算机屏幕上的每一行由800个点组成,共有600行,整个计算机屏幕共有480000个像素。现在的计算机可以支持更高的分辨率,也就是说,屏幕上可以显示更多的像素。因此,像素是一个密度单位,而厘米是长度单位,两者无法比较。 绘图原理(1)[] Component类提供了两个和绘图相关最重要的方法: 1、paint(Graphicsg)绘制组件的外观 2、repaint()刷新组件的外观

当组件第一次在屏幕显示的时候,程序会自动的调用paint()方法来绘制组件 .*; .*; publicclassWindow013extendsJFrame{ ; 7、画字符串drawString(Stringstr,intx,inty); 8、设置画笔的字体setFont(Fontfont); 9、设置画笔的颜色setColor(Colorc); ; .*; publicclassWindow014extendsJFrame{ ; .*; publicclassWindow015extendsJFrame{ ; .*; import publicclassWindow016extendsJFrameimplementsActionListener{ quals("黑色")){ 点击了黑色按钮"); ; }elseif().equals("红色")){ 点击了红色按钮"); ; }else{ 不知道"); } } } classCatimplementsActionListener{ publicvoidactionPerformed(ActionEventarg0){ if().equals("黑色")){ 也知道你按下了黑色按钮");

项目-坦克大战-设计报告

《JAVA程序开发课程设计》项目设计 项目名称:TankWar 软件 专业:软件工程班级:13软工1班姓名:毛晨光学号:1322120124 一、需求分析: 基本功能: 1.玩家控制的坦克能够四处移动并且打击敌方坦克; 2.敌方坦克能够随机四处移动并且打击玩家控制的坦克; 3.玩家控制的坦克拥有血量,而敌方坦克没有; 4.坦克受到攻击时血条会缩短; 5.敌方坦克被消灭完之后,提示游戏胜利; 6.用户方坦克被消灭后提示游戏结束; 特色功能: 1.坦克具有图片,不单单只是个圈圈。 2.增加了血包功能,地图上会随机出现一个血包,我方坦克开过会增加 血量。 二、系统设计: 1.TankMap类:实现游戏界面地图的初始化。 2.PainTread类:绘制和重绘功能。 3.DirectionHandler:监听用户的键盘输入。

4.Tank类:实现坦克的初始化,绘制,移动,发射等功能。 5.EnemyTank:实现敌方坦克的初始化,绘制,移动,发射等功能。 6.Shell类:实现炮弹的初始化,绘制,移动,攻击功能。 7.Explor类:实现爆炸的初始化。绘制功能,爆炸效果由绘制半径从小到 大再到小的圆实现。 8.Direction类:包含枚举。 9.Blood类:用于实现血包的功能。 三、功能实现。 一.绘制地图功能: public class TankMap extends Frame{ //定义地图的尺寸。 public static final int MAPWIDTH=800; public static final int MAPHEIGHT=600; //我方坦克 Tank t=null; //定义随机出现的血包 Random r=new Random(); Image bufferImage=null; public static java.util.Listshells=new ArrayList(); //地方坦克集合 public static java.util.List-> enemys=new ArrayList();

飞机降落曲线课程设计

中北大学理学院 课 程 设 计 题目:飞机降落曲线绘制 课程:数值分析

成员:1408024133 邢栋 1408024129 肖锦柽 目录 一.飞机降落问题介绍 (3) 二、问题分析 (4) 三.实验方法: (5) 方法一(多项式求解) (5) I思路 (5) II程序 (5) III运行结果 (6) IV图像 (6) 方法二(Hermite差值法) (7) I思路 (7) II程序 (7) III运行结果 (7) IV图像 (8) 四.实际案例: (8) 五.设计总结: (9) 六.心得体会: (10)

二.问题分析: 在研究飞机的自动着陆系统时,技术人员需要分析飞机的降落曲线.根据经验,一架水平飞行的飞机,其降落曲线是一条三次抛物线,已知飞机的飞行高度为1000m,开始降落时距原点的横向距离为12000m飞机的着陆点为原点O,且在整个降落过程中,飞机的水平速度始终保持为常数540km/h. 飞机降落图像有:

由此,我们假定降落曲线方程为:且该曲线方程满足已知条件

三.实验方法: 1.方法一(多项式求解): I思路.运用多项式求解方程组(Gauss),即将四个已知条件代入一般三次曲线方程中,得出关于a,b,c,d的新的方程组: II程序.在MATLAB中编写M文件如下: A=[12000^3,12000^2,12000,1;3*12000^2,2*12000,1,0;0 0 1 0;0 0 0 1]; b=[1000;0;0;0]; x=inv(A)*b y=poly2sym(x') x=0:12000; y=vectorize(y) y=eval(y);

坦克大战系统《Java程序开发实训》综合实训报告

《Java程序开发实训》综合实训报告 题目:坦克大战系统 姓名:方庆 学号:2010203206 班级:10软件(2)班

一、系统实现的主要功能及运行结果截图 选择的语言的原因 游戏本身是一种娱乐方式,带给人无尽的乐趣,而且游戏行业的发展也将是带动周边行业的发展。同样对做出游戏的人的要求也会越来越高一满足游戏爱好者的要求。本次期末设计就是设计一种娱乐性较强的小游戏坦克大战,说到大战其实是不敢当的。但游戏基本拥有可玩性。java语言是一种跨平台,适合与分布计算环境的面向对象编程语言,java主要用在web开发,手机游戏及一些平台游戏的开发,他有很好的跨平台性。所以本次的设计坦克游戏选择的是java。 系统软件的软件环境 1.网络服务器操作系统:Window是 XP以上 2.开发工具:Eclipse 3运行环境:J2sdk 4.编程语言:java语言。 人机对战模式功能 1.能够发射子弹打击敌人 2.敌人能够移动 3.能够模拟爆炸 4.能够产生障碍 5能够增长生命6.能够使用超级子弹 坦克可以发射子弹

玩家坦克被击中血量减少。 被击中的坦克发生爆炸并且吃血块可以加血量。

玩家坦克可以从把方向发射超级子弹 自己的TankHealth为<=0时,。说明玩家坦克已死亡。游戏结束

本系统的坦克大战是基于java语言设计的开发,具有较高的人工智能和相对的图形处理。游戏可一人作战每次电脑方有10辆坦克, 此一举消灭全部的敌方坦克为目的。在这过程中坦克有机会得到血块来添加自己的生命值。从而变得强大。也利用wall来形成阻击敌人。 游戏拥有开挂的功能。可以穿过墙体来攻击敌方坦克。还给玩家坦克 置了超级炮弹。从八个方向同时射出炮弹来摧毁敌方坦克。主要功能 简单罗列如下: 1.屏幕左上方显示游戏的状态,当玩家方坦克全数为0是游戏结束 2.敌方坦克只在空地上行走,不可通过Wall 3.游戏打坏敌方坦克后,可随机位置随机出现血块奖励。坦克经过该 位置可获得相应的生命值加成。 4.玩家坦克的游戏资格和电脑坦克不同。 TankClient类设计流程 游戏系统类关联图

坦克大战游戏程序课程设计

《程序设计应用基础》课程设计计划书

坦克大战游戏 1引言 学习了C语言程序设计之后,我们粗略的掌握了程序设计的基本思路和要求,为了更加熟练的掌握这门计算机语言,我们选择编译一个经典小游戏——坦克大战。通过课程设计提高我们的动手能力,把理论知识运用到实践当中。在课程设计中,C语言的语法和逻辑严谨,对于初学者而言,有时忘记一个逗号或者分号整个程序便运行不了,经过了反复的调试,修改,最终形成可执行的程序。在这个过程中,通过不断的练习,我们对C语言的掌握程度有明显的提高,同时,也锻炼了我们的头脑,使我们的思维更加科学严谨。 2设计方案 2.1设计思路 坦克大战游戏,一共两关。不同的关卡,游戏地图、敌方坦克出现的种类不一样。敌方坦克地图上最多存在4辆,击杀后会出现新坦克直至补足4个,当击杀坦克一定数值则敌方新坦克不会再增加。击杀完所有坦克则胜利过关。己方坦克也有复活次数,用完则失败。另地图正下方有己方老家,若被敌方坦克攻破则游戏失败。 3程序设计与实施 3.1程序的主要模块 整个程序分为里表两大部分。 里部分由41*41的int地图数组组成,每个元素代表了该以该数组元素行列下标为地图坐标y,x那个单元的情况,不同的地图障碍物在该数组有不同的值,坦克在地图上占3*3个单元,在地图数组内相应坐标的3*3个元素内也对应特殊的值。由地图数组值可以读出该坦克信息。 表部分则是根据里部分的地图数组通过gotoxy和printf函数在命令行界面打印出相应字符以构成游戏界面的。 程序中的每个函数操作都是通过里部分(地图数组)判定,然后对里部分(地图数组)操作,再由里部改变外部,由gotoxy和printf函数将可视化界面呈现给玩家。也就是游戏主体函数内里表部分是一起操作的,不分开。 对于函数分类,程序又可分为三大类。一类游戏辅助函数。一个子弹系统,一个坦克系统。子弹和坦克分别都是独立运作的系统,有少量信息交换。 3.2 主函数及其流程图 主函数包括打印地图,实现游戏内置调节游戏速度的功能,判断坦克类型,判断敌我坦克是否存活,判断游戏胜负。 3

飞机大战游戏 产品需求规格说明书

[键入文字] 飞机大战游戏 产品需求规格说明书 1

目录 0. 文档介绍 (1) 0.1文档目的 (1) 0.2文档范围 (1) 0.3读者对象 (1) 0.4参考文档 (1) 0.5术语与缩写解释 (1) 1. 产品介绍 (2) 2. 产品面向的用户群体 (2) 3. 产品应当遵循的标准或规范 (2) 4. 产品范围 (2) 5. 产品中的角色 (2) 6. 产品的功能性需求 (2) 6.0功能性需求分类 (2) 6.1游戏基本规则 (3) 6.1.1 飞机对战规则 (3) 6.2游戏特效 (3) 6.2.1 界面背景特效 (3) 6.2.2游戏对象特效 (4) 6.2.3 声音特效 (4) 6.2.4 文字提示 (4) 7. 产品的非功能性需求 (4) 7.1用户界面需求 (4) 7.2软硬件环境需求 (5) 7.3产品质量需求 (5) 附录B:需求确认 (6)

0. 文档介绍 0.1 文档目的 让系统设计人员了解飞机大战游戏的开发要求。 0.2 文档范围 本文主要包含飞机大战游戏的需求。包括游戏规则及界面特效的要求。 0.3 读者对象 系统设计人员 0.4 参考文档 《Windows游戏编程大师技巧》 0.5 术语与缩写解释

1. 产品介绍 飞机大战游戏作为PC中一款桌面游戏,界面简洁流畅、游戏方式简单,玩起来易于上手。 2. 产品面向的用户群体 面向休闲游戏的玩家,例如家庭、办公室人员等,使用人群广泛。 3. 产品应当遵循的标准或规范 本产品遵循Microsoft编程规范。 4. 产品范围 仅针对使用Microsoft Windows XP及以上版本操作系统,不必考虑低级版本的兼任性。 5. 产品中的角色 6. 产品的功能性需求 6.0 功能性需求分类

实习成果

毕业实习是学生学完教学计划规定的全部课程后,在进行毕业论文之前的一个重要的教学环节,是一个理论联系实际,锻炼和提高学生组织管理能力,培养分析、解决实际问题能力的教学过程。通过实习使我加深对所学专业课程的理解,增强综合运用专业知识的能力。熟悉专业工作的内容,提高运用理论知识解决实际问题的能力。根据所学课程的理论知识,结合企业的运营实际,同时提高观察问题、分析问题、解决问题的能力。 我实习的时间为2013年9月2日——2013年10月8日,长沙卓京信息有限公司。长沙卓京信息技术有限公司位于湖南林业科学院林培楼二楼,由来自华为、金蝶、百度、中国移动、中国大唐电力等知名IT公司的骨干、管理人才创办,直接引进国际先进IT技术,结合中国本土IT企业需求,培养高端IT人才。 卓京信息致力于为IT企业培养并输送基于Java、Android、企业级软件开发、手机软件开发、3G/4G开发人才。公司于国内多家优秀企业深入合作,由企业提供实习基地、设备资源,并指派专业人员参与学校的专业教学。 卓京信息推出国内面向移动互联网行业最权威的3G职业教育品牌,公司已获得工业和信息化部通信行业职业技能鉴定指导中心的认可,学生入学签订就业保障协议,毕业及即可就业。实现招聘和岗前实训同步、教学与研发同步,学院就业率及平均就业薪资稳居国内同类机构领先水平,教学质量有口皆碑。公司具备强大的产品开发、产品推广、项目运营和创业卵化能力。随着3G数据业务的普及,“3G”带来大量的就业机会,卓京3G移动方向的培训产品正是在这种背景应运而生。 在一月的时间内,我学习Java的相关知识,参加培养职业素养课,参与Java项目的制作。根据权威机构赛迪智库的分析结果,自2010年以来,我国移动互联网用户,也就是手机上网人数呈爆炸式增长。 Java是现在全球最时髦的开发工具之一,它拥有一套庞大且完善的类库,内置了其他语言需要靠库甚至是操作系统才能支持的功能,拥有一个虚拟机,总之,Java的出现,确实给整个程序界带来了巨大的冲击,也许现在还无法准确评估Java为整个IT业带来的影响,但是有一点却毋庸置疑---Java将不可避免地影响一代程序员. Java在可以预见的一段时间里带给自己的影响. 在美国,起来越多的应用是基于Java开发的.Java在企业的应用中的日臻完美,打消了许多人对Java无法应用于大型企业级应用的顾虑.而在国内,Java也已如火如荼.据调查,在未来几年内,将会出现20万个Java程序员职位需求,也许这将超过其它任何一种程序员的需求. Java的BBs有Java研究组织,中国Java世界,SunOne专家路等(刚成立)Java是面积网络的设计语言,用来让程序员创建应用程序,这些应用程序可以通过下载,而且可在任何计算平台上安全地运行,如果再加上互联网和公司企业内部网体系,你将会拥有一个未准的网络计算环境,Java作为一个分布式的,面向对象的程序设计各方,可以让位于任何地方的任何计算机应用网络上的的应用程序. 综合上述,Java的生命力体现在如下方面: 1. Java产生与流行是InterNet发展的客观要求. 2.是一门各方面性能都很好的编程语言,它的基本特点是简单,面向对象,分布式,解释的,健壮的,完全的,结构中立的,可移植的,性能很优异的,多线程的,动态的,适合的Internet环境上开发应用系统.

飞机大战实验报告

实训报告 飞机大战游戏设计与开发 专业名称:______ __________ 班级:________________________ 学号:_________ 信息科学与工程学院 二零一二年十二月

目录 1.概述 (3) 2. 相关技术 (3) 2.1 指针的应用 (3) 2.2 动态链表的调用 (3) 3. 总体设计与详细设计 (3) 3.1 系统模块划分 (3) 3.2 主要功能模块 (3) 4. 编码实现 (4) 5. 实训中遇到的主要问题及解决方法 (15) 6. 实训体会 (15)

1. 概述 本项目是通过vb基于c++实现的战斗机通过导弹炸毁敌机以及躲避敌机导弹的一款游戏,游戏里包括躲避敌机轰炸,轰炸敌机,以及打boss,以及通过shift键实现对背后敌机的轰炸。 2. 相关技术 所用的关键技术void Ctest2View::OnTimer(UINT_PTR nIDEvent)在此函数里实现对图像里所出现的一切事物的绘制,在ontimer里主要用到的一个是碰撞即判断两个碰撞物体的矩形区域是否有交集。 2.1 指针的应用 指针类型 pBomb->Draw();pBoss->GetRect();pBoss->GetPoint();指针易于获得某个类的所在的位置,所在的区域、坐标以及图像的绘制 2.2 动态链表的应用 链表类型:例:定义一个链表CObList listBoss; listExplosion.AddTail(new CExplosion(plane.GetRect().left,plane.GetRect().top)); plane. GetRect() 通过链表来求出某个类的矩形区域、坐标、以及图形的绘制。 3. 总体设计与详细设计 3.1 系统模块划分 1、void Ctest2View::OnDraw(CDC* pDC) 2、void Ctest2View::OnTimer(UINT_PTR nIDEvent) 3、void Ctest2View::OnInitialUpdate() 4、void Ctest2View::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) 5、void Ctest2View::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) 3.2 主要功能模块 功能模块分为敌机绘制导弹绘制战机绘制炸弹绘制 boss、boss1绘制、爆炸绘制、插入图片、插入声效以及每关boss的筛选。 主要类图:BALL(炸弹)类 BOSS1类 BOSS类 Enemy(敌机)类 Myplane类 Explosion类 BOMB类 在ontimer里实现对所弹出的icon里所有图像的输出,主要划分为 1、敌机、战机、导弹、boss、背景图片、gameover图片的绘制,以 及爆炸声效,结束声效的实现。 2、实现方向键对飞机的控制,实现space 以及shift键对导弹发射的 控制

相关文档
相关文档 最新文档