基于Java的魔板游戏的设计与开发.docx

上传人:b****2 文档编号:19675446 上传时间:2023-04-24 格式:DOCX 页数:77 大小:422.27KB
下载 相关 举报
基于Java的魔板游戏的设计与开发.docx_第1页
第1页 / 共77页
基于Java的魔板游戏的设计与开发.docx_第2页
第2页 / 共77页
基于Java的魔板游戏的设计与开发.docx_第3页
第3页 / 共77页
基于Java的魔板游戏的设计与开发.docx_第4页
第4页 / 共77页
基于Java的魔板游戏的设计与开发.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

基于Java的魔板游戏的设计与开发.docx

《基于Java的魔板游戏的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于Java的魔板游戏的设计与开发.docx(77页珍藏版)》请在冰豆网上搜索。

基于Java的魔板游戏的设计与开发.docx

基于Java的魔板游戏的设计与开发

 

程序设计综合课程设计任务书

1.1主要任务与目标

(1)掌握Java语言,能够学会使用Javascript,Jcreator开发具体的网站以及UML做分析需求。

(2)熟悉数据库SQLServer2008的使用,熟悉数据库编程语言(主要是SQL)。

(3)使用所学知识开发一个基于Java的魔板图像游戏。

1.2主要内容与基本要求

(1)模版由3*3或4*4个格子组成。

对于3*3魔板,在前8个格子里随即放置8个编号1~8的方块,最后一个格子是未放置的空格子;对于4*4的魔板,在前15个格子里随机放置15个编号为1~15的方块,最后一个格子是未放置方块的空格子。

(2)用鼠标单击任何与空格子水平或垂直相邻的方块可以把该方块移入空格子,而当前方块移动之前所在的格子成为空格子。

通过不断的移动方块可以将方块一行一行的按数字序号排好。

(3)魔板游戏也可以使用图像来代替数字。

例如,对于3*3的魔板,将一幅图像分成3*3福小图像,除去最后一幅小图像(图像的右下角),将其余各小图像打乱顺序后放在魔板的方块上,最终目标是通过移动方块恢复原始图像(不包括图像的右下角)。

(4)当用户按要求排列好方块后,程序弹出对话框,提示用户成功的消息。

(5)魔板游戏分成两个级别,用户可以通过界面上提供的菜单消息选择“初级”或“高级”两个级别。

对于“初级”级别,魔板由3*3格子组成;对于“高级”级别,魔板由4*4个格子组成。

(6)“魔板游戏”提供一幅默认图像,用户可以使用该图像来玩魔板游戏。

用户也可以使界面提供的菜单选择一幅新图像,然后使用这个新图像来玩魔板游戏。

(7)对相应的级别增加“英雄榜”功能。

当用户成功排列魔板中的方块后,如果成绩能排进前三名,就弹出一个对话框,将用户的成绩保存到“英雄榜”中。

(8)增加一个查看“英雄榜”的功能,使用户在玩游戏时,可以查看当前游的最高成绩。

(9)在HandleMove中增加播放音乐的功能模块,当用户移动方块后,程序播放简短的一声音乐。

用Java可以编写播放。

Au、.aiff、.wav、.midi、.rfm格式的音频。

假设音频文件hello.au位于应用程序当前目录中,有关播放音乐的知识总结如下:

创建File对象(File类属于java.io包):

FilemusicFile=newFile(“hello.au”);

获取URI对象(URI类属于包):

URIuri=musicFile.toURI();

创建音频对象(AudioClip和Applet类属于java.applet包):

AudioClipclip=Applet.newAudioClip(url);

播放,循环与停止:

Clip.play()

Clip.loop()

Clip.stop()

1.3开发工具

JCreatorPro、JDK、Eclipse、UML、SQLServer2008等。

1.4计划进度

(1)4月11日--4月17日:

分组确定组员,搜集资料、查阅文献,确定选题。

(2)4月18日--4月24日:

游戏的需求分析,游戏设计,游戏功能模块完善

(3)4月25日--4月30日:

基于魔板拼图游戏玩家信息存储的数据库分析与设计

(4)5月08日--5月21日:

主要模块程序流程图、编程实现游戏功能

(5)5月22日—5月27日:

