坦克大战课程设计论文

合集下载

辽宁工业大学JAVA课程设计坦克大战

辽宁工业大学JAVA课程设计坦克大战

辽宁工业大学《Java语言程序设计》课程设计(论文)题目:坦克游戏院(系):软件学院专业班级:软件工程133班学号:学生姓名:指导教师:翟宝峰参考网址 : 教师职称:副教授起止时间:2014.6.9——2014.6.20课程设计(论文)任务及评语院(系):软件学院教研室:软件教研室目录第1章课程设计目的与要求 (1)1.1设计目的 (1)1.2实验环境 (1)1.3预备知识 (1)1.4设计要求 (1)第2章课程设计内容 (2)2.1 课题描述 (2)2.2 系统设计 (3)2.2.1功能分析 (3)2.2.2面向对象设计 (4)2.2.2类成员描述 (5)2.3程序实现 (6)2.3.1源码分析 (6)2.3.2运行结果 (13)第3章总结 (15)参考文献 (16)第1章课程设计目的与要求1.1设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程《JAVA语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用JAVA语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握面向对象程序设计的方法。

(6)熟练掌握JAVA语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序和修改程序。

1.2实验环境硬件要求能运行Windows 操作系统的微机系统。

JAVA语言应用程序开发软件使用:VJAVA 系统,或其他JAVA语言应用程序开发软件。

java坦克大战毕业设计论文

java坦克大战毕业设计论文

基于J2SE的网络版坦克大战游戏设计摘要[摘要]:J2SE (Java 2 Standard Edition)就是Java2的标准版,主要用于桌面应用软件的编程,是伴随着计算机技术的飞速发展而诞生的一项新的开发技术。

随着个人电脑的日益普及、Java 功能在个人电脑上的实现,Java应用程序产生的单机增值服务逐渐体现出其影响力,对丰富人们的生活内容、愉悦身心、开发智力等起着不可忽视的作用。

该论文通过总结和分析JA V A 游戏的开发流程和代码框架的设计,开发了一款基于J2SE架构的游戏——坦克大战。

本设计采用面向对象的设计模式,对游戏中的所有物体赋予对象的概念和属性。

运行程序后允许用户选择执行选项菜单。

在开始游戏后,启动服务器和客户端,对背景的所有物体进行绘图。

在主程序运行的线程中,画面刷新将以一定的频率采用双缓冲技术对屏幕重绘,实时反映整个游戏的进行状态。

用户控制的坦克运行在主线程中,随屏幕刷新的频率而移动。

坦克将在游戏开始时进行初始化,然后将坦克绘制在地图的上层。

本设计主要实现的功能是让坦克能向八个方向移动,并且打出炮弹,子弹击中敌人坦克,子弹和敌人坦克同时消失,产生爆炸,CPU坦克能智能的移动并且打出炮弹。

能够支持网络对战和单机对战两种模式。

Java良好的跨平台特性在软件的开发中显示出了巨大的威力,“一次编写,随处运行”,java 系统可以运行在不同的操作系统和硬件上。

随着linux的持续增长以及MacOSX完全支持java技术,跨平台的特性变得越来越有分量。

由于免费、跨平台、java语言本身技术先进,在高校中,java已经成为许多学科研究、课程和计算的首选语言,用java做上机作业,一般都是鼓励的。

据我所知,北大、清华许多院系的研究生入学考试都可以用java语言答题。

实际上,用java来完成这些工作,大多数情况下要比用C或其他语言简洁得多,你可以把注意力集中在算法等核心部分,从而获得更高分数。

基于java的游戏坦克大战论文

基于java的游戏坦克大战论文

目录摘要 (I)ABSTRACT (II)第一章绪论 (1)1.1课题研究的背景 (1)1.2课题研究的任务 (1)第二章系统分析 (2)2.1课题的可行性分析 (2)2.2需求分析 (2)第三章系统总体设计 (3)3.1游戏总体流程设计 (3)3.2游戏界面设计 (4)第四章游戏详细设计 (6)4.1各个类的实现 (6)4.2程序的详细设计 (7)第五章测试 (9)5.1软件测试说明 (9)5.1.1 软件测试的目标 (9)5.1.2 软件测试的原则 (9)5.2测试计划 (10)5.2.1 进行通过测试 (10)5.2.2 进行有效类测试 (10)5.3测试用例 (10)总结 (10)参考文献 (11)致 (12)附录一坦克大战中的类 (15)附录二坦克大战程序 (31)毕业设计(论文)原创性声明和使用授权说明原创性声明本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。

作者签名:日期:学位论文原创性声明本人重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

坦克大战设计

坦克大战设计

湖北大学J A V A课程设计论文题目坦克大战游戏姓名张诚学号 ****************姓名柳谦学号 ****************专业年级计算机科学与技术1401 指导教师王雷春职称副教授2016年 5月目录绪论 (4)1背景 (4)2课程设计目标及目的 (5)2.1课程设计的目标 (5)2.2课程设计的目的 (5)2.3可行性分析 (5)2.3.1技术可行性 (5)2.3.2经济可行性分析 (6)3概要设计 (6)4详细设计 (7)4.1项目与类的结构图 (7)4.2 各类实现的功能概要 (7)4.2.1 barrier包 (7)4.2.2 lightButton包 (7)4.2.3 Tankwar包 (7)4.2.4 mapediter包 (8)4.3 主要类的的UML图及主要成员变量和函数说明 (8)4.3.1 Barrier类 (8)4.3.2 LightButton类 (11)4.3.3 Mapediter类 (13)4.3.4 Main类 (15)4.3.5 Boom类 (18)4.3.6 Item类 (18)4.3.7 Missle类 (21)4.3.8 PanelShow类 (25)4.3.9 Tank类 (26)4.3.10 TankWar 类 (33)5运行结果 (40)6总结 (47)7参考文献 (47)8附录 (48)坦克大战摘要坦克大战是一款最初由日本南梦宫Namco游戏公司1985年在任天堂FC平台上,推出的一款多方位平面射击游戏。

