Java坦克大战设计方案报告.doc
《Java坦克大战设计方案报告.doc》由会员分享,可在线阅读,更多相关《Java坦克大战设计方案报告.doc(112页珍藏版)》请在咨信网上搜索。
1、 程序语言综合课程设计设计汇报 学院:信息工程学院专业班级:学号:3姓名:指导老师:完成时间:7月22日目录目录2题目一 坦克大战41.1题目介绍41.2设计内容、要求和目标41.2.1设计内容41.2.2设计要求41.2.3设计目标41.3总体设计51.3.1系统功效结构图51.3.2系统总体步骤图61.4具体设计及实现71.4.1界面及布局设计71.4.2开机欢迎画面实现方法71.4.3单人游戏实现方法91.4.4添加背景音乐方法121.4.5双人游戏实现方法121.4.6游戏设置方法141.4.7存盘退出实现方法161.4.8运行效果图171.4.9源代码分析191.5系统运行及使用说明
2、37题目二 全部昌大酒店餐饮管理系统382.1题目介绍382.2设计内容、要求和目标382.2.1设计内容382.2.2要求382.2.3目标382.3总体设计392.3.1功效模块设计392.3.2系统全部类之间关系392.4数据库设计402.4.1关系模式402.4.2 E-R图402.4.3数据库管理物理实现412.4.4数据库表412.4.5表建立422.4.6表和表之间关系432.5具体设计及实现432.5.1操作界面设计442.5.2类组员变量及方法设计472.5.3源代码分析532.6系统运行及使用说明64题目三 俄罗斯方块(手机版)653.1 题目介绍653.2 需求分析653
3、.2.1 设计目标和意义653.2.2 任务概述653.2.3 需求分析663.3 总体设计673.3.1 系统功效结构图673.3.2 系统总体步骤图673.4 具体设计683.4.1 功效分析和描述683.4.2 程序系统结构683.4.3 游戏前景和背景设计703.5关键技术实现713.5.1 开机动画实现713.5.2 排行榜设计713.5.3 消去方块实现733.6 系统实现743.6.1 程序系统结构743.6.2 程序设计说明74总结78附录一79附录二82附录三85题目一 坦克大战1.1题目介绍坦克大战是利用java高级编程语言使用MyEclipse8.6实现一个游戏系统,它含
4、有单人游戏和双人游戏游戏界面和对游戏属性进行编辑游戏设置对话框。1.2设计内容、要求和目标1.2.1设计内容 本项目标内容包含技术和非技术两大部分:技术上需要进行数据存放和图片处理、整个窗口布局、代码编写及调试。非技术部分包含:人力资源充足利用。1.2.2设计要求 (1)设计GUI界面坦克大战。坦克大战中有我军坦克一辆,敌军坦克若干。初始状态是我军坦克在屏幕正下方,而敌军坦克分布屏幕正上方,敌军坦克能够自由移动并发射子弹,我军坦克能够按“A”,“S”,“D”,“W”键操作我军坦克向不一样四个方向前进,按“J”键能够发射子弹;(2)程序要求用户在经过按下指定按钮来控制自己坦克,敌人坦克是随机运动
5、并发射子弹;(3)当然用户还能够点击文件菜单选择多种需要操作;(4)实现帮助功效,用户有不明白地方能够查看帮助文档;(5)实现和数据库连接,用户使用时必需登录。1.2.3设计目标系统应该尽可能做到以下目标:1) 人力和设备费用降低;2) 采取现代程序设计技术;3) 数据处理速度提升;4) 管理信息服务改善;5) 人员利用率尽可能提升;1.3总体设计1.3.1系统功效结构图下面列出了本系统整体功效结果图和各个模块之间相互联络,见图1-1所表示。图1-1 系统各个功效模块之间联络说明:用户依据主界面,在菜单项里能够选择开始游戏,能够开始单人游戏,也能够开始双人游戏,在游戏中倘若你有其它事情要做,你
6、能够选择暂停游戏,当然你还能够选择存盘退出,这么当你以后想再玩没玩完游戏你就能够选择继续上局游戏,这么你能够接着上次玩游戏,你还能够选择游戏设置,设置敌人坦克数量和敌人坦克速度,和我军坦克速度,还有你能够设置娱乐方法,你能够选择使用背景音乐,和游戏音效。 1.3.2系统总体步骤图坦克大战总体步骤图见图1-2所表示。图1-2 总体步骤图3.3系统全部类之间关系系统全部类之间关系图1-3所表示图1-3类之间关系设计一个系统时候,把不一样功效具体实现放到不一样类里面,这么便于以后程序扩展和修改;类名称最好是表现出这个类实现功效,这么能够达成看类名就知道这个类功效,方便以后程序维护。本系统实现一共用到
7、了以上12个类,它们之间关系见图1-3所表示,箭头方向代表是被依靠类,各个类实现了部分单独功效。1.4具体设计及实现1.4.1界面及布局设计系统整体布局为:BorderLayout布局, 采取了菜单、按钮、面板等组件,菜单关键包含选择开始新游戏,暂停游戏,继续上局游戏,存盘退出,退出游戏,游戏设置等功效。1.4.2开机欢迎画面实现方法FirstPanel类是javax.swing包中JPanel容器一个子类,它关键是重写了paint()方法,先从文本文件里读取数据,然后把数据经过画笔画在画板上,标明FirstPanel类关键组员变量和方法和和TankGames类之间组合关系UML图图1-4所表
8、示。图1-4 FirstPanel类UML图以下是UML图中相关数据和方法具体说明。1、组员变量(1)word是WordMove型数据,它是用来改变文字纵坐标,使文字动态画在画板上。(2)fr是FileReader型数据,它是用来读取文本文件。(3)br是BufferedReader型数据,是缓冲输出流,用它来读取fr里面数据。(4)str是String型数据,接收读取到得文本文件。(5)aa是Vector型数据,是类型为字符串类型集合,用它来装一个个str。(6)img是Image型数据,是图片类型数据,用来设置背景图片。(7)f,f1,f2全部是Font类型数据,用来确定动态显示字字体。2
9、、方法(1)FirstPanel()是结构方法,负责完成FirstPanel容器初始化。(2)容器调用paint(Graphics g)方法能够在画板上把文本文件画出来,方便动态显示出来。(3)容器调用show()方法能够将画板上文字显示出来。(4)容器调用run()方法能够改变文字纵坐标,使原本静态文字运动起来。总而言之,FirstPanel创建容器效果图1-5所表示。图1-5 FirstPanel创建容器1.4.3单人游戏实现方法mypanel类是javax.swing包中JPamel类子类,所创建对象是一个面板,面板上有坦克大战敌我双方坦克,和战场,和我军消亡敌军数量标识,标明mypan
10、el类关键组员变量、方法和和TankGames类之间组合关系UML图1-6所表示。 图1-6 mypanel类UML图以下是UML图中相关数据和方法具体说明。1、组员变量(1)isZanT、isSounds、isMusic全部是boolean类型数据,分别确定是否游戏暂停,是否使用背景音乐,是否使用音效。(2)word是WordMove类型数据,用于制造动态字。(3)mt,en分别是mytank和enemyTank类型数据,用于在画板上定义敌我双方坦克。(4)zd,zhd分别是ZDan和ZhaDan类型数据,在画板上定义子弹和炸弹。(5)image1、imge2、imgae3全部是Image类
11、型数据,在击中坦克时,将这三幅图片画出来,制造爆炸效果。(6)f是Font类型数据,用于定义游戏结束时动态字字体。2、方法(1)mypanel()结构方法,初始化定义组员变量。(2)paint(Graphics g)在画板上画坦克,画子弹,画炸弹等多种作战场面。(3)addmytank()方法用来增加我军坦克,我军坦克生命值是3,当我军生命值大于0时,每死一次就增加一辆我军坦克,直至我军坦克生命值为0。(4)addEnemytank()方法是用来增加敌军坦克,敌军坦克默认情况下是20辆,而战场只许可敌军4辆坦克作战,所以每击毁敌军一辆坦克就会调用此方法增加一辆敌军坦克,直至敌军坦克数量小于或等
12、于4。(5)zhanji()方法是用来统计我军击毁坦克数量。(6)Bomp()方法是在击中坦克时画出爆炸效果。(7)drawtank()用来在画板上画出敌我双方坦克。(8)drawzd()用来在画板上画子弹。(9)shotEnemytank()是在我军发射子弹时调用,用户按下指定键就会激发此方法。(10)shotmytank()是敌军发射子弹时调用此方法。(11)isjizhong()是用来判定子弹是否击中坦克。(12)GameOver()是在游戏结束时调用,用来描述游戏结束。所以mypanel创建画板效果图1-7所表示。图1-7 mypanel创建画板效果爆炸效果以下图:图1-8 爆炸效果图
13、1.4.4添加背景音乐方法 为了在应用程序中播放音乐,首先依据对应音频文件创建一个File对象,比如: File file=new File(“十年.Wav”);然后,file对象调用toURL()方法返回一个URL对象,比如: URL url=file.toURL();最终,使用Applet类静态方法返回一个音频对象,比如: clip=Applet.newAudioClip(url);1.4.5双人游戏实现方法SRen类是javax.swing包中JPamel类子类,所创建对象是一个面板,面板上有坦克大战敌我双方坦克(此时我军坦克数量为2),和战场,和我军消亡敌军数量标识,标明SRen类关键
14、组员变量、方法和和TankGames类之间组合关系UML图1-9所表示。图1-9 SRen类UML图以下是UML图中相关数据和方法具体说明。1、组员变量(1)isZanT、isSounds全部是boolean类型数据,分别确定是否游戏暂停,是否使用音效。(2)word是WordMove类型数据,用于制造动态字。(3)myts0life、myts1life全部是int类型数据,分别用来统计我方两辆坦克生命值。(4)myts0XM、myts1XM全部是int类型数据,分别来统计我方两辆坦克消亡敌军坦克数量。(5)zd,zhd分别是ZDan和ZhaDan类型数据,在画板上定义子弹和炸弹。(6)ima
15、ge1、imge2、imgae3全部是Image类型数据,在击中坦克时,将这三幅图片画出来,制造爆炸效果。(7)f是Font类型数据,用于定义游戏结束时动态字字体。2、方法(1)SRen()结构方法,初始化定义组员变量。(2)paint(Graphics g)在画板上画坦克,画子弹,画炸弹等多种作战场面。(3)addmytank()方法用来增加我军坦克,我军坦克生命值是3,当我军生命值大于0时,每死一次就增加一辆我军坦克,直至我军坦克生命值为0。(4)addEnemytank()方法是用来增加敌军坦克,敌军坦克默认情况下是20辆,而战场只许可敌军4辆坦克作战,所以每击毁敌军一辆坦克就会调用此方
16、法增加一辆敌军坦克,直至敌军坦克数量小于或等于4。(5)zhanji()方法是用来统计我军击毁坦克数量。(6)Bomp()方法是在击中坦克时画出爆炸效果。(7)drawtank()用来在画板上画出敌我双方坦克。(8)drawzd()用来在画板上画子弹。(9)shotEnemytank()是在我军发射子弹时调用,用户按下指定键就会激发此方法。(10)shotmytank()是敌军发射子弹时调用此方法。(11)isjizhong()是用来判定子弹是否击中坦克。(12)GameOver()是在游戏结束时调用,用来描述游戏结束。所以mypanel创建画板效果图1-10所表示。图1-10 SRen创建画
17、板1.4.6游戏设置方法FirstDialog是java.swing包中Dialog类子类,它创建是一个对话框,此对话框里面关键有选择按钮,滚动条,还有两个按钮。标明FirstDialog类关键组员变量、方法和和TankGames类之间组合关系UML图1-11所表示。 图1-11 SRen类UML图以下是UML图中相关数据和方法具体说明。1、组员变量(1)jbl1,jbl2,jbl3,jbl4全部是JLabel类型数据,用于提醒标签。(2)jck1,jck2是JCheck类型数据,用来控制音效和背景音乐。(3)jsc1,jsc2,jsc3全部是JScrollBox类型数据,分别用来控制敌军坦克
18、数量,敌军坦克速度,我军坦克速度。(4)box1,box2,box3,box4全部是Box类型数据,用于整体布局。(5)jp是JPanel类型数据,整体布局需要。(6)jbt1,jbt2全部是JButton数据类型。2、方法(1)FirstDialog()结构方法,初始化定义组员变量。(2)actionPerformed(Event e)方法用于出来监听事件。(3)ItemStatechanged(Event e)方法用于处理选择框事件处理。所以FirstDialog创建画板效果图1-12所表示。 图1-12 FirstDialog创建对话框1.4.7存盘退出实现方法本程序是利用输出输入流将战
19、场敌我双方坦克坐标保留到文本文件里面,具体请见下图。图1-13 存盘退出菜单当点击存盘退出,程序就会在F盘下新建一个文本文件,如:图1-14 保留游戏信息文本这时当我们点击继续上局时,又回回到刚才玩游戏,如:图1-15 继续上局菜单继续上局后效果图以下图:图1-16 继续上局效果图1.4.8运行效果图系统运行主界面图1-17所表示图1-17 运行欢迎界面效果图坦克大战单人游戏效果图1-18所表示图1-18 单人游戏效果图双人游戏效果图1-19所表示图1-19 双人游戏效果图菜单选择图1-20所表示图1-20 菜单选择1.4.9源代码分析1.开机欢迎界面实现代码。public class Fir
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 坦克 大战 设计方案 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。