魔板游戏平台调试、测试、修改与完善

(6)5月28日—6月02日:

魔板拼图游戏课程设计报告撰写

(7)6月03日—6月03日:

魔板拼图游戏课程设计报告答辩

1.5主要参考文献

[01]耿祥义,张跃平.java课程设计(第二版).清华大学出版社.2008年11月6章第

[02]兰红,王建雄,黄云.基于JavaSwing的《中国象棋》游戏的设计与实现.[J]《电脑开发与应用》2006年第19卷第11期.60-61

[03]江耿豪.编程型游戏编程框架的设计方法[J].《软件导刊》2010年第7期.

[04]吴闻.游戏程序设计中若干问题的探讨.[J].《电脑知识与技术:

学术交流》2009年第5卷第6期

[05]周凤英  文惺 .《Java游戏开发StepbyStep系列之三—Java游戏开发起步》。

《电脑爱好者》2003年14期

[06]PetchelT.晏利斌.孙淑敏.邵荣《JAvA2游戏编程》2005

[07]荣钦科技《JAVA2游戏设计》2004

[08]罗运模.王珊《SQLServer数据库系统基础》2000

[09]尚俊杰.李芳乐.李浩文《"轻游戏":

教育游戏的希望和未来》[期刊论文] -电化教育研究2005(01)

[10]丁振凡.Java语言使用教程[M].北京:

北京邮电大学出版社,2004

[11]陆光义.Java游戏编程导学.北京:

清华大学出版社,2004

[12]朱付喜.Java语言与面向对象程序设计.武汉:

武汉大学出版社,2002

[13]AdamDrozdek.数据结构与算法(Java语言版).北京:

机械工业出版社,2003.7

[14]萨师煊,王珊.数据库系统概论[M].北京:

清华大学出版社,2002

1.6小组分工

(组长):

资料汇总,撰写任务书,课程设计报告,部分代码编写注释,添加部分功能,总体设计,课程设计报告的总结。

详细设计:

负责Block类,HandleImage类,HandleMove类,VerifySuccess类的编写。

查找资料,需求分析,部分代码编写注释,添加部分功能

详细设计:

负责PuzzleGame类,Point类的编写。

程序运行。

音乐功能的添

加,登陆界面功能的增加。

查找资料,需求分析,部分代码编写注释,添加部分功能,

详细设计:

负责PuzzlePad类的编写。

代码检查。

英雄榜功能的增加,查看

英雄榜功能的增加。

 

学生(签字)2011年4月11日

指导教师2011年4月11日

程序设计综合课程设计任务书………..………………………………………………….…-1-

摘要

一种较“捉放曹”玩耍方式多,游戏可易可难,且功能多的智力魔板,它由具有边框及活动档板的魔盘和若干块两面都印有图案或者数字的魔板组成。

各魔板两面的图案分别数字表示其序号。

游戏时可随意调节魔盘的使用面积和自由布题,然后滑动魔板,使故事情节展现在眼前,即使智力较低的幼儿,也可看图说话、讲故事和做拼图、排画等智力积木游戏。

使其启迪思维、开发智力。

我们用java语言编写的游戏可以完成对数字、图案的一个游戏,设计调用一些类以及类方法来完成我们的设计目的。

关键字:

智力魔板、游戏、java、开发智力

ABSTRACT

Arelatively"catchputcao"play,thegamecanbeeasywaycanbedifficult,andtheintelligencefunctionismuch,itMoBanhavebordersandactivitiesbythebaffleplateandseveralblocksdemonswithbothsidesoftheMoBanpatternordigital.ThetwosidesMoBanpatternofdigitalsaiditsserialnumberrespectively.Gamescanbeadjustedastheuseofmagicplateareaandfreecloth,andthenslidingMoBanproblem,makethestoryunfoldedinfrontoftheireyes,evenifintelligencelowerkindergarten,alsocanspeak,toldstoriesandpicturesdopuzzles,rowpaintingandotherintelligenceboardgames.Makeitsenlightenmentthinking,anddevelopingintelligence.WeuseJavalanguagegameswrittenfordigital,designcanbecompletedinagame,designofsomekindandcallwaytoaccomplishourdesigngoal.

Keyword:

intelligenceMoBan,games,Java,anddevelopingintelligence

第一章引言

1.1背景

魔板游戏作为一种智力小游戏,受到广大中小学生以及一些上班族的喜爱,可以在忙碌的一天之后放松下自己紧绷的精神,同时可也以得到智力的提升。

魔板游戏的游戏规则十分简单,却拥有十分广阔选择空间,使得游戏背景图案可以变化多端,比其它游戏复杂深奥。

这就是魔板游戏的魅力所在。

玩魔板游戏对人脑的智力开发很有帮助,可增强一个人的计算能力、创造能力、思维能力、判断能力,也能提高人的注意力和控制力。

玩魔板游戏对儿童少年的智力发展起到积极作用,使他们能更好的分析事物。

Java语言是当今最为流行的程序设计语言之一作为一门非常优秀和极为健壮的编程语言,它同时具有的面向对象,与平台无关,分布式应用,安全,稳定和多线程等优良的特征,使用Java语言,不仅可以开发出功能强大的大型应用程序,而且Java语言本身突出的跨平台的特性也使得它特别适合于Internet上的应用开发,可以这样说,Java的出现使得所开发的应用程序“一次编写,处处可用”的实现成为了可能。

近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的娱乐项目,而魔板游戏能起到锻炼人的思维和修身养性的作用,而且魔板游戏水平颇高,我们可以自己选择不同难度的游戏,大有与人脑分庭抗礼之势。

1.2课程设计内容

1.2.1需求分析

魔板游戏就是大家以前常玩的拼板游戏!

就是将一幅完整的图片分成小块,打乱顺序,再拼好,并且只能将图块和临界的空格交换位置。

用最短的时间和最省的步骤将图形拼好,此玩法虽然简单,但特别考验智力,魔板游戏与魔方游戏相似属于益智游戏。

此项目我们需要通过面向对象的Java程序设计来实现,游戏设计中需要用到GUI图形界面的设计,产生随机数生成打乱的图片,各种事件(动作事件、鼠标事件和窗口事件等)的响应和处理等面向对象的知识来实现游戏的各项功能。

1.2.2课程设计内容

在设计魔板游戏时,需要编写7个Java源文件:

PuzzleGame.java、PuzzlePad.java、Point.java、Block.java、HandleImage.java、VerifySuccess.java和HandleMove.java。

模板游戏除了需要编写上述的7个源程序所给出的类外,还需要Java系统提供的一些重要的类,如JMenuItem、JButton等类。

魔板游戏所用到得一些重要的类以及之间的组合关系如下图1所示。

PuzzleGame

JMune

PuzzlePad

JRadioButton

JButtob

Point

Block

HandleMove

Image

HandlelMage

VerifySuccess

图1类之间的组合关系

以下是我们编写的6个java源程序的总体设计。

(1)PuzzleGame.java(主类)

PuzzleGame类负责创建魔板游戏的主窗口,该类含有main方法,程序从该类开始执行。

PuzzleGame类成员变量中有4中重要类型的对象:

PuzzlePad、JMune、JRadioButton和JButton。

PuzzleGame类的主要成员的作用将在后面的详细设计中阐述,PuzzleGame类创建的窗口以及其中的主要成员对象如图2所示。

图2PuzzleGame窗口及主要的成员对象

(2)PuzzlePad.java

PuzzlePad类创建的对象是PuzzlePad类最重要的成员之一,代表“魔板”。

该类的成员变量中有5种重要类型的对象:

Point、Block、HandleMove、HandleImage和Image。

PuzzlePad类的主要成员的作用将在后面的详细设计中说明阐述。

(3)Block.java

Block类是JTextField的一个子类,创建的对象是PuzzlePad类的重要成员之一,用来表示“魔板”中的方块。

(4)Point.java

Point类负责创建确定位置的对象,使用Point对象可以确定Block对象在PuzzlePad对象之中的位置,即确定“方块”在“魔板”中的位置。

(5)HandleImage.java

HandleImage类所创建的对象负责将一幅图像分成诺干个小图像。

(6)HandleMove.java

HandleMove类所创建的对象负责处理鼠标事件。

(7)VerifySuccess

VerifySuccess类所创建的对象负责验证用户是否按要求成功排列模板中的方块。

