当前位置:文档之家› java俄罗斯方块 程序设计论文

java俄罗斯方块 程序设计论文

X X X X 大学

《Java语言程序设计》课程设计(论文)题目:俄罗斯方块

院(系):

专业班级:

学号:

学生姓名:

指导教师:

教师职称:

起止时间:

课程设计(论文)任务及评语

目录

第1章课程设计目的与要求 (1)

1.1设计目的 (1)

1.2实验环境 (1)

1.3预备知识 (1)

1.4设计要求 (1)

第2章课程设计内容 (3)

2.1课题描述 (3)

2.2系统设计 (4)

2.2.1功能分析 (4)

2.2.2面向对象的设计 (5)

2.2.3类成员描述方法 (6)

2.3程序实现 (14)

2.3.1源代码分析 (14)

2.3.2运行结果 (15)

第3章总结 (16)

参考文献 (17)

第1章课程设计目的与要求

1.1设计目的

将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:

(1)进一步巩固、加深学生所学专业课程《JA V A语言教程》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用JA V A语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象程序设计的方法。

(6)熟练掌握JA V A语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序和修改程序。

1.2实验环境

硬件要求能运行Windows 操作系统的微机系统。JA V A语言应用程序开发软件使用:VJA V A 系统,或其他JA V A语言应用程序开发软件。

1.3预备知识

熟悉JA V A语言程序设计的基本知识及VJA V A编辑器的使用方法。

1.4设计要求

1.仔细分析设计题目,画出程序流程图,编写程序源代码。

2.积极上机调试源程序,增强编程技巧与调程能力。

3.认真书写课程设计预习报告,课程设计说明书。

4.遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容。

第2章课程设计内容

2.1课题描述

游戏开发至今已经有30多年,在这个短暂的时期里,随着硬件水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是。

综合运用在校期间所学理论知识和技能,设计开发俄罗斯方块,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,提高工程实践能力,为将来实际工作打下坚实的基础。

基本需求:系统开发的总体任务是实现游戏的可操作性、美观性、及时性。

开发过程遵循软件工程规范,可采用结构化或面向对象分析设计方法。主要实现windows的GUI程序开发,对游戏中的图形图像进行键盘控制。游戏者可以通过上下左右键来对游戏进行操作。

主要开发目标:采用结构化设计方法,开发出一个可操作性、美观性、及时性的游戏,实现windows的GUI程序开发,并通过此次软件开发过程全面提高自身的综合素质。

条件假定和限制:由于本软件目前是我的初次版本,可能还存在一些问题。如果该软件提高版本,本软件需要根据游戏者的要求进行进一步的修改。

可行性研究所采用的方法和步骤:通过研究分析俄罗斯方块所具备的能力及实现的方法、确定主体结构。利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。

评价尺度:由于本软件是一个初级产品,对其要求不是太苛刻,所以能够达到俄罗斯游戏的一般功能即可。

管理可行性: 该游戏软件为首次开发,目的只为提高工作自身素质和检查自学Java的效果,用Java3.0软件编写后在Applet管理器中运行简单明了,所有功能均根据基本需求所做。便于管理,所以在这方面是可以实现的。

经济可行性:由于本游戏的主要背景是毕业课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运行JA V A3.0软件的电脑便可,所以不用考虑到经济问题。

技术可行性:可用与本游戏的编程语言有VB,Java,Delphi等,考虑到用于编写程序的困难度,和对语言的了解程度,选择JA V A作为编程语言。需要对变量定义、变量初始化、界面初始化、游戏初始化、然后进入游戏、处理游戏过程中的各种操作。

社会可行性:本游戏的开发作为毕业课程设计以巩固先前所学的知识,以个人为单位,仅供个人平常娱乐所用,无须考虑有可能造成的社会影响,不用考虑到法律、版权等的社会因素,所以在这方面是完全可行的。

2.2系统设计

2.2.1功能分析

随机给出不同的形状(长条形、Z字形、反Z形、田字形、7字形、反7形、T 字型)下落填充给定的区域,若填满一条便消掉,记分,当达到一定的分数时,过关,设置三关,每关方块下落的速度不同,若在游戏中各形状填满了给定区域,为输者。游戏功能要求如下:

游戏界面需求:良好的用户界面,有关数显示和分数显示。让方块在一定的区域内运动和变形,该区域用一种颜色表明,既用一种颜色作为背景,最好设为黑色。还需用另一种颜色把黑色围起来,宽度适中,要实现美感。

