坦克大战课设报告.docxVIP

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
坦克大战课设报告

《Java程序设计》课程设计报告题 目: 坦克大战 学 院: 计算机科学与工程学院 专 业: 软件工程 学生姓名: 李智明 学 号: 0900350117 指导教师: 汪华登 2011年 6 月 30 日目 录(空两行)1.前言12.需求分析13.概要设计14.详细设计15.测试16.总结1参考文献2附录2前言 简单介绍项目,确定系统目标。坦克大战游戏是在Eclipse环境下编程的游戏,其中包括对主战坦克的编写、坦克的初始位置的编写、坦克的移动方向的编写、坦克的速度的编写、坦克的子弹速度的编写、敌军的子弹速度的编写、设置游戏难度的编写、子弹的编写、敌军坦克的编写、构造函数的编写,初始化敌军坦克的位置和状态的编写、键盘控制坦克的移动的编写、发弹的编写、判断是否被击中的编写、判断是否击中敌军的编写等。通过上下左右键进行对坦克的移动,通过空格发射子弹,其它坦克可以随机移动。构造主窗口中所需要的类,并将坦克加到窗口中,实现坦克的四个方向的移动并创建炮弹类,并让屏幕中的坦克能发射炮弹,让坦克可以朝对方开火,并将对方击毙。需求分析对问题的详细描述,包括:你要解决一个什么样的问题,这个问题给你提出了什么样的要求,哪些要求是很明确的,哪些要求是自己认为可能会出现的;在你解决的问题中都出现了哪些对象,这些对象之间有怎样的关系,这些对象相互作用是否完全反映了问题的需求;都有哪些系统外的人或事物来使用这个系统,它们会怎样使用它;以及其它你认为重要的事情。坦克大战这个小游戏,最主要的就是不停地重绘,通过重绘达到坦克及子弹的移动的效果,我的坦克通过进行按键事件响应,引起重绘,敌人的坦克通过线程控制,用随机数控制敌人坦克的移动方向,通过线程控制敌人的子弹的产生及移动,所以应该解决重绘和线程控制问题,敌人的产生及移动,敌人子弹的产生及移动,我的坦克的移动,我的子弹的移动,子弹打中坦克时坦克爆炸事件。通过反复研究以及市场调查,得知游戏须具有以下功能:需要有图形游戏界面,让用户能看到游戏给出的反馈不同队伍的坦克,须显示不同外观,已分辨敌我坦克能够开火,攻击敌方,但不能攻击队友需要有不可被子弹穿透的墙,且墙有可摧毁和不可摧毁两种游戏结束时须判断哪一队胜利游戏结束后可重新开始游戏的操作、进度等须提供相应说明,以告知玩家概要设计 定义一个坦克的父类Tanke,继承自Jpanel敌人和我的坦克从这个类继承,MyTank类是用来定义主战坦克的类,其继承父类为Tanke,然后定义坦克的初始位置以及坦克的移动方向,让坦克朝四个方向运动起来。在jiamian类当中添加按键的方法,键盘控制坦克的移动和发弹中,用public公共类创建keyPressed方法,当中添加x,y,dy,dx等属性以及常量和构造方法,让主战坦克打出炮弹。在MyTank类当中增加对回车键的处理,使每按下回车键的时候,坦克打出一发炮弹。每次move之后根据MyTank的新方向确定炮筒的方向。为了能够打出多发炮弹,使用容器填装多发炮弹,每当抬起空格键的时候就往容器中加入新的炮弹。其中创建keyPressed方法如下:public void keyPressed(KeyEvent e) {color ++ ;if(e.getKeyCode() == KeyEvent.VK_UP) {op = 1 ;y = y - tankspeed ;dy = dy - tankspeed ;YN新线程刷屏(间接调用paint)延迟25ms初始化游戏元素根据游戏元素的属性,对其经行操作和绘出其图形Paint方法战斗结束?Y键盘监听器判断按下的是那个键改变相应游戏元素的属性详细设计详细设计文档应该包括对每一个对象类的详细描述,以及对对象类的属性和方法的详细描述。详细设计文档还应该把总体设计文档中所设计的其它内容进一步充实。最后详细设计文档中应该对本系统中关键的问题或者你认为自己最满意的设计内容做详细的说明和归纳性总结。父类坦克:Tankepublic class Tanke extends JPanel{boolean ilive=true; //坦克是否还活着,是为true,否则为false。public int direct=1;Tanke(){}public int getDirect(){return direct;} 获取坦克的所占区域。public Rectangle getRect(int x,int y) {return new Rectangle(x, y, 60, 60);//60为坦克的高和宽}}我的坦克Mytanke从Tanke继承而来public class Mytanke extends Tanke {//implements Runnable Image my_tankeU,my_tanke

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档