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