一经推出,人气十分高涨,然后又陆续推出了GB,PC等版本,玩法也大大扩充,由最初的单人2D过关演变到如今的多人3D联网对战游戏,我们小时候应该都体验过,之前C#课程中已经了解过有关信息,如今就想同样以Java为载体编写一款坦克大战。

本课题展示了如何使用Java编写出能够实际运行的单人版坦克大战游戏。

课题介绍了项目的功能、类的设计和逻辑难点等重要点。

JAVA坦克大战课程设计

JAVA坦克大战课程设计

JAVA坦克大战课程设计实验报告专业班级:计算机学号:201110000姓名:指导老师:JAVA坦克大战课程设计一、课程设计目的Java坦克大战程序设计的课程程序设计是我们学习完Java语言程序设计课程后,进行的一次全面的综合设计,其目的是加深对理论教学内容的理解和掌握,使学生综合运用.学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下基础。

二、课程设计的预备知识和实验环境熟悉Java语言以及eclipse开发工具,实验环境为JDK1.6。

三、课程设计的主要内容坦克大战游戏是在eclipse环境下编程的游戏,其中包括对主坦克的编写、坦克的初始位置的编写、坦克移动方向的编写、坦克的速度的编写、坦克子弹速度的编写、敌对坦克子弹速度的编写、敌对坦克的编写等等。

游戏主要实现的功能有:1.能够四处移动2.能够打击敌人3.敌人能够移动4.能够模拟爆炸5.能够产生障碍6.能够增长生命四、程序具体设计1.版本0.1~0.2实现的主要功能:产生一个不能修改大小的窗体,并实现关闭窗体的事件处理。

源代码如下:2.版本0.3~0.5实现的主要功能:画出代表坦克的同心圆;让坦克运动起来;使用双缓冲来消除坦克移动时的闪烁现象;利用代码重构将以后可能需要多处修改的量定义为常量,例如窗体的宽度和高度(常量名一般为大写)主要代码如下: public class TankClient extends Frame {int x = 50, y = 50;public void paint(Graphics g) {Color c = g.getColor();g.setColor(Color.RED);g.fillOval(x, y, 30, 30);g.setColor(c);y += 5;}使用paint 方法来画出坦克,并将坦克的位置设置成变量来实现坦克的移动。

p ublic void lauchFrame() {this.setLocation(400, 300);this.setSize(800, 600);this.setTitle("TankWar");this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}this.setResizable(false);this.setBackground(Color.GREEN);setVisible(true);new Thread(new PaintThread()).start();}public static void main(String[] args) {TankClient tc = new TankClient();uchFrame();}private class PaintThread implements Runnable {public void run() {while(true) {repaint();try {Thread.sleep(100);} catch (InterruptedException e) {e.printStackTrace();}}}}使用update来实现双缓冲结局移动时的闪烁问题public void update(Graphics g) {if(offScreenImage == null) {offScreenImage = this.createImage(GAME_WIDTH, GAME_HEIGHT);}Graphics gOffScreen = offScreenImage.getGraphics();Color c = gOffScreen.getColor();gOffScreen.setColor(Color.GREEN);gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT);gOffScreen.setColor(c);paint(gOffScreen);g.drawImage(offScreenImage, 0, 0, null);}在lauchFrame方法中启动线程,来实现坦克的移动,并加入sleep方法使移动出现延时。

基于Java的坦克大战游戏的设计与实现毕业设计论文

基于Java的坦克大战游戏的设计与实现毕业设计论文

基于Java的坦克大战游戏的设计与实现摘要:随着人们对生活质量的要求一天比一天高,为了让人们更好地开掘自身的智慧,游戏就此进入了大众的视野,在人们的生活中有着重要的位置,已然变得必不可少。

游戏产业推动高新技术不断升级,极大地促进了经济的增长,推动了“第四产业”的经济腾飞。

坦克大战游戏是童年时期经常玩的经典游戏,我们对它都十分了解。

游戏通过分析JA V A游戏开发和代码设计,用Eclipse软件开发了坦克大战游戏,运用接口技术,使一个类能够实现多个接口,使用套接字Socket 来完成client端和server端的连接。

玩家通过连接访问进入游戏,通过操纵坦克来守卫基地,玩家还可以获得超级武器来提升坦克的属性,摧毁全部敌方坦克来取得胜利,操作非常简单,还具有非常高的普遍率,适合所有人群玩。

该游戏既满足了人们的个性化需求,也让玩家在游戏过程中丢掉烦恼,尽情地释放压力。