1.2.3设计工具与运行环境

(1)设计工具Eclipse、JCreatorPro。

(2)运行环境JDK1.6.0、Eclipse、window7。

第二章

魔板游戏详细设计

这一章时介绍开发环境和用到的开发工具,系统主要的功能设计,系统的数据流程图,UML图。

2.1系统的需求分析

2.1.1用户登录界面图

图3登录功能结构图

2.1.2设计流程图

开始

魔板游戏开始界面

Switch

开始游戏

计时器计时

开始移动方块

改变游戏难度

完成游戏

选初级

初级

高级

重新放置方块

改变游戏玩法

选择数字玩法

数字玩法

图像玩法

选择一幅新图像

选择默认图像

确定玩法

退出

结束

图4-1总体流程图

主界面

开始

选择级别

选择图像

数字玩法

图像玩法

初级

高级

使用一幅新图像

使用默认图像

图4-2总体功能图

2.1.3系统开发及运行环境

硬件平台:

❑CPU:

P41.8GHz

❑内存:

256MB以上

软件平台:

❑操作系统:

WindowsXP

❑开发工具包:

JDKVersion1.6.2

❑JSP服务器:

Tomcat6.0

❑浏览器:

推荐使用IE6.0

❑分辨率:

最佳效果1024*768像素

2.1.4系统主要功能要求

我们所完成的魔板游戏可以实现基本的魔板游戏的功能。

此项目魔板游戏可由用户选择3*3和4*4两个不同难度,N*N的魔板游戏原理与此相同,游戏可以通过下拉列表实现选择不同的游戏图像,增加游戏的趣味性。

点击“开始游戏”按钮后可以实现游戏步骤的计数,拼图右边有一个完整的图像可以供用户参照,用鼠标单击任何与格子相邻的方块可以把该方块移入空格子。

通过不断地移动方块,可以将方块一行一行按数字或图片依次拼图。

若成功完成拼图(即左边的拼图与右边的参照图像一样),则有提示:

“恭喜您,成功完成”的字样出现。

2.2系统的详细设计

2.2.1PuzzleGame类

1、效果图

PuzzlePad创建的窗口效果如图5所示。

(a)PuzzleGame创建的窗口(数字玩法)

(b)PuzzleGame创建的窗口(图像玩法)

图5PuzzleGame创建的窗口

2、UML图

MazeWindow类是javax.swing包中JFrame的一个子类,并实现了ActionListener接口,该类的主要成员变量和方法的UML图如图6所示。

puzzlePad:

PuzzlePaddigitPlay,imagePlay:

JRadioButton

bar:

JMenuBarstartButton:

JButton

gradMenu,choiceImage:

JMenutool:

Toolkit

oneGrade,twoGrade:

JMenuItemimage:

Image

newImage,defaultImage:

JMenuItem

PuzzleGame():

无类型

actionPerformed(ActionEvent):

void

main(String[]):

void

JFrame

PuzzleGame

图6PuzzleGame类的UML图

以下是UML图中有关数据和方法的详细说明。

1)成员变量

●puzzlePad是PuzzlePad类声明的对象,用来刻画魔板,是PuzzleGame类中最重要的成员之一

●bar是JMenuBar创建的菜单条,用来添加菜单。

bar被放置在窗口的顶部

●gradeMenu和choiceImage是JMenu创建的菜单,其名字分别为“选择级别”和“选择图像”。

gradeMenu,choiceImage被添加到菜单条(bar)中。

●oneGrade、twoGrade、newImage和defaultImage是JMenuItem创建的菜单项,名字依次为“初级”,“高级”,“选择一幅新图像”和“使用默认图像”,oneGrade和twoGrade菜单项被添加到菜单gradeMenu中,newImage和defaultImage都将当前窗口注册为自己的ActionEvent事件监视器。

●digitPlay和imagePlay是JRadioButton创建的属于同一选择组中的单选框,名字依次为“数字玩法”,“图像玩法”。

同一时刻digitPlay和imagePlay中只能有一个处于选中状态。

●startButton是JButton创建的按钮对象,名字为“开始”。

startButton将当前窗口注册为自己的ActionEvent事件监视器。

●image是Image声明的对象。

●tool是Toolkit对象,负责创建image对象

2)方法

●PuzzleGame()是构造方法,负责完成窗口的初始化操作。

●actionPerformed(ActionEvent)方法是puzzleGame类实现ActionListener接口中的方法。

PuzzleGame类创建的窗口是菜单中的菜单项、单选框以及按钮上的ActionEvent事件监视器。

如果用户选中oneGrade或twoGrade菜单项时actionPerformed(ActionEvent)方法所执行的操作分别是让puzzlePad对象将自己的级别设置为一级或二级。

如果用户选中newImage或defaultImage菜单项时,actionPerformed(ActionEvent)方法所执行的操作就是分别改变image对象。

当用户单击start按钮后,如果单选框digitPlay处于被选中状态,那么actionPerformed(ActionEvent)方法所执行的操作就是让PuzzlePad对象使用数字魔板,如果单选框imagePlay被选中时,那么actionPerformed(ActionEvent)方法所执行的操作就是让puzzlePad对象使用图像魔板。

●main方法是程序运行的入口方法。

2.2.2PuzzlePad类

1、效果图

PuzzlePad创建的魔板对象效果如图7所示。

(a)数字魔板

(b)图像魔板

图7PuzzlePad创建的魔板对象

2、UML图

PuzzlePad类时javax.swing包中JPanel容器的子类,所创建的对象:

puzzlePad是PuzzleGame类中最重要的成员之一,作为一个容器添加到PuzzleGame窗口的中心。

标明PuzzlePad类的主要成员变量、方法以及和PuzzleGame类之间组合关系的UML图如图8所示。

PuzzlePad

point:

Point[][]handleImage:

HandleImage

block:

Block[][];verifySuccess:

VerifySuccess

distance:

grade,m,n:

intimage:

Image

handleMove:

HandelMoveIsDigitPlay:

Boolean

tool:

Toolkit

PuzzlePad():

无类型needInit():

void

getHandleMove():

HandleMovesetIsDigitPlay():

void

setImage(Image):

voidsetIsImagePlay():

void

setGrade(int):

voidpanicComponent(Graphics):

void

getGrade():

int

JPanel

PuzzleGame

puzzlePad:

PuzzlePad

图8PuzzlePad类的UML图

以下是UML图中有关数据和方法的详细说明。

1)成员变量

●point是Point类型的而为数组,单元为Point类创建的对象,用来确定魔板中的方块的位置

●block是Block类型的二维数组,单元为Block类创建的对象,用来表示魔板中的方块。

●distance,grade,m和n是int型数据。

Point对象根据distance的值来进行初始化,以便确定Point对象之间的距离。

m和n的值是二维数值组block和point的行数和列数,m和n的默认值都是3。

Grade的值代表魔板的级别,默认值是1.

●handleMove是HandleMove类创建的对象,负责处理Block对象上的鼠标事件。

●handleImage是HandleImage类创建的对象,负责将一幅图像分成若干幅小图像。

●verifySuccess是VerifySuccess类创建的对象,负责验证用户是否按要求成功排列了魔板中的方块。

●image是Image声明的图像对象。

●tool是Toolkit对象,负责创建Image声明的图像对象:

image。

2)方法

●PuzzlePad()是构造方法,负责创建PuzzlePad对象。

●Puzzlepad对象调用getHandleMove()方法返回其中的HandleMove对象,即返回handleMove。

●PuzzlePad对象调用setImage(Image)方法设置image对象。

●PuzzlePad对象调用setGrade(int)方法设置魔板的级别。

●PuzzlePad对象调用getGrade()方法返回grade。

●PuzzlePad对象调用needInit()方法负责完成Block和Point对象的创建,以及完成对其他的对象的初始化。

●PuzzlePad对象调用setIsDigitPlay()方法将魔板设置为数字玩法。

●PuzzlePad对象调用setIsImagePlay()方法将魔板设置为图像玩法。

●PuzzlePad对象调用paintComponent(Graphics)方法将魔板使用的图像,即image对象,绘制在魔板的右侧。

2.2.3Black类

1、效果图

Block创建的对象效果如图9所示。

(a)对象1(b)对象2

图9Block创建的两个对象

2、UML图

Blo

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1