1、 淮 海 工 学 院 计算机工程学院课程设计报告设计名称: 面向对象课程设计 选题名称: 联网太空大战 姓 名: 学 号: 专业班级: 软件工程 软件 101 班 系 ( 院): 计算机工程学院 设计时间: 2012.6.112012.6.22 设计地点: 软件实验室、教室 指导教师评语:签名: 年 月 日成绩:面向对象课程设计报告 第 2 页,共 23 页1课程设计目的面向对象程序设计是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用 Java 语言进行面向对象设计的基本
2、方法,提高运用面向对象知识分析实际问题、解决实际问题的能力。2课程设计任务与要求:基本任务是使得学生通过课程设计掌握利用 java 进行底层的网络应用程序设计、多媒体应用设计、JDBC 编程的基本方法,学会综合利用 awt 包和 Swing 组件包进行图形用户界面的设计,同时,对 java 的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。本课程设计的选题:联网太空大战,实现网络游戏的基本框架和功能,具有一定的娱乐性。课程设计可选用 Eclipse、JBuilder 、NetBeans 等作为开发平台以提高开发效率,尽可能熟练掌握其中一种集成开发环境。建议采用 UML
3、建模技术进行系统的分析设计,在 Visio 中画出系统用例图和类图,并将 UML 图复制到设计报告中。(1) 每位同学通过智能教学平台需提交可独立运行的应用程序,要求程序书写规范,源程序需加必要的注释;(2) 每位同学需独立提交书面设计报告书(每人一份) ,要求编排格式统一、规范、内容充实,同时通过教学平台提交设计报告电子版;设计报告书封面和正文格式要符合淮海工学院课程设计报告书封面与正文标准格式要求,设计报告内容不少 5000 字。其正文一般应包括需求分析、概要设计、详细设计、调试分析、运行界面(附主要代码)、测试结果、附录或参考资料、心得体会等内容。 (3) 提交日期:第 20 周周一(2
4、009 年 6 月 29 日)之前。3课程设计说明书1).选题意义在如今这个快节奏,高压力的社会,游戏已经成为一种有着相当大的用户群的自我调节和放松的方式。而有着良好交互性和社交性的网络游戏更是炙手可热的开发区域。本游戏为网络版的太空大战,既秉承了休闲游戏简单,可玩性强的特点,又传承了网络游戏的合作性和可交互性。是一款用户面广,可持续开发性强的多人小型休闲益智类网络游戏。2)需求分析1.系统需要实现的功能1.1 客户端1.1.1 呈现服务器端元素1.1.1.1 创建服务器端新建元素1.1.1.2 同步服务器端对元素的修改1.1.1.3 删除在服务器端已删除的元素1.1.2 控制战机面向对象课程
5、设计报告 第 3 页,共 23 页1.1.2.1 呈现战机移动动画1.1.2.2 向服务器发送键盘指令1.2 服务器1.2.1 演示场景1.2.1.1 读取数据库场景安排1.2.1.2 根据数据演示场景1.2.1.3 向客户端发送指令实时呈现场景1.2.2 解析客户端端请求1.2.2.1 接受并解析客户端请求1.2.2.2 向客户端发送完成请求后的同步指令3)架构模型解析器控制器 视图模型执行解析器控制器客 户 端刷新视图执行发送指令更改模型服 务 器发送请求4)用例图5)详细设计 (类图 )面向对象课程设计报告 第 4 页,共 23 页客 户 端: : 玩家 1: : 玩家 2呈现元素控制战
6、机创建元素同步元素删除元素呈现动画发送请求服 务 器演示场景解析请求读取场景演示场景呈现场景接受请求同步场景4编程实现(类图)面向对象课程设计报告 第 5 页,共 23 页+ g e t D a m a g e d B y ( i n d a m a g e r : s t r i n g , i n d a m a g e r E l e m e n t : G a m e E l e m e n t O n S e r v e r , i n i s R e a c t D a m a g e : b o o l e a n ) : v o i d+ g e t L i v e V a l
7、 u e ( ) : i n t+ g e t N a m e ( ) : s t r i n g+ s e t N a m e ( i n n a m e : s t r i n g ) : v o i d+ g e t R e c t a n g l e ( ) : R e c t a n g l e+ i s A l i v e ( ) : b o o l e a n+ i s E n e m y ( ) : O b j e c t K i n d+ m o v e A n d S e n d C o m m a n d ( ) : v o i d+ n e e d T o S h o
8、t ( ) : b o o l e a n+ s e t A l i v e ( ) : v o i d- a l i v e : b o o l e a n- l i v e V a l u e : i n t- n a m e : s t r i n gG a m e E l e m e n t O n S e r v e r+ e n e m y : i n t+ n o t E n e m y : i n t+ i g n o r e : i n tO b j e c t K i n d+ P o i n t ( i n x : d o u b l e , i n y : d o u
9、b l e )+ P o i n t ( )+ x : d o u b l e+ y : d o u b l eP o i n t+ g e t G a m e E l e m e n t s ( ) : Q u e u e+ g e t S c e n e ( i n s : s t r i n g ) : S c e n e+ g e t T i m e s ( ) : Q u e u e- g a m e E l e m e n t s : Q u e u e- t i m e s : Q u e u eS c e n e面向对象课程设计报告 第 6 页,共 23 页- S e r v
10、e r D e l e g a t e ( )+ c l o s e S e r v e r ( ) : v o i d+ c r e a t e E l e m e n t ( i n e l e m e n t : s t r i n g ) : v o i d- e x e c u t e C o m m a n d ( i n s : s t r i n g ) : v o i d+ g e t E l e m e n t s ( ) : H a s h t a b l e+ g e t P l a y e r 1 S h o t E n e m y D e s t r o y e d
11、 N u m ( ) : i n t+ g e t P l a y e r 1 c r a s h E n e m y D e s t r o y e d N u m ( ) : i n t+ g e t P l a y e r 2 S h o t E n e m y D e s t r o y e d N u m ( ) : i n t+ g e t P l a y e r 2 c r a s h E n e m y D e s t r o y e d N u m ( ) : i n t+ g e t S c e n e ( i n s : s t r i n g ) : v o i d+
12、g e t S e r v e r D e l e g a t e ( ) : S e r v e r D e l e g a t e+ i s E l e m e n t s I s U s i n g ( ) : b o o l e a n+ r u n ( ) : v o i d+ s e n d C o m m a n d s T o C l i e n t ( i n c o m m a n d : s t r i n g , i n c l i e n t : s t r i n g ) : v o i d+ s e t P l a y e r 1 S h o t E n e m
13、y D e s t r o y e d N u m ( i n p l a y e r 1 S h o t E n e m y D e s t r o y e d N u m : i n t ) : v o i d+ s e t P l a y e r 1 c r a s h E n e m y D e s t r o y e d N u m ( i n p l a y e r 1 c r a s h E n e m y D e s t r o y e d N u m : i n t ) : v o i d+ s e t P l a y e r 2 S h o t E n e m y D e
14、s t r o y e d N u m ( i n p l a y e r 2 S h o t E n e m y D e s t r o y e d N u m : i n t ) : v o i d+ s e t P l a y e r 2 c r a s h E n e m y D e s t r o y e d N u m ( i n p l a y e r 2 c r a s h E n e m y D e s t r o y e d N u m : i n t ) : v o i d- c o m m a n d s : Q u e u e- e l e m e n t s I s
15、 U s i n g : b o o l e a n- s e r v e r A l i v e : b o o l e a n- p l a y e r 1 C o n n e c t e d : b o o l e a n- p l a y e r 2 C o n n e c t e d : b o o l e a n- c o n t i n u e P e r f o r m : b o o l e a n- s c e n e : S c e n e- e x e c u t e C o m m a n d T h r e a d : T h r e a d- r e c i e
16、v e C o m m a n d s F r o m P l a y e r 1 T h r e a d : T h r e a d- r e c i e v e C o m m a n d s F r o m P l a y e r 2 T h r e a d : T h r e a d- p e r f o r m S c e n e T h r e a d : T h r e a d- c r e a t e E l e m e n t s T h r e a d : T h r e a d- p l a y e r 1 : S e r v e r S o c k e t- p l a
17、 y e r 2 : S e r v e r S o c k e t- o u t p u t S t r e a m P l a y e r 1 : D a t a O u t p u t S t r e a m- o u t p u t S t r e a m P l a y e r 2 : D a t a O u t p u t S t r e a m- i n p u t S t r e a m P l a y e r 1 : D a t a I n p u t S t r e a m- i n p u t S t r e a m P l a y e r 2 : D a t a I n
18、 p u t S t r e a m- e l e m e n t s : H a s h t a b l e- d e l e g a t e : S e r v e r D e l e g a t e- E L E M E N T _ M O V E _ F R E Q U E N C Y : i n t- p l a y e r 1 S h o t E n e m y D e s t r o y e d N u m : i n t- p l a y e r 1 c r a s h E n e m y D e s t r o y e d N u m : i n t- p l a y e r
19、 2 S h o t E n e m y D e s t r o y e d N u m : i n t- p l a y e r 2 c r a s h E n e m y D e s t r o y e d N u m : i n t- p l a y e r 1 A l i v e : b o o l e a n- p l a y e r 2 A l i v e : b o o l e a n- o t h e r s A l i v e : b o o l e a nS e r v e r D e l e g a t e面向对象课程设计报告 第 7 页,共 23 页+ T w o P
20、o i n t s W a r d ( i n p 1 : P o i n t , i n p 2 : P o i n t )+ g e t A ( ) : d o u b l e+ g e t B ( ) : d o u b l e+ i s W a r d P o s i t i v e ( ) : b o o l e a n- a : d o u b l e- b : d o u b l e- p 1 : P o i n t- p 2 : P o i n t- I N F I N I T Y : i n tT w o P o i n t s W a r d+ C l i e n t D
21、e l e g a t e ( )+ c o n n e c t T o S e r v e r ( i n h o s t : s t r i n g , i n p o r t : i n t ) : v o i d+ g e t C l i e n t D e l e g a t e ( ) : C l i e n t D e l e g a t e+ g e t C o m m a n d ( ) : S t r i n g+ r e c i e v e C o m a n d F r o m S e r v e r ( ) : v o i d+ r u n ( ) : v o i d
22、+ s e n d C o m m a n d T o S e r v e r ( i n s : s t r i n g ) : v o i d- o u t p u t S t r e a m : D a t a O u t p u t S t r e a m- i n p u t S t r e a m : D a t a I n p u t S t r e a m- c o m m a n d s : Q u e u e- d e l e g a t e : C l i e n t D e l e g a t eC l i e n t D e l e g a t e+ d r a w
23、S e l f I n C a n v a s ( ) : v o i d+ s e t P o s i t i o n ( i n x : i n t , i n y : i n t ) : v o i d+ g e t P o s i t i o n ( ) : P o i n t+ g e t D r a w L e v e l ( ) : i n t+ g e t A l i v e ( ) : b o o l e a n+ s e t A l i v e ( i n a l i v e : b o o l e a n ) : v o i dD r a w A b l e面向对象课程设
24、计报告 第 8 页,共 23 页+ G a m e C a n v a s ( i n w i d t h : i n t , i n h e i g h t : i n t , i n r e f r e s h R a t e : i n t )- e x e c u t e C o m m a n d ( i n s : s t r i n g ) : v o i d+ g e t R e f r e s h R a t e ( ) : i n t+ p a i n t ( i n g : G r a p h i c s ) : v o i d+ r u n ( ) : v o i d+
25、 s e t P l a y e r P l a n e S t a t e ( i n p l a y e r N a m e : s t r i n g , i n s t a t e : i n t ) : v o i d+ u p d a t e ( i n g : G r a p h i c s ) : v o i d- w i d t h : i n t- h e i g h t : i n t- o f f S c r e e n I m a g e : I m a g e- f l a s h C a n v a s T h r e a d : T h r e a d- e x
26、 e c u t e C o m m a n d T h r e a d : T h r e a d- d e l e g a t e : C l i e n t D e l e g a t e- d r a w A b l e O b j e c t s I s U s i n g : b o o l e a n- d r a w A b l e O b j e c t s : H a s h t a b l e- r e f r e s h R a t e : i n t- t o o l : T o o l k i t- i m g : I m a g e- i s G a m e E
27、n d : b o o l e a n- p l a y e r 1 S h o t E n e m y D e s t r o y e d N u m : i n t- p l a y e r 2 S h o t E n e m y D e s t r o y e d N u m : i n t- p l a y e r 1 C r a s h E n e m y D e s t r o y e d N u m : i n t- p l a y e r 2 C r a s h E n e m y D e s t r o y e d N u m : i n tG a m e C a n v a
28、 s面向对象课程设计报告 第 9 页,共 23 页+ d r a w S e l f I n C a n v a s ( ) : v o i d+ s e t P o s i t i o n ( i n x : i n t , i n y : i n t ) : v o i d+ g e t P o s i t i o n ( ) : P o i n t+ g e t D r a w L e v e l ( ) : i n t+ g e t A l i v e ( ) : b o o l e a n+ s e t A l i v e ( i n a l i v e : b o o l e a
29、n ) : v o i d+ B a c k G r o u n d O n C l i e n t ( i n x : i n t , i n y : i n t )- x : i n t- y : i n t- t o o l : T o o l k i t- i m g : I m a g e- W I D T H : i n t- H E I G H T : i n t- i m g H e i g h t : i n t- D R A W _ L E V E L : i n t- i s A l i v e : b o o l e a nB a c k G r o u n d O n
30、 C l i e n tD r a w A b l e+ d r a w S e l f I n C a n v a s ( ) : v o i d+ s e t P o s i t i o n ( i n x : i n t , i n y : i n t ) : v o i d+ g e t P o s i t i o n ( ) : P o i n t+ g e t D r a w L e v e l ( ) : i n t+ g e t A l i v e ( ) : b o o l e a n+ s e t A l i v e ( i n a l i v e : b o o l e
31、a n ) : v o i d+ C r a s h E n e m y O n C l i e n t ( i n x : i n t , i n y : i n t )- i s A l i v e : b o o l e a n- x : i n t- y : i n t- s t a t e : i n t- e x p l o d e E v e r y S t a t e T i m e : i n t- t o o l : T o o l k i t- i m g : I m a g e- W I D T H : i n t- H E I G H T : i n t- D R A
32、 W _ L E V E L : i n tC r a s h E n e m y O n C l i e n tD r a w A b l e面向对象课程设计报告 第 10 页,共 23 页+ d r a w S e l f I n C a n v a s ( ) : v o i d+ s e t P o s i t i o n ( i n x : i n t , i n y : i n t ) : v o i d+ g e t P o s i t i o n ( ) : P o i n t+ g e t D r a w L e v e l ( ) : i n t+ g e t A l i
33、v e ( ) : b o o l e a n+ s e t A l i v e ( i n a l i v e : b o o l e a n ) : v o i d+ E x p l o d e O n C l i e n t ( i n x : i n t , i n y : i n t )+ g e t N u m O f I n s t a n c e ( ) : i n t- t o o l : T o o l k i t- i m g : I m a g e- D R A W _ L E V E L : i n t- W I D T H : i n t- H E I G H T
34、: i n t- x : i n t- y : i n t- s t a t e : i n t- n a m e : s t r i n g- n u m O f I n s t a n c e : i n t- i s A l i v e : b o o l e a nE x p l o d e O n C l i e n tD r a w A b l e面向对象课程设计报告 第 11 页,共 23 页+ d r a w S e l f I n C a n v a s ( ) : v o i d+ s e t P o s i t i o n ( i n x : i n t , i n y
35、: i n t ) : v o i d+ g e t P o s i t i o n ( ) : P o i n t+ g e t D r a w L e v e l ( ) : i n t+ g e t A l i v e ( ) : b o o l e a n+ s e t A l i v e ( i n a l i v e : b o o l e a n ) : v o i d+ P l a y e r P l a n e O n C l i e n t ( i n x : i n t , i n y : i n t )+ s e t S t a t e ( ) : v o i d- D
36、 R A W _ L E V E L : i n t- W I D T H : i n t- H E I G H T : i n t- x : i n t- y : i n t- s t a t e : i n t- i s A l i v e : b o o l e a n- i m g : I m a g e- t o o l : T o o l k i tP l a y e r P l a n e O n C l i e n tD r a w A b l e+ d r a w S e l f I n C a n v a s ( ) : v o i d+ s e t P o s i t i
37、 o n ( i n x : i n t , i n y : i n t ) : v o i d+ g e t P o s i t i o n ( ) : P o i n t+ g e t D r a w L e v e l ( ) : i n t+ g e t A l i v e ( ) : b o o l e a n+ s e t A l i v e ( i n a l i v e : b o o l e a n ) : v o i d+ S h o t B u l l e t O n C l i e n t ( i n x : i n t , i n y : i n t )- x : i
38、 n t- y : i n t- t o o l : T o o l k i t- i m g : I m a g e- W I D T H : i n t- H E I G H T : i n t- D R A W _ L E V E L : i n t- i s A l i v e : b o o l e a nS h o t B u l l e t O n C l i e n tD r a w A b l e面向对象课程设计报告 第 12 页,共 23 页+ d r a w S e l f I n C a n v a s ( ) : v o i d+ s e t P o s i t i
39、o n ( i n x : i n t , i n y : i n t ) : v o i d+ g e t P o s i t i o n ( ) : P o i n t+ g e t D r a w L e v e l ( ) : i n t+ g e t A l i v e ( ) : b o o l e a n+ s e t A l i v e ( i n a l i v e : b o o l e a n ) : v o i d+ S h o t E n e m y O n C l i e n t ( i n x : i n t , i n y : i n t )- D R A W
40、_ L E V E L : i n t- H E I G H T : i n t- W I D T H : i n t- x : i n t- y : i n t- s t a t e : i n t- e x p l o d e E v e r y S t a t e T i m e : i n t- t o o l : T o o l k i t- i m g : I m a g eS h o t E n e m y O n C l i e n tD r a w A b l e+ B a c k G r o u n d O n S e r v e r ( )+ m o v e A n d
41、S e n d C o m m a n d ( ) : v o i d+ g e t R e c t a n g l e ( ) : R e c t a n g l e+ i s E n e m y ( ) : O b j e c t K i n d+ g e t D a m a g e d B y ( i n d a m a g e r : s t r i n g , i n d a m a g e r E l e m e n t : G a m e E l e m e n t O n S e r v e r , i n i s R e a c t D a m a g e : b o o l
42、 e a n ) : v o i d- m o v e ( ) : v o i d+ n e e d T o S h o t ( ) : b o o l e a n- x : i n t- y : i n t- s p e e d : i n t- I M G _ H E I G H T : i n t- d e l e g a t e : S e r v e r D e l e g a t eB a c k G r o u n d O n S e r v e r面向对象课程设计报告 第 13 页,共 23 页+ C r a s h E n e m y O n S e r v e r ( i
43、n x : i n t )+ m o v e A n d S e n d C o m m a n d ( ) : v o i d+ g e t R e c t a n g l e ( ) : R e c t a n g l e+ i s E n e m y ( ) : O b j e c t K i n d+ g e t D a m a g e d B y ( i n d a m a g e r : s t r i n g , i n d a m a g e r E l e m e n t : G a m e E l e m e n t O n S e r v e r , i n i s R
44、e a c t D a m a g e : b o o l e a n ) : v o i d- m o v e ( ) : v o i d+ n e e d T o S h o t ( ) : b o o l e a n- x : i n t- y : i n t- s p e e d : i n t- d e l e g a t e : S e r v e r D e l e g a t e- H E I G H T : i n t- L I V E _ V A L U E : i n t- n u m : i n t- t h i s N u m : i n t- W I D T H :
45、 i n tC r a s h E n e m y O n S e r v e r面向对象课程设计报告 第 14 页,共 23 页+ C r a s h E n e m y O n S e r v e r ( i n x : i n t )+ m o v e A n d S e n d C o m m a n d ( ) : v o i d+ g e t R e c t a n g l e ( ) : R e c t a n g l e+ i s E n e m y ( ) : O b j e c t K i n d+ g e t D a m a g e d B y ( i n d a m a
46、 g e r : s t r i n g , i n d a m a g e r E l e m e n t : G a m e E l e m e n t O n S e r v e r , i n i s R e a c t D a m a g e : b o o l e a n ) : v o i d- m o v e ( ) : v o i d+ n e e d T o S h o t ( ) : b o o l e a n+ g e t X ( ) : i n t+ g e t Y ( ) : i n t+ m o v e W i t h W a r d ( i n w : T w
47、o P o i n t s W a r d ) : v o i d- x : i n t- y : i n t- s p e e d : i n t- d e l e g a t e : S e r v e r D e l e g a t e- H E I G H T : i n t- L I V E _ V A L U E : i n t- n u m O f I n s t a n c e : i n t- W I D T H : i n tP l a y e r P l a n e O n S e r v e r面向对象课程设计报告 第 15 页,共 23 页+ C r a s h E
48、n e m y O n S e r v e r ( i n x : i n t )+ m o v e A n d S e n d C o m m a n d ( ) : v o i d+ g e t R e c t a n g l e ( ) : R e c t a n g l e+ i s E n e m y ( ) : O b j e c t K i n d+ g e t D a m a g e d B y ( i n d a m a g e r : s t r i n g , i n d a m a g e r E l e m e n t : G a m e E l e m e n t
49、O n S e r v e r , i n i s R e a c t D a m a g e : b o o l e a n ) : v o i d- m o v e ( ) : v o i d+ n e e d T o S h o t ( ) : b o o l e a n+ g e t X ( ) : i n t+ g e t Y ( ) : i n t+ m o v e W i t h W a r d ( i n w : T w o P o i n t s W a r d ) : v o i d- x : i n t- y : i n t- s p e e d : i n t- d e l e g a t e : S e r v e r D e l e g a t e- H E I G H T : i n t- L I V E _ V A L U E