关键词:Java 坦克大战游戏SocketThe Design and Implementation of The Java Based Tank War GameAbstract:As people demand higher quality of life every day, in order to make people better dig their own wisdom, the game into the public vision, in people's lives have a vital position, has become an indispensable part. The game industry to promote the upgrading of high-tech, which greatly promoted the economic growth, and promote the "fourth industry" economic take-off. Tank war game is often played in childhood, but also the classic game. Game through the analysis of JA V A game development and code design, with Eclipse software developed a tank war game, the use of interface technology, so that a class can achieve multiple interfaces, the use of socket Socket to complete client and server side of the connection. Players access the game through the connection, through the manipulation of tanks to guard the base, the eradication of all enemy tanks to win, players can also get super weapons to enhance the properties of the tank, the operation is very simple, suitable for people of all ages to play. The game not only meets the individual needs of people, but also allows players to lose trouble in the course of the game, enjoy the pressure to release.Key words: Java; Tank war game; SocketII目录1.引言 (1)2.系统分析 (1)2.1需求和技术分析 (1)2.2功能分析 (2)3.总体设计 (2)3.1总体功能 (2)3.2坦克大战总体流程图 (4)4.详细设计 (5)4.1面板功能设计 (5)4.2子弹功能设计 (8)4.3坦克功能设计 (9)4.4服务器设计 (10)4.5客户端设计 (13)5. 游戏测试 (15)5.1测试方法 (15)5.2系统测试 (15)5.3测试分析和小结 (17)6.结论 (18)参考文献 (18)1.引言随着社会和时代的进步,来自各个方面的压力让人没精打采,为了分解人们的压力,休养那变得疲顿的头脑和劳累的身心,特设计了坦克大战小游戏,游戏操作非常容易,只要将手指放在键盘上敲击相关的游戏键就可以玩,在玩游戏的过程中能够体验现实生活中没有的快乐,既有利于身心健康,又不会影响工作和学习。

Flash游戏制作——坦克大战毕业论文

Flash游戏制作——坦克大战毕业论文

毕业设计(论文)课题名称:Flash游戏制作——坦克大战学院:软件学院专业:信息工程班级:081131二零一二年四月摘要flash游戏是一种新兴起的游戏形式,以游戏简单,操作方便,绿色,无需安装,文件体积小等优点现在渐渐被广大网友喜爱。

由于flash游戏主要应用于一些趣味化的、小型的游戏之上,以完全发挥它基于矢量图的优势。

flash游戏因为Flash CS 3和ActionScript 3。

0的原因,在近年发展迅速,许多年青人投身其中,并在整个flash行业中发挥重要作用。

flash player占据了90%互联网用户的浏览器,所以发的发展空间还十分巨大,前途不可估量。

制作游戏的初衷是因为在当今人们的工作很繁琐枯燥,在闲暇时能玩玩一些小游戏来放松自己。

本游戏运用了Flash基本知识与精巧的算法还原了90年代的经典游戏——坦克大战,由于是Flash游戏,在进网页浏览时要尽可能的减少游戏加载速度和提高游戏运行速度,所以游戏模型采取了最简单的矢量图绘制而成,放弃了色彩比较丰富的位图,整个游戏作品仅22KB大小,与静态网页的大小相差无几,完全满足一般网络带宽的加载需求。

游戏算法方面采用了面向对象程序设计,面向对象的编程引进了类的概念,在本文中重点介绍了类的使用方法。

游戏中每一个游戏元素都采用不同的类进行了封装,代码采用最新Flash CS 4。

0中的ActionScript3。

0,在AS3。

0中每个类的脚本代码都用一个独立的*。

as文件保存,在游戏中每一个元素都是一个独立的类,比如子弹类实现了子弹检测是否击中敌人的功能、玩家控制的坦克类实现了玩家坦克上下左右移动和射击的功能、敌军坦克类实现敌人自主移动和射击的简单人工智能功能等等,这些都体现了类的封装概念,让设计者更加轻松、读者更加易懂。

关键词: flash;碰撞;射击;移动目录第1章绪论 (1)1。

1 Flash软件简介 (1)1。

2 Flash的特点 (1)1。

基于某java坦克大战课程设计

基于某java坦克大战课程设计

摘要面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,它吸取了结构化程序设计的精华,以更接近人们通常思维的方式来处理问题,是一种全新的软件开发技术。

作为一种新的的编程语言,Java很大程度推广了面向对象的思想。

随着计算机技术的发展,Java的强大展现出它不可替代的作用。

Java的功能不仅体现在它网络方面的应用,对于应用程序设计、游戏设计等Java都能满足需求。

本文针对Java 的具体应用,设计了一个小游戏。

根据游戏的规则,用户将可以和计算机进行简单对战。

程序实现了友好的用户交互界面,让用户能很好地对游戏进行操作。

关键字:JAVA GUI 游戏ABSTRACTThe Object-Oriented Method is a method which apllies the Object-Oriented Design to the process of the software exploiture and directs the ploy of development. It extracts the prime of the Structured Design for Computer Programmers, deals matters with afolksy fashion, which is considered to be a grand new software-develop technique.As a new programming language, Java spread the Object-Oriented Design in a certain degree. With the development of the technique of computer, the insurmountable function of JAVA is exhibited for its’ mightiness. Not only applies in network, JAVA also can fulfill the requirement of the Application-Design and Game-Design.In this paper, to use the idiographic application of JAVA , I design a game called . Following the regular of the game, user can play a simple revalry with computer. This programme actualizes a folksy GUI mode, which will make user master game easily.Keywords: JAVA GUI Game目录一、背景与意义.................................................. - 1-二、坦克大战小游戏应用程序 (2)三、坦克大战小游戏系统的设计 (2)3.1系统需求分析 (2)3.2系统开发及运行环境 (2)3.3系统主要功能要求 (3)3.4坦克大战系统总体结构 (3)3.5系统数据流图 (4)四、设计原理及方案 (4)五、系统具体实现 (6)六、详细设计过程与算法实现 (8)七、程序运行结果截图 (16)八、总结 (20)九、参考文献 (21)一、背景与意义1背景游戏是全球最大的娱乐经济项目之一,已经被命名为“第九艺术”。

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

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

