qzw0608

1 绪论

1.1     项目概述

项目内容:GUI显示游戏界面,用户通过键盘控制实现俄罗斯方块的左移、游戏、旋转以及下落功能,最终实现累计消行,积分的功能。

项目要求:可以在游戏完成后输入用户姓名、游戏账号,然后对姓名、账号以及分数进行保存。主要分为四大块:GUI界面,游戏类,方块类,数据库。

a)       GUI界面:分为游戏区和信息区;

b)      游戏类:开始游戏,绘制下落方格形状,游戏开始函数,判断是否可以进行下落,将有方块的地方进行标记,消除一整行方块,进行加分,刷新游戏主面板区域,清除方块掉落之前有颜色的地方,绘制掉落后方块的图形;

c)       方块类:7种类型,19种形态,同一类型的不同形态进行转换,方块左移,右移,快速下落;

d)      数据库:对用户的信息进行保存。

1.2 项目意义

俄罗斯方块是一款风靡全球的游戏,俄罗斯方块的基本规则是移动、旋转和摆放游戏随机输出各种形状的方块。由于上手简单,老少皆宜,深受大家的喜爱。游戏在中国人的眼里,是耽误学生进步的主要原因,但是,俄罗斯方块这个游戏可以锻炼反应能力,专注能力,手速等等,在一定程度上提高自己的能力。在娱乐时提高,在休息时进步。


2 开发工具和相关技术简介

本项目是俄罗斯方块。开发环境:Eclipse、MySQL;开发语言:Java语言;开发技术:GUI、JDBC等。本章将对开发工具和相关技术进行简单介绍。

2.1 Eclipse简介(或者MyEclipse或者IEDA简介)

Eclipse是一个开放源代码的、基于Java的可扩展开发平台,是世界上最大的开源组织的产品。就其本身而言,它只是一个框架和一个服务,用于通过插件组件构造开发环境。幸运的是。Eclipse附带了一个标准的插件集,包括Java开发工具。

2.2 Java语言介绍

Java语言是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java语言的优点:

  1. 简单;
  2. 面向对象
  3. 跨平台
  4. 健壮性
  5. 安全性
  6. 多线程
  7. 动态
  8. 使用广泛

2.3 MySQL简介

MySQL是一款安全、跨平台、高效的,并与PHP、Java等主流编程语言紧密结合的数据库系统。MySQL功能强大,提供了多种数据库存储引擎,各引擎各有所长,适用于不同的应用场合,运行速度快,支持面向对象,数据库存储容量大,支持强大的内置函数。

2.4 JDBC技术简介

JDBC (Java Database Connectivity,Java数据库连接) 是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口。JDBC是一种底层的API。因此访问数据库时需要在业务逻辑层中嵌入SQL语句。SQL语句是面向关系的,依赖于关系模型,所以通过JDBC技术访问数据库也是面向关系的。

JDBC技术主要完成以下几个任务:与数据库建立一个连接,向数据库发生SQL语句,处理从数据库返回的结果。

需要注意的是,JDBC并不能直接访问数据库,必须依赖于数据库厂商提供的JDBC驱动程序。下面详细介绍JDBC驱动程序的分类。

 

 

 


3 系统需求分析

3.1 系统可行性分析

技术上可行:运用Eclipse,GUI,JDBC,JAVA基础知识来实现;

经济上可行:所有软件免费使用;

操作上可行:运用已掌握的JAVA知识,通过视频学习GUI和JDBC;

   综上所述,项目可行。

3.2 系统需求分析

俄罗斯方块:游戏开始,方块下落,在下落过程中实现方块的移动和变形,最终实现满行消除功能,记录得分;游戏结束后,输入姓名和账号,利用数据库保存信息。信息在数据库中查看。

 

图3-1 俄罗斯方块功能模块

3.3 组内成员分工

 

表3-1 组内成员分工情况表

序号

姓名

组内角色

小组分工

备注

01

秦紫薇

组长

游戏,数据库

02

孙丹丹

组员

方块

03

赵泽欢

组员

GUI界面

说明:组内角色:组长为项目经理;其他人分别为编码、测试、架构师等。

3.4 进度安排

进度安排如表3-2所示。

表3-2 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

5小时

需求分析

需求说明,功能模块图

设计阶段

5小时

系统设计

设计说明-可以画流程图;数据库设计

实现阶段

4天

编写代码

项目工程源代码

1天

系统测试

进行黑盒测试(功能测试)-测试说明

运行阶段

5小时

部署、运行

系统使用说明、运维报告-答辩

 


4 系统设计

4.1 系统设计

根据系统的实际功能需求分析,对系统功能部分进行了设计。