游戏形状(方块)需求:良好的方块形状设计,绘制七种常见的基本图形(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型),各个方块要能实现它的变形,可设为顺时针或逆时针变形,一般为逆时针。

键盘处理事件:方块下落时,可通过键盘方向键(上、下、左、右键)对该方块进行向上(变形),向下(加速)、向左、向右移动。

显示需求:当不同的方块填满一行时可以消行,剩余方块向下移动并统计分数。当达到一定的分数时过关。设置三关,每关方块下落的速度不同。

2.2.2面向对象的设计

顶层图

图 2 2.2.3类成员描述方法

顶层图

图2

程序流程图

游戏开关控制图(在panint()内实现)方块的装载(begin())

方块装载(begin()方法)

处理键盘事件

键盘事件功能图(KeyDown())

控制游戏速度与自动下降(run())

处理到达事件

处理方块到达图判断满行及消行

判断满行及消行图

2.3程序实现

2.3.1源代码分析

例:向左键的障碍物判断及处理:

for(i=0;i<4;i++)

if (x[i]<1 || screen[x[i]-1][y[i]]) //判断是否到达屏幕最左边或要到的左边有没

有方块

break;

if(i==4) // 当无障碍时

for(i=0;i<5;i++)

x[i]-=1; //方块向左移动

break;

方块变化(change())

2.3.2运行结果

运行结果图

第3章总结

在做设计以前,我对Java游戏开发只是停留在理论知识的水平上,是“纸上谈兵”,缺乏实际的软件开发经验。这次通过做设计,我完成了俄罗斯游戏的软件开发任务。在整个开发过程中遇到了很多问题,如方块的装载和变形、屏幕太闪烁的问题、满行判断及消行的处理。但最终都被我一一解决,对其中比较主要的几点体会总结如下。

第一,为了熟悉俄罗斯方块的相关运作,我经常在玩街机和游戏机上的俄罗斯方块,慢慢去发现它所有的功能,然后再思考和查阅资料进行分析,经过逐步的设计与反复的修改论证,才完成了整个游戏的开发。

第二,完成了从“小而全”,到“全而精”的转变。设计过程中,经常会遇到困难,我学会通过反复思考和测试,然后找出自己的错误并加以改正,再进行下一个步骤。这个程序就是在这样反复过程序中一点一点的完成的。完成之后再来优化整个程序。

第三,这是一个不断学习新鲜事物的过程,从设计初的不懂到最后能够顺利完成。我体会到在实践中学习的重要性,这对于将来我走上工作岗位具有重要意义。

第四,通过毕业设计使我对Java这门课程有了一定的了解,也对我今后的就业之路打下了一定的基础。

不断努力之后,设计内容已经基本上完成了。回顾这个设计过程,我学到了许多书本上没有学到的知识。通过这次自己制作的软件,丰富了自己的实践技能,扩展了本专业的知识面,使我受益非浅,同时也体验到了搞软件开发的困难度。在这次设计的同时,我又从中学到了许多东西。但由于我对这样的软件开发还只是一个开始,了解的不多,这其中或许还有很多的不足,有些模块做得不是很好,有些功能还不能够完全的实现,如不能把要装载的方块提前显示出来。因此做得不是很好,界面的设计及整体的布局还比较简单,没有突出特色出来,这也可能是我这个系统的不足之处,在这里也恳请各位老师能够对我的作品指明不足并加以改正。

总的来说,我对Java有了一点初步的认识,对于原件工程这些辅助性的教材也巩固了不少,为我们这次的设计提供了很大的帮助,锻炼了我的能力。

参考文献

1. 耿祥义张跃平编著《JA V A2实用教程》(第4版)北京:清华大学出版社

2. 张跃平耿祥义编著《Java 2实用教程(第4版)实验指导与习题解答》北京:华大学出版社

3. 齐治昌、谭庆平、宁洪编著,《软件工程》北京:高等教育出版社1997年7月

4. 印旻编著,《java语言与面向对象程序设计》北京:清华大学出版社2000年9月

5. 荣钦科技编著,《Java 2 游戏设计》北京:清华大学出版社2004年11月

6. 朱福喜编著,《Java 程序设计技巧与开发实例》北京:人民邮电出版社2004年2月

相关主题
文本预览
相关文档 最新文档