《程序设计应用基础》课程设计计划书坦克大战游戏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 主函数及其流程图主函数包括打印地图,实现游戏内置调节游戏速度的功能,判断坦克类型,判断敌我坦克是否存活,判断游戏胜负。

坦克大战开发毕业设计(论文)

坦克大战开发毕业设计(论文)

毕业设计(论文)坦克大战开发摘要进入新世纪以来,计算机游戏业蓬勃发展,已成为新世纪最热门的专业。

坦克大战是一款非常经典。

风靡全球,经久不衰的游戏。

1985年推出的坦克大战(Battle City)由13×13大小的地图组成,地形包括砖墙、海水、钢板、森林、地板5种,玩家作为坦克军团仅存的一支精锐部队的指挥官,为了保卫基地不被摧毁而展开战斗。

游戏以其出色的游戏性感染的一代又一代的玩家。

本程序主要由C#编写。

本文的坦克大战有完整的界面,能够实现人机大战,。

而且坦克大战剧情非常简单,游戏的主角在保护好城堡的前提下,消灭所有的敌人,所以非常容易上手。

本论文第一章是介绍国内外的游戏发展状况,第二章介绍坦克大战的总体设计,第三章是游戏涉及的技术问题,最后总结。

关键词:坦克大战;游戏;技术;代码第一章游戏的背景相信喜欢玩游戏的朋友都是从玩最初的“小霸王”,超级玛丽,坦克大战,等等一系列经典的小游戏开始,然后就是三国志之类的大型一点的,到现在的电脑游戏,单机游戏,到网络游戏,这么一个过程,游戏其实已经不知不觉的进入了我们的生活。

电脑游戏在当今,已经十分普遍了,游戏玩家也比较多。

特别是网络游戏,因为其剧情的有趣性,游戏画面的美观,招式的华丽,等一系列原因,吸引了不少游戏玩家,特别是3D网游的推出,使得网络游戏发展进入了一个新时期。

游戏是怎么发展起来的?国内外游戏的发展情况是什么样的呢?下面将会给你答案。

真正的电子游戏机产生于20世纪70年代。

1971年麻省理工学院的学生Nolan Bushnell设计了世界上第一个业务用游戏机(俗名街机),叫做《电脑空间》(Computer Space)。

《电脑空间》的主题是两个玩家各自控制一艘太空战舰围绕这具有强大引力的星球向对方发射导弹进行攻击。

两艘战舰在战斗的同时还必须注意克服引力,无论是被对方的导弹击中还是没有成功摆脱引力,飞船都会坠毁。

这台游戏机用一台黑白电视作为显示屏,用一个控制柄作为操作器,不过由于市场因素这款游戏以失败告终。

坦克大战 毕业设计报告

坦克大战 毕业设计报告

本科毕业设计(论文)题目基于jsp的坦克大战游戏的设计与实现学院名称信息学院专业班级计科(高职)10-1学生姓名郭建建导师姓名贾瑞祥二○一四年五月二十八日齐鲁工业大学本科毕业设计(论文)原创性声明本人郑重声明:所呈交的毕业设计(论文),是本人在指导教师的指导下独立研究、撰写的成果。

设计(论文)中引用他人的文献、数据、图件、资料,均已在设计(论文)中加以说明,除此之外,本设计(论文)不含任何其他个人或集体已经发表或撰写的成果作品。

对本文研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示了谢意。

本声明的法律结果由本人承担。

毕业设计(论文)作者签名:年月日齐鲁工业大学关于毕业设计(论文)使用授权的说明本毕业设计(论文)作者完全了解学校有关保留、使用毕业设计(论文)的规定,即:学校有权保留、送交设计(论文)的复印件,允许设计(论文)被查阅和借阅,学校可以公布设计(论文)的全部或部分内容,可以采用影印、扫描等复制手段保存本设计(论文)。

指导教师签名:毕业设计(论文)作者签名:年月日年月日目录摘要 (3)ABSTRACT (IV)第一章绪论 (5)1.1 课题背景和意义 (5)1.2国内外游戏发展状况 (5)1.2.1与欧美对比 (5)1.2.2 与韩国对比 (5)1.2.3 与日本对比 (5)1.2.4 我国国内的发展状况 (6)1.3章节安排 (7)第二章开发技术概述 (8)2.1 系统运行环境 (8)2.2 JA V A语言的特点 (8)2.3 关于JSP (9)2.4本章小结 (10)第三章游戏设计的原理及技术 (11)3.1游戏概述 (11)3.1.1游戏概念 (11)3.1.2游戏类型 (11)3.1.3游戏的市场与需求 (12)3.2游戏设计相关技术 (12)3.2.2 OPENGL (12)第四章系统设计 (14)4.1系统需求分析 (14)4.2 系统总体设计 ................................................ 错误!未定义书签。

课程设计报告--坦克大战

课程设计报告--坦克大战

目录一.问题定义 (1)1. 项目名称 (1)2. 项目目标 (1)3. 选题背景 (1)二.可行性研究 (1)1.技术可行性 (1)2. 经济可行性 (1)3. 操作可行性 (1)三.需求分析 (2)1. 游戏内容需求 (2)2. 游戏规则 (3)四.游戏设计 (3)1. 类的设计 (3)2. 游戏流程 (4)1. 主流程 (4)2. 游戏初始化 (5)3. 游戏运行 (6)3. 游戏序列图 (14)游戏初始化 (14)键盘按下事件 (15)游戏运行 (15)玩家坦克处理 (16)电脑坦克处理 (17)炮弹碰撞处理 (19)坦克碰撞处理 (19)游戏结束 (20)五.游戏代码 (21)CGameMain类 (21)CTankPlayer类 (32)CTankEnemy类 (36)CBullet类 (42)CWeapon类 (49)六.实验总结 (53)一.问题定义1.项目名称坦克大战2.项目目标综合运用C++及其面向对象的知识开发一款小游戏。

3.选题背景相信大部分同学都玩过或看过“坦克大战”这款经典游戏。

现在,就由我自己动手来开发它。

因为之前的学习,我具备了C++语言和面向对象的基础知识,在这个基础上按照实验指南的指导一步一步进行下去,把这款经典游戏做出来。

巩固之前所学知识也学习新的知识。

二.可行性研究1.技术可行性本游戏采用 FunCode和Visual C++6.0进行开发,基于Windows xp和Windows7操作系统。

Funcode软件提供了大量基础类库,可以快速方便地构造出游戏软件。

之前课程学习过C++,具有一定的C++语言开发基础,对面向程序设计有一定了解。

2.经济可行性此次课程设计由我一人完成,只需装有Funcode及Visual C++的电脑一台,无资金需求;且制作出来的游戏软件并不打算发行,也无后期资金需求,经济完全可行。

3.操作可行性本游戏只需用W、A、S、D来移动,用J键进行攻击,操作十分简单,界面友好,符合用户操作习惯。

坦克大战论文(正式)

坦克大战论文(正式)

基于Unity3D的坦克大战游戏目录第1章绪论 (1)1.1选题背景及意义 (1)1.2 发展现状 (2)1.3 研究的主要容与方法 (2)1.4 文档结构安排 (2)第2章系统分析与设计 (4)2.1用户需求分析 (4)2.2 游戏规则 (4)2.3 美工需求 (4)2.4 功能需求 (5)第3章系统实现 (6)3.1主角 (6)3.2 敌方坦克 (6)3.3 子弹6第4章系统测试 (7)4.1测试要点 (7)4.2测试时间、地点、人员 (7)4.3测试环境描述 (7)4.4功能测试执行情况8第5章结束语 (9)5.1总结 (9)5.2 不足及展望第1章绪论1.1选题背景及意义游戏软件业是一个新兴行业,存在着巨大的生存和发展空间,同时它也是一个存在社会争议的行业。

游戏的完整定义可以归纳为:一种由道具和规则构建而成、由人主动参与、有明确目标、在进行过程中包含竞争且富于变化的以娱乐为目的的活动,它与现实世界相互联系而又相互独立,能够体现人们之间的共同经验,能够体现平等与自由的精神。

游戏产业准确地讲应该叫做电子娱乐业,是指基于电子技术、计算机技术、软件技术、网络技术和无线技术的新型娱乐产业,分为单机游戏、网络游戏和无线游戏等几个部分。

电子游戏业从诞生至今已经有几十年的时间,可仅仅在这短短的几十年的时间里,它却在发达国家的经济发展中发挥了显著的作用。

游戏软件业从诞生到现在,历经几代的发展,已进入了一个非常成熟的时期。

对于我国而言,游戏软件业也有快速的发展,但是因为很多原因阻碍了这个产业的发展,如游戏软件研发人才缺乏,软件开发投入不足;对青少年的负面影响,一些不健康的游戏软件导致了社会对游戏软件的偏见;技术滞后等情况。

坦克大战游戏是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。

它看似简单但却变化无穷,令人上瘾。

相信大多数用户都还记得为它痴迷得茶不思饭不想的那个坦克大战时代。

坦克大战设计与实现

坦克大战设计与实现

目录1 绪论 (1)1.1 国内外单机游戏的研究现状 (1)1.2 研究意义 (2)2 开发环境和相关技术的介绍 (2)2.1 开发环境 (2)2.2 Java的特点 (3)2.3 关于Eclipse (5)3 系统的分析 (6)3.1可行性分析 (6)3.2需求分析 (7)4 系统功能及相关技术 (7)4.1 游戏功能 (7)4.2 游戏规则 (7)4.3 游戏界面和操作方式 (8)4.4 本程序需解决的有关技术问题 (8)4.5 相关技术的介绍 (9)4.5.1 关于JFrame (9)4.5.2 绘图技术 (9)4.5.3 事件监听机制 (10)4.5.4 关于多线程 (11)5 系统的总体设计 (12)5.1 TankWarClient.java (12)5.2 Tank.java (12)5.3 Bullet.java (13)5.4 Explode.java (13)5.5 Missile.java (13)5.6 Wall.java (13)5.7 Direction.java (14)6 系统的详细设计与实现 (14)6.1 游戏窗口与我的坦克 (14)6.1.1 窗口 (14)6.1.2 面板中加入坦克 (15)6.1.3 让坦克动起来 (17)6.2 坦克作战 (18)6.2.1 添加子弹、超级子弹类 (18)6.2.2 打出子弹 (19)6.2.3 将敌人坦克击毙 (19)6.2.4 爆炸效果 (20)6.3 系统优化 (20)6.4 坦克大战系统炮弹功能测试 (22)6.4.1 按CTRL打炮弹的测试 (22)6.4.2 功能测试图 (22)7 总结 (23)附录 (24)参考文献 (51)致谢 (52)1 绪论1.1 国内外单机游戏的研究现状近年来,因特网在国内迅速普及,导致了网络游戏的高速发展。