俄罗斯方块:游戏开始后,方块下落,通过键盘监听“a”键实现左移,监听“d” 键实现右移, 监听“s” 键实现下移, 监听“w” 键实现旋转,满一行消一行,直至方块堆积到距离上方边缘4个空格时游戏结束。结束后输入姓名和账号,统计积分,将信息保存到数据库中。

4.2 数据库设计

根据系统需求分析设计了1张表,为用户信息表。具体信息如表4-1所示。

表4-1  管理员信息表

序号

字段名

数据类型

约束

是否为空

说明

1

accountNum

varchar(255)

主键

游戏账号

2

name

varchar(255)

 

用户姓名

3

score

int(10)

 

得分

 

 

5 系统实现

5.1 游戏初始界面

用户通过运行,显示游戏初始界面如图5-1所示。

 

 

 

 

图5-1  游戏初始界面

5.2游戏结束界面  

当最上面四行有方块时,随机产生的方块就无法下落,游戏结束。

 

 

 

图5-2  游戏结束界面

5.3数据库

 

 

 

 

图5-3  信息保存界面

 

 

6 系统测试

在俄罗斯模块中主要对GUI界面、方块的移动形状以及变化、游戏功能模块进行测试,测试结果如表6-1所示。

表6-1 俄罗斯方块模块测试表

编号

测试功能

输入描述

预期结果

运行结果

C01

GUI界面

点击运行

可以正常显示出GUI界面

正常,与预期结果一致

C02

方块

按键盘a,左移;按键盘d,右移

按键盘s,下移;按键w,变换

在游戏过程中,可以通过键盘的按键对方块进行移动和改变形状

正常,与预期结果一致

C03

游戏

无输入

方块可以下落,并且满行时消除,分数累加

正常,与预期结果一致

C04

数据库

点击界面保存按钮

将用户信息保存

正常,与预期结果一致

       俄罗斯模块测试主要是针对用户的操作,从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果与预期结果一致。

 

 

7 结论和心得

学生1姓名:秦紫薇

心得:这两周时间是检验我们对JAVA的学习成果,考察我们动手能力,思维能力。通过综合项目,我收获了很多,首次在团队协作上大家积极配合,尽力完成这次项目,非常感谢大家,在项目过程中,一起讨论,一起解决问题,是非常快乐的一件事;其次在思考问题的过程中,从以前的只顾眼前到现在的深入其中,这使我们对知识的掌握更进一步;最后,一定要有明确的目标,有目标就会有动力,希望我们今后在目标的带领下走向更美好的明天!期间通过查资料,视频学习学到了很多新知识,从开始的迷茫到后来的掌握再到灵活运用,感谢老师们的付出,您辛苦了!以后的学习中我会更努力,学无止境。

学生2姓名:孙丹丹

心得:通过这次项目,使我受益匪浅,感悟最深有以下几点:一、明确分工很重要。每个人的任务确定之后,各司其职,有利于明确责任,发挥个人的主观能动性,使其既知道自己应该做什么,又思考怎样做好。在集体项目时。二、做事前先做计划,再开展行动。在做俄罗斯方块项目时,大家并没有先急于写代码,而是每个人先找好自己的位置,小组讨论,相互协助,最终做出了这个小游戏。现实生活中也是如此,我们做任何事情,都需要有一个明确的目标,只有确定了前进的方向和最终需要达到的结果,才能确定过程中所采取的方向与步骤。所以,只有规划好全局的目标和方向,才能做到事半功倍。三、团队协作的重要性。有时候一个人的力量是不够的,需要团队合作来完成,要相信自己,相信团队,齐心协力做好每项工作,我们会做的更好。四、注意用户体验。从用户使用的感觉中寻找可以改进的地方,在制定需求的时候,一定要将必要的细节、人性化的设定、对用户体验很重要的东西,写到主体需求里去。避免出现返工。此外,这个项目运用了java面向对象、数据库、GUI等知识点,我对此有了更深的了解。

学生3姓名:赵泽欢

心得:这次的综合项目是通过小组分工合作,互相帮助完成。通过此次的综合项目,我学到了很多,也让我获得了很高的成就感。项目实现过程中遇到了很多问题,我通过向老师,组员询问和网上查找资料解决了遇到的问题。比如,由于我设置的是游戏界面,在设置方块时遇到困难,我通过网上查找资料解决了这个对于我来说很难的问题,再比如,在项目基本完成时,为了美观,我们决定添加背景图,在小组成员的共同努力下我们也解决了这个问题。通过此次综合项目,我学到最重要的就是与组员之间的互相协作,在与组员之间互相协作之下完成此次项目是我最大的成就感。

分类:

技术点:

相关文章: