《坦克大战系统说明书.pdf》由会员分享,可在线阅读,更多相关《坦克大战系统说明书.pdf(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 坦克大战系统说明书 专 业:物联网工程 班 级:141 班 课程名称:Java 程序设计 成 员:孙星;张强强;陈亮 指导教师:彭圣华老师 完成时间:2016 年 6 月 坦克大战系统 组长:孙星 学 号 姓 名 分 工 陈亮 图形化界面的设计,按键监听,查找相关资料 14263525 孙星 主体坦克类和资料类绘图及编写,接口设计 14263531 张强强 多线程设计,异常处理,文档编写 设计题目 坦克大战系统 内容概要:涉及内容如下:1)创建图形化界面(窗口设计,布局管理,标签按钮组件插入);2)坦克的几何绘图,设计敌我双方四个方向的坦克图形,3)坦克和子弹不同方向前进的绘图。4)监听键盘
2、来控制坦克和子弹发射 5)界面控制,设计算法控制所有坦克和子弹均在游戏界面里面 6)子弹击中坦克算法设计,使子弹遇到对方坦克这两个对象就同时死亡。设计判断子弹遇到对方坦克的算法。7)设计不同的应用泛型的不同vector向量容器,存放双方坦克子弹。8)多线程设计:1 开始界面,线程间歇休眠导致字体闪烁 2jpanel面板容器 3 自己的坦克 4 系统的坦克,并应用算法(随即函数+前进时间控制)设置坦克自动活动,发生子弹 5 子弹 可以发射多个子弹 9)坦克战绩显示 资料类:1 坦克基础类;派生我的坦克和系统坦克 2 子弹类 3 记录类 程序控制和算法类:1 Tank1 类作为程序的入口 2 欢迎
3、界面类 3mypanel 面板容器类 应用的接口:1KeyListener,2Runnable 3ActionListener 目录 1、设计目的与任务.0 2、项目介绍 .0 3系统设计 .1 3.1窗口设计 .1 3.2坦克类设计 .1 32.1绘图 .1 32.2坦克类的设计 基础类Tank类:己方坦克类:对方坦克类:子弹类:.2 3.3MyPanel 类的设计 .3 3.3.1构造方法 利用构造函数创建坦克子弹对象并实现多线程.3 3.3.2 paint 方法 利用重绘实现了坦克子弹移动的绘制以及边界的控制.3 3.3.3run方法 hitmine 和hitfoe为遍历子弹和对方坦克的
4、函数,实现了多态。3.3.4重写keylistener 方法 实现坦克的活动按键的监听 3.4tank类 作为程序的入口和窗体容器的设置 3.5welcome 类 设置欢迎界面 3.6record 类 记录游戏的战绩 .4 4算法说明 .5 4.1判定坦克击中算法 .6 4.2子弹运动的设计 .7 4.3坦克运动效果的设计 根据坐标,方向不断重绘坦克.8 5、程序运行的测试与分析开始界面 跳动的坦克大战字体。游戏进行中,自由移动的坦克。.9 6、总结 .11 1、设计目的与任务 本设计旨在在完成程序设计课程的学习后,能掌握面向对象的思想、设计方法和设计步骤,可以利用 Java 语言开发工具迅速
5、地编写有一定实用价值的应用程序。课程设计中的问题比平时的习题复杂得多,也更接近实际。课程设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养学生的动手能力,锻炼学生发现问题、分析问题和解决问题的能力。另一方面,使书上的知识变活,起到深化理解和灵活应用教学内容的目的。平时的习题局限于一个和二个知识点,而课程设计题是程序设计的综合训练,包括问题分析,总体结构设计,用户界面设计、程序设计、基本技能和技巧。加强学生研发、编写、调试程序的能力;培养学生在项目开发中团队合作精神、创新意识及能力;提高学生科技论文写作能力,规范完成课程设计报告。本次课程设计要求学生能熟练运用图形
6、化界面的设计,接口设计,多线程设计,掌握各种布局方式、异常处理、事件监听与相应等基本知识点,实现对坦克 的基本战斗功能的实现。最后能将自己的设计理念以及设计过程在文档中作出阐述与说明。2、项目介绍 本项目组设计的是坦克大战系统。用户可以通过该游戏控制自己的坦克和系统自动移动的敌方坦克进行战斗。用户通过图形化进入坦克系统。W 为向上,S 为向下,A 为向左,D 为向右,J 为发射子弹 总共有三辆敌方坦克,一辆我方坦克。在黑色背景的游戏界面范围里里移动。坦克通过几何绘图设计,由三个矩形,一个圆,和一根直线组成,运用 3d效果,达到直接绘图的效果,最大程度节约系统资源。3系统设计 3.1窗口设计 刚
7、开始进入程序为欢迎界面,在最顶端设置Jmenu 按钮,重写 ActionListener 接口进行监听。之后为游戏界面,下方为信息显示。3.2坦克类设计 32.1绘图 以向上的坦克为例子,更改相应位置即得上下左右四个方向的坦克。然后设置颜色,黄色的为自己的,绿色的为对方的。32.2坦克类的设计 基础类Tank类:x,y 作为坦克的位置,direction 为方向,speed 为速度,life 为生命标记。己方坦克类:组合复用子弹类,添加子弹设计函数和上下左右移动函数。对方坦克类:添加 time 用来控制坦克笔直前进的时间,在 run 方法里面,设置多线程,三个坦克能前后左右自由移动自由发射子弹
8、。子弹类:设置 x,y 坐标,方向,速度,生命期,多线程 3.3MyPanel 类的设计 3.3.1构造方法 利用构造函数创建坦克子弹对象并实现多线程 3.3.2 paint 方法 利用重绘实现了坦克子弹移动的绘制以及边界的控制 3.3.3run方法 hitmine和 hitfoe 为遍历子弹和对方坦克的函数,然后利用向上转型同时调用 hittank 方法进行判定,实现了多态。3.3.4重写keylistener 方法 实现坦克的活动按键的监听 3.4tank类 作为程序的入口和窗体容器的设置 3.5welcome 类 设置欢迎界面 3.6record 类 记录游戏的战绩 4算法说明 4.1判
9、定坦克击中算法 向上和向下,向左和向右时情况相似,然后根据自己设计的坦克的大小,计算出子弹触及坦克边界时的坐标数值大小 4.2子弹运动的设计 先判断发射坦克的方向,然后不断调整坐标的值,并且设置边界 4.3坦克运动效果的设计 根据坐标,方向不断重绘坦克 5、程序运行的测试与分析 开始界面,跳动的坦克大战字体。游戏进行中,自由移动的坦克。6、总结 1体会了面向对象的 java语言强大的可扩展编程风格 2具有了多线程程序开发的经验 3感悟到java异常处理的便捷和强大 4了解了java接口的重写和实现非常有实用价值 5感悟到设计图形化界面十分有趣 6明白了按键监听的具体实现 7培养了团队合作的意识和能力 项目设计成绩评定表 对项目设计工作过程的简短介绍和自我评价 学生签名:2016 年 月 日 质量评价指标(在相应栏目打)评 价 项 目 评 价 质 量 优秀 良好 一般 及格 不及格 工 作 量 和 态 度 界面或算法设计 运行情况 评定成绩(百分制)教师签名 2016 年 月 日