单机游戏市场呈现爆炸式的发展。

尤其是国内外巨大的个人电脑拥有量,更是让商家看到了商机,手机游戏市场利润将会十分丰厚。

c++开发的坦克大战

c++开发的坦克大战

本科生毕业论文(设计)坦克大战设计与研发题目:坦克大战设计与研发学生姓名: XX XX学号: XXXXXXXXXXXX专业班级: XXXXXXXXXXXXXXXX指导教师:完成时间:目录摘要 (I)Abstract (II)引言 (1)第一章绪论 (2)1.1系统开发背景 (2)1.2 任天堂和Battle City背景介绍 (3)1.3 本系统的现实意义 (4)第二章开发环境及相关技术的介绍 (5)2.1开发环境 (5)2.2 C++特点 (5)2.3 HGE引擎简介 (7)2.4 DirectX的特色 (10)第三章系统设计 (14)3.1坦克大战主要游戏规则 (14)3.3 系统详细设计 (17)3.4游戏中的碰撞检测 (22)3.5游戏 AI (24)3.6本游戏AI (26)第四章系统调试与运行 (28)4.1系统调试 (28)4.2系统测试 (28)4.3游戏截图 (28)第五章结论 (30)5.1 本程序的总结和展望 (30)5.2 经验和感想 (30)参考文献 (31)致谢 (32)附录 (33)摘要进入新的世纪以来,计算机游戏产业蓬勃发展,已经成为新世纪最热门的专业。

坦克大战是一款非常经典游戏,风靡全球,经久不衰,是学习面向对象的编程思想的理想实例。

现在面向对象的计算机编程语言很多,都可以编程来实现。

本文通过对一个坦克大战游戏的开发了解了整个游戏开发的过程。

本文详细阐述了系统分析、需求分析、概要设计、详细设计、系统实现等软件开发过程。

力求将所学到的知识在系统开发中得以全面的应用,并使系统在实际的操作中能按照设计的要求安全有效正确的运行。

本文的坦克大战有完整的界面,能够实现人机大战。

而且坦克大战游戏剧情非常简单,游戏的主角在保护好城堡的前提下,消灭所有的敌人,所以非常容易上手。

但剧情简单并不代表过关简单。

本文用到了碰撞算法,以及敌人坦克的智能控制。

本程序是用VC++编写的,拥有人机交互界面。

java课程设计-坦克大战

java课程设计-坦克大战

攀枝花学院学生课程设计(论文)题目:基于JAVA的坦克大战学生姓名:学号:所在院(系):计算机学院专业:计算机科学与技术班级:指导教师:职称:2011年5 月26 日攀枝花学院教务JAVA课程设计之坦克大战课程设计任务书攀枝花学院本科学生课程设计任务书注:任务书由指导教师填JAVA课程设计之坦克大战成绩评定表课程设计(论文)指导教师成绩评定表JAVA课程设计之坦克大战摘要摘要系统拥有可视化的登录界面,配有游戏帮助文档,程序的编写涵盖J2SE基础知识,包括典型的封装、继承、多态的实现,同时结合了socket网络编程、GUI图形用户界面的相关知识。

项目集成了单机个人、网络对战两个版本。

单机版实现精彩的人机对战,电脑间隔性产生敌方坦克,玩家通过血块持续攻击。

游戏进行了后门设计,玩家可以轻松穿越墙体攻击敌方坦克。

网络版游戏中作为服务器的主机需提前启动坦克服务器,服务器主线程将接收的客户端的数据包转发到其他客户端,实现客户端游戏界面的实时更新。

开始游戏后,主线程调用窗体对象的Paint方法进行绘图,画面采用双缓冲技术进行刷新。

坦克将在游戏开始时进行初始化,并随屏幕刷新的频率而移动。

关键字坦克大战,C/S网络体系,JAVA,Socket编程,GUI目录摘要 (Ⅰ)1 可行性研究 (1)1.1 可行性分析 (1)1.1.1 系统可行性 (1)1.1.2 技术可行性 (1)1.1.3 经济可行性 (1)1.1.4 操作可行性 (2)1.2 网络游戏的发展 (2)1.3 系统的现实意义 (2)1.4 系统特点 (2)1.5 Java、C语言、C++主流技术比较 (3)1.6 本章小结 (3)2 系统需求分析 (4)2.1 系统运行环境 (4)2.1.1 系统运行的软件环境 (4)2.1.2 系统运行的硬件环境 (4)2.2 相关理论 (4)2.2.1 关于Eclipse的介绍 (4)2.2.2 J2SE框架 (5)2.3 系统功能需求 (6)2.3.1 主界面人性化功能 (6)2.3.2 人机对战模式功能 (6)2.3.3 网络对战模式功能 (6)2.3.4 联机通信机制 (6)2.3.5 Java图形编程 (7)2.4 本章小结 (8)3 系统概要设计 (9)3.1系统功能设计 (9)3.1.1 坦克大战总体功能设计 (9)3.1.2 TankClient类基本功能分析 (10)3.1.3 Tank类基本功能分析 (11)3.1.4 Missile类基本功能分析 (12)3.1.5 Explode类基本功能分析 (12)3.1.6 服务器类基本功能分析 (13)3.1.7 信息传送类基本功能分析 (13)3.2 本章小结 (13)4 系统详细设计 (14)4.1 游戏主窗体实现 (14)4.2 单机游戏的实现 (15)4.3 联机功能实现 (18)4.4 网络模式主要代码 (22)4.5 本章小结 (25)5 结论 (26)5.1 课程设计总结 (26)5.2 本程序需解决的有关技术问题 (26)5.3 展望 (27)参考文献 (28)1 可行性研究1.1可行性分析1.1.1系统可行性人类进入21世纪,全球一体化,互联网就起到重要的作用,而且随着互联网的不断发展,信息技术逐渐发展壮大,将成为网络经济的核心。

基于java的游戏坦克大战论文

基于java的游戏坦克大战论文

目录1251第一章绪论课题研究的背景如今我们的生活节奏越来越快,每个人的生活压力也在不断变大,长期紧绷着神经容易产生心理和生理上的双重伤害,人们需要在工作和学习之外放松自己,玩玩游戏正是放松自己的方式之一。

坦克大战,一个众所周知的小游戏,曾经在红白机时代风靡一时。

其界面简单,耐玩,关卡多,可玩性高,没有局限的年龄层。

Java是现在全球最时髦的开发工具之一,它拥有庞大且完善的类库,内置了其他语言需要靠库甚至是操作系统才能支持的功能,拥有一个虚拟机,总之,Java 的出现,确实给整个程序界带来了巨大的冲击,也许现在还无法准确评估Java为整个IT业带来的影响,但是有一点毋庸置疑—Java将不可避免的影响一带程序员。

使用Java作为开发工具,来做坦克大战这个小游戏,是一种很理性的选择。

Java游戏可以在本地桌面系统下运行,也可以在Web浏览器下运行。

我在大学四年中学到了很多计算机的知识,JAVA语言,软件工程,数据结构,软件工程等课程。

如今我将用我所学的知识来完成一个坦克大战游戏,来锻炼自己的动手能力,独立作出一个小程序。

课题研究的任务本文中所做的主要工作如下:(1)介绍了制作坦克大战游戏的意义和目的。

(2)设计坦克大战游戏各个类,实现各类效果和目标。

(3)分析并解决游戏中的若干技术问题。

(4)完成坦克大战游戏,进行测试并分析结果.第二章系统分析课题的可行性分析1、课题要求(1)与实践活动和相关的文件和资料由教师提供。

(3)具体问题再做详细调查研究并与指导老师面谈。

2、可行性分析技术可行性:游戏对机器没有多大要求,现在无论什么电脑,只要能安装J2SDK,就能在电脑上开发这款游戏。

制作出来的游戏可以在本地桌面运行,也可在WEB上运行,现在JAVA语言非常成熟,完全能够完成这个游戏。

经济可行性:开发这个游戏除了耗费自己的时间和精力以外,不需要其他的资金问题,完成后放到网上开放下载,无需任何费用,有兴趣的人可以自己下载来玩。

坦克大战小游戏程序设计

坦克大战小游戏程序设计

目录第1章课程设计的目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计主要内容 (1)第2章课程设计内容 (2)2.1 需求分析 (2)2.2 程序具体设计 (2)2.3 类的介绍 (6)2.3.1 Direction 类 (6)2.3.2 River类 (6)2.3.3 Home类 (6)2.3.4 Tree类 (7)2.3.5 Bullets类 (7)2.3.6 GetBlood类 (8)2.3.7 CommonWall类 (9)2.3.8 MetalWall类 (9)2.3.9 BombTank类 (10)2.3.10 Tank类 (10)2.3.11 TankClient类 (12)2.3.12 主要方法和变量 (12)2.4 程序流程逻辑图 (13)第3章系统的功能测试与调整 (14)3.1菜单项测试 (14)3.2游戏信息测试 (16)3.3快捷键的测试 (19)3.4游戏级别的设置 (22)参考文献 (24)第1章课程设计的目的与要求1.1 课程设计目的《JAVA面性对象程序设计》是电子商务专业的必修专业基础课程,其实践性、应用性很强。

实践教学环节是必不可少的一个重要环节。

本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA面性对象程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。

JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。

1.3 课程设计的预备知识熟悉JAVA语言以及ECLIPSE开发工具。

1.4 课程设计主要内容坦克大战游戏是在Eclipse环境下编程的游戏,其中包括对主战坦克的编写、坦克的初始位置的编写、坦克的移动方向的编写、坦克的速度的编写、坦克的子弹速度的编写、敌军的子弹速度的编写、设置游戏难度的编写、子弹的编写、敌军坦克的编写、构造函数的编写等等。

C#版坦克大战

C#版坦克大战
目录
第 一 章 引言............................................................................................................3 1.1 C#语言的介绍.............................................................................................3 1.2 .Net FrameWork 简介...............................................................................3
} else
5
{ tanks.Add(new Tank(g, new Point(575, 1), new Size(24,
24), new string[] { "tanks\\eptank" + r + "1.bmp", "tanks\\eptank" + r + "2.bmp", "tanks\\eptank" + r + "3.bmp", "tanks\\eptank" + r + "4.bmp" }, 6, 6, Direction.DOWN, tbullets));
private void CleanBombs() {
for (int i = bombs.Count - 1; i >= 0; i--) {
bombs[i].LiveRun(); if (!bombs[i].Islife) {
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

坦克大战游戏设计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构建游戏主类在主类中构造一个主Frame框架,设置它的大小和位置,并将其显示。

在主类中编写一段代码,构造一个窗口。

并添加窗口关闭的处理事件,将窗口设置成打小不可变。

主要代码如下:this.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}});this.setResizable(false);2.2.2构建坦克类Tank构造主窗口中所需要的Tank类,并将坦克加到窗口中,实现坦克的四个方向的移动创建一个坦克类,用画图工具构造出简单的图形代表坦克,并将坦克加入到主窗口当中。

主要代码如下:abstract class Tank{boolean init=false; //第一次画时将图片载入内存static final Toolkit TLK=Toolkit.getDefaultToolkit(); //用来将图片读入Image数组public static Image[] turretImg={TLK.getImage(Tank.class.getClassLoader().getResource("I mage/Tank/turret1.png")),TLK.getImage(Tank.class.getClassLoader().getResource("I mage/Tank/turret2.png"))};BufferedImage bTurretImg=null;Graphics2D g2=null;AffineTransform trans=new AffineTransform();public static final int SHOTSCOUNT=5; //同时可发射的子弹数int shotsCount=0; //已经发射的子弹数public static final int TANKSPEED=5; //Tank移动速度public static final int TANKWIDTH=36; //Tank的尺寸public static final int TANKHEIGHT=38;public static enum TANK_DIR {U,D,L,R,STOP};TANK_DIR tankDir; //Tank主体的方向TANK_DIR moveDir; //Tank的运动方向boolean camp; //Tank的阵营boolean isNPC; //是否是有电脑控制的机器人Tankboolean isLive=true; //Tank是否存活int x,y; //Tank主体的中心点坐标int oldx,oldy; //存储Tank前一步的坐标int turretDirx, turretDiry; //大炮端点的坐标public static final int TURRETLENGTH=30; //炮筒的长度double oldAngel=0;double nowAngel;double turnAngel;TankClient tc=null; //主界面类的引用Bomb tankBomb=null;HitPoint tankHitPoint; //Tank的生命值static Random rn=new Random(); //随机数发生器让坦克朝四个方向运动起来,在主类TankClient中启用多线程机制,让系统不断的进行重画。

class RepaintThread implements Runnable //画面重画线程{public void run(){while(repaintFlag){try{repaint();ut.move(); //Tank定时移动Shot tcShots=null;for(int i=0;i<shotsList.size();i++) //界面上的子弹定时移动{tcShots=shotsList.get(i);tcShots.move();}Thread.sleep(33);} catch (InterruptedException e){e.printStackTrace();System.exit(-1);}}}}class RobotTanksThread implements Runnable //机器人Tank 的行动线程{TankClient tc;public RobotTanksThread(TankClient tc){this.tc=tc;}public void run(){Tank tcTanks=null;int count=-1;while(repaintFlag){if(0==count) //电脑Tank全灭后重新加几辆{//RobotTank.add(1,false,RobotTank.RTANKTYPE.BOSS,tc) ;RobotTank.add(2,false,RobotTank.RTANKTYPE.SPE,tc);}try{count=0;for(int i=0;i<tanksList.size();i++){tcTanks=tanksList.get(i);if(!tcTanks.camp) { count++; }if(!tcTanks.isNPC||!tcTanks.isLive) { continue; } //不控制玩家的Tank((RobotTank)tcTanks).autoAction(); //自主行动}Thread.sleep(38);} catch (InterruptedException e){e.printStackTrace();System.exit(-1);}}}}根据坦克类修改TankClient主类,在主类中注册事件监听器,并调用Tank类中的方法:class TankMoveLis extends KeyAdapter //玩家Tank按键监听者{public void keyPressed(KeyEvent e){if(ut.isLive){ut.keyDispose(e.getKeyCode(),true);}}public void keyReleased(KeyEvent e){if(ut.isLive){ut.keyDispose(e.getKeyCode(),false);}else{if(e.getKeyCode()==KeyEvent.VK_F2){ut.rebirth(); //复活}}}}class MouseMoveLis extends MouseMotionAdapter //鼠标移动监听者{public void mouseMoved(MouseEvent e){if(ut.isLive){mousePoint=e.getPoint();ut.setTurretDir(mousePoint); //根据鼠标位置更新炮筒方向}}}在Tank类当中添加的按键方法,代码如下public void keyDispose(int Key,boolean b) //对用户按键的处理{if(b) //有键按下{switch(Key){case KeyEvent.VK_UP:case KeyEvent.VK_W:{keyList.remove(TANK_DIR.U);keyList.add(TANK_DIR.U);}break;case KeyEvent.VK_DOWN:case KeyEvent.VK_S:{keyList.remove(TANK_DIR.D);keyList.add(TANK_DIR.D);}break;case KeyEvent.VK_LEFT:case KeyEvent.VK_A:{keyList.remove(TANK_DIR.L);keyList.add(TANK_DIR.L);}break;case KeyEvent.VK_RIGHT:case KeyEvent.VK_D:{keyList.remove(TANK_DIR.R);keyList.add(TANK_DIR.R);}break;case KeyEvent.VK_SPACE:{this.superFire();}break;default:break;}}else //有键抬起{switch(Key){case KeyEvent.VK_UP:caseKeyEvent.VK_W:{ keyList.remove(TANK_DIR.U); }break;case KeyEvent.VK_DOWN:caseKeyEvent.VK_S:{ keyList.remove(TANK_DIR.D); }break;case KeyEvent.VK_LEFT:caseKeyEvent.VK_A:{ keyList.remove(TANK_DIR.L); }break;case KeyEvent.VK_RIGHT:caseKeyEvent.VK_D:{ keyList.remove(TANK_DIR.R); }break;default:break;}}if(keyList.size()==0) { keyList.add(TANK_DIR.STOP); }super.setMoveDir(keyList.get(keyList.size()-1));}2.2.3添加炮弹Shot类在Shot类当中添加x,y,dir等属性以及常量。

相关文档
最新文档