当前位置:文档之家› 基于Java的魔板游戏的设计与开发

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

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

2009级程序设计综合课程设计报告

学 院 : 信息与电子工程学院 专 业 : 计算机科学与技术 班 级 : 计算机班 学 号 :

、 、

学生姓名 :

(组长)、

指导教师 :

二○一一年 六月

报告题目: 基于Java 的魔板游戏的

设计与开发

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

1.1主要任务与目标

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

(2)熟悉数据库SQLServer 2008的使用,熟悉数据库编程语言(主要是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包):

File musicFile =new File(“hello.au”);

获取URI对象(URI类属于https://www.doczj.com/doc/3e4926857.html,包):

URI uri=musicFile.toURI();

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

AudioClip clip=Applet.newAudioClip(url);

播放,循环与停止:

Clip.play()

Clip.loop()

Clip.stop()

1.3开发工具

JCreator Pro、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]兰红,王建雄,黄云.基于Java Swing的《中国象棋》游戏的设计与实现.[J]

《电脑开发与应用》2006年第19卷第11期.60-61

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

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

2009年第5卷第6期

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

《电脑爱好者》2003年14期

[06]Petchel T.晏利斌.孙淑敏.邵荣《JAvA 2游戏编程》2005

[07]荣钦科技《JA V A 2游戏设计》2004

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

[09] 尚俊杰.李芳乐.李浩文《"轻游戏":教育游戏的希望和未来》[期刊论文]-电

化教育研究2005(01)

[10] 丁振凡.Java语言使用教程[M].北京:北京邮电大学出版社,2004

[11] 陆光义.Java游戏编程导学.北京:清华大学出版社,2004

[12] 朱付喜.Java语言与面向对象程序设计.武汉:武汉大学出版社,2002

[13] Adam Drozdek.数据结构与算法(Java语言版).北京:机械工业出版社,2003.7

[14 ]萨师煊,王珊.数据库系统概论[M].北京:清华大学出版社,2002

1.6小组分工

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

详细设计:负责Block类,HandleImage类,HandleMove类,VerifySuccess 类的编写。

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

详细设计:负责PuzzleGame类,Point类的编写。程序运行。音乐功能的添加,登陆界面功能的增加。

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

详细设计:负责PuzzlePad类的编写。代码检查。英雄榜功能的增加,查看英雄榜功能的增加。

学生(签字)2011年4月11日指导教师2011年4月11日

目录

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

1.1主要任务与目标............................................................................................................ - 1 -

1.2主要内容与基本要求.................................................................................................... - 1 -

1.3开发工具........................................................................................................................ - 2 -

1.4计划进度........................................................................................................................ - 2 -

1.5主要参考文献................................................................................................................ - 3 -

1.6小组分工........................................................................................................................ - 3 -摘要 ............................................................................................................................................. - 7 -ABSTRACT ................................................................................................................................. - 8 -第一章引言.......................................................................................................................... - 9 -1.1背景.................................................................................................................................. - 9 -1.2课程设计内容.................................................................................................................. - 9 -

1.2.1需求分析................................................................................................................ - 9 -

1.2.2课程设计内容...................................................................................................... - 10 -

1.2.3设计工具与运行环境.......................................................................................... - 12 -第二章魔板游戏详细设计................................................................................................ - 13 -2.1 系统的需求分析................................................................................................................. - 13 -

2.1.1 用户登录界面图...................................................................................................... - 13 -

2.1.2 设计流程图.............................................................................................................. - 14 -

2.1.3 系统开发及运行环境.............................................................................................. - 15 -

2.1.4 系统主要功能要求.................................................................................................. - 16 -2.2 系统的详细设计................................................................................................................. - 16 -

2.2.1 PuzzleGame类 ...................................................................................................... - 16 -

2.2.2 PuzzlePad类.......................................................................................................... - 19 -

2.2.3 Black类 ................................................................................................................. - 21 -

2.2.4 Point类 .................................................................................................................. - 22 -

2.2.5 HandleImage类 ..................................................................................................... - 24 -

2.2.6 HangleMove类...................................................................................................... - 25 -

2.2.6 VerifySuccess类.................................................................................................... - 27 -第三章魔板游戏系统的具体实现.................................................................................... - 29 -

3.1 游戏主类的设计................................................................................................................. - 29 -3.2 魔板对象的实现................................................................................................................. - 30 -3.3 游戏使用时间的设计......................................................................................................... - 32 -3.4 游戏成功与否的判断设计................................................................................................. - 33 -3.4 程序设计及调试运行......................................................................................................... - 34 -第四章添加新功能............................................................................................................ - 35 -

4.1 增加英雄榜功能................................................................................................................. - 35 -4.2 增加查看英雄榜功能......................................................................................................... - 36 -

4.3 增加背景音乐功能............................................................................................................. - 37 -4.4增加登录界面功能............................................................................................................. - 37 -第五章结束语.................................................................................................................... - 38 -致谢 ........................................................................................................................................... - 39 -参考文献:................................................................................................................................ - 40 -附录:源代码............................................................................................................................ - 41 -PuzzleGame ....................................................................................................................... - 41 -PuzzlePad.java ................................................................................................................... - 43 -Block.java .......................................................................................................................... - 46 -Point.java ........................................................................................................................... - 46 -HandleImage.java .............................................................................................................. - 47 -HandleMove.java ............................................................................................................... - 47 -VerifySuccess.java ............................................................................................................. - 49 -Record.java ........................................................................................................................ - 50 -ShowRecord.java ............................................................................................................... - 51 -Login.java .......................................................................................................................... - 53 -PlayMusic.java ................................................................................................................... - 54 -

摘要

一种较“捉放曹”玩耍方式多,游戏可易可难,且功能多的智力魔板,它由具有边框及活动档板的魔盘和若干块两面都印有图案或者数字的魔板组成。各魔板两面的图案分别数字表示其序号。游戏时可随意调节魔盘的使用面积和自由布题,然后滑动魔板,使故事情节展现在眼前,即使智力较低的幼儿,也可看图说话、讲故事和做拼图、排画等智力积木游戏。使其启迪思维、开发智力。我们用java语言编写的游戏可以完成对数字、图案的一个游戏,设计调用一些类以及类方法来完成我们的设计目的。

关键字:智力魔板、游戏、java、开发智力

ABSTRACT

A relatively "catch put cao" play, the game can be easy way can be difficult, and the intelligence function is much, it MoBan have bord ers and activities by the baffl e plate and several bl ocks d emons with both sid es of the MoBan pattern or digital. The two sid es MoBan pattern of digital said its serial number respectively. Games can be adjusted as the use of magic plate area and free cl oth, and then sliding MoBan problem, make the story unfolded in front of their eyes, even if intelligence l ower kindergarten, also can speak, tol d stories and pictures do puzzl es, row painting and other intelligence board games. Make its enlightenment thinking, and d eveloping intelligence. We use Java language games written for digital, d esign can be compl eted in a game, d esign of some kind and call way to accomplish our d esign goal.

Key word: intelligence MoBan, games, Java, and d eveloping intelligence

第一章引言

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所示。

图1 类之间的组合关系

以下是我们编写的6个java 源程序的总体设计。 (1) PuzzleGame.java (主类)

PuzzleGame 类负责创建魔板游戏的主窗口,该类含有main 方法,程序从该类开始执行。PuzzleGame 类成员变量中有4中重要类型的对象:PuzzlePad 、JMune 、JRadioButton 和JButton 。PuzzleGame 类的主要成员的作用将在后面的

PuzzleGame

JMune

PuzzlePa

d JRadioButto

n

JButtob

Point

Block

HandleMove

Image

HandlelMage

VerifySuccess

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

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

(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、JCreator Pro。

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

第二章 魔板游戏详细设计

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

2.1 系统的需求分析

2.1.1 用户登录界面图

用户信息

输入信息是否

合法

用户登录到主界面

弹出错误信息

输入

登录界面

动跳转

验证

图3 登录功能结构图

2.1.2 设计流程图

图4-1总体流程图

开始 魔板游戏开始界面

Switch

开始游戏

计时器计时

开始移动方块

改变游戏难度

完成游戏 选初级

初级

高级 重新放置方块

改变游戏玩

选择数字玩法

数字玩法 图像玩法

选择一幅新图像

选择默认图像

确定玩法

退出

结束

图4-2 总体功能图

2.1.3 系统开发及运行环境

硬件平台:

? CPU :P41.8GHz ?

内存:256MB 以上

软件平台:

? 操作系统:Windows XP ? 开发工具包:JDK Version1.6.2 ? JSP 服务器:Tomcat 6.0 ? 浏览器:推荐使用IE6.0 ?

分辨率:最佳效果1024*768像素

主界面

开始

选择级别

选择图像

数字玩法

图像玩法

初级

高级

使用一幅新图像

使用默认图像

2.1.4 系统主要功能要求

我们所完成的魔板游戏可以实现基本的魔板游戏的功能。此项目魔板游戏可由用户选择3*3和4*4两个不同难度,N*N的魔板游戏原理与此相同,游戏可以通过下拉列表实现选择不同的游戏图像,增加游戏的趣味性。点击“开始游戏”按钮后可以实现游戏步骤的计数,拼图右边有一个完整的图像可以供用户参照,用鼠标单击任何与格子相邻的方块可以把该方块移入空格子。通过不断地移动方块,可以将方块一行一行按数字或图片依次拼图。若成功完成拼图(即左边的拼图与右边的参照图像一样),则有提示:“恭喜您,成功完成”的字样出现。

2.2 系统的详细设计

2.2.1 PuzzleGame类

1、效果图

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

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

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

图5 PuzzleGame 创建的窗口

2、UML 图

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

图6 PuzzleGame 类的UML 图

以下是UML 图中有关数据和方法的详细说明。 1)成员变量

puzzlePad 是PuzzlePad 类声明的对象,用来刻画魔板,是PuzzleGame 类中

puzzlePad :PuzzlePad digitPlay,imagePlay:JRadioButton bar :JMenuBar startButton:JButton gradMenu,choiceImage:JMenu tool:Toolkit oneGrade,twoGrade:JMenuItem image:Image newImage,defaultImage:JMenuItem

PuzzleGame ():无类型

actionPerformed(ActionEvent):void main(String[]):void

JFrame

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.2 PuzzlePad类

1、效果图

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

(a)数字魔板

(b)图像魔板

图7 PuzzlePad创建的魔板对象

2、UML图

PuzzlePad类时javax.swing包中JPanel容器的子类,所创建的对象:puzzlePad 是PuzzleGame类中最重要的成员之一,作为一个容器添加到PuzzleGame窗口的中心。标明PuzzlePad类的主要成员变量、方法以及和PuzzleGame类之间组合关系的UML图如图8所示。

魔板游戏_java课设_含可运行程序文件

系统的流程图如图2所示。 图2 魔板游戏系统流程图 2.3.2 总体设计 (1)PuzzleGame.java(主类) PuzzleGame类负责创建魔板游戏的主窗口,该类含有main方法,程序从该类开始执行。PuzzleGame雷的成员变量中有4种重要类型的对象:PuzzlePad、JMenu、JRadioButton和JButton。PuzzleGame类的主要成员的作用将在后面的详细设计中阐

述,PuzzleGame类创建的窗口以及其中的主要成员对象如图3所示。 图3 PuzzleGame窗口及主要的成员对象 (2)PuzzlePad.java PuzzlePad类创建的对象是PuzzleGame类最重要的成员之一,代表“魔板”。该类的成员变量中有5种重要类型的对象:Point、Block、HandleMovee、HandleImage 和Image。PuzzlePad类的主要成员的作用将在后面的详细设计中阐述。 (3)Block.java Block类是JTextField的一个子类创建的对象是PuzzlePad类的重要成员之一,用来表示“魔板”中的“方块”。 (4)Point.java Point类负责创建确定位置的对象,使用Point对象可以确定Block对象在PuzzlePad对象中的位置,即确定“方块”在“魔板”中的位置。 (5)HandleImage.java HandleImage类所创建的对象负责将一幅图像分成若干个小图像。 (6)HandleMove.java HandleMove类所创建的对象负责处理鼠标事件。

digitPlay和imagePlay是JRadioButton创建的属于同一选择组中的单选框,名字依次为“数字玩法”,“图像玩法”。同一时刻,digitPlay和imagePlay中只能有一个处于选中状态。 startButton是JButton创建的按钮对象,名字为“开始”。startButton将当前窗口注册为自己的ActionEvent事件监视器。 image是Image声明的对象。 Tool是Toolkit对象,负责创建image对象。 ②方法 PuzzleGame()构造方法,负责完成窗口的初始化操作。 actionPerformed(ActionEvent)方法是PuzzleGame类实现ActionListener接口中的方法。PuzzleGame类创建的窗口是菜单中的菜单项、单选框以及按钮上的ActionEvent事件监视器。如果用户选中oneGrade或twoGrade菜单项时actionPerformed (ActionEvent)方法所执行的操作分别让puzzlePad对象将自己的级别设置为以及或二级。如果用户选中newImage或defaultImage菜单项时,actionPerformed(ActionEvent)方法所执行的操作就是分别改变image对象。当用户单击start按钮后,如果单选框disPlay处于被选中状态,那么actionPerformed (ActionEvent)方法所执行的操作就是让puzzlePad对象使用数字魔板,如果单选框imagePlay被选中时,那么actionPerformed (ActionEvent)方法所执行的操作就是让puzzlePad对象使用图像魔板。 (2)PuzzlePad类 效果图:PuzzlePad创建的魔板对象效果如图7所示。 (a)数字魔板(b)图像魔板 图7 PuzzlePad创建的魔板对象 UML图:PuzzlePad类是javax.swing包中JPanel容器的子类,所创建的对象:puzzlePad是PuzzleGame类中最重要的成员之一,作为一个容器添加到PuzzleGame

新版扫雷游戏设计与实现 正文

1 引言 扫雷最原始的版本可以追溯到1973年一款名为“方块”的游戏。不久之后,“方块”被改写成了游戏“Rlogic”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆·安德森在“Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。1981年,微软公司的罗伯特·杜尔和卡特·约翰逊两位工程师在Windows 3.1系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。 1.1 开发背景 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常生活中的一部分,越来越多的人使用计算机办公、娱乐等等。 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。本次的毕业设计我将利用Visual C++作为开发工具,开发一款类似的“扫雷游戏”。 1.2开发的目的以及意义 经过四年的大学学习,我对理论知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。本次毕业设计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要意义。 2 需求分析 2.1 功能概述 扫雷游戏的游戏界面如图1所示。在这个界面中,由众多面积均等的小方块所组成的区域称之为雷区,雷区的大小由用户设置的游戏等级决定。

C#面向对象课程设计--拼图游戏

《C#程序设计》课程设计 题目:拼图游戏 专业:计算机科学与技术 学号: 姓名: 指导老师: 完成日期: 2012/12/26

《C#课程设计》评分标准 题目:拼图游戏专业:计算机科学与技术学号:姓名:

目录 1 前言 (4) 2 需求分析 (4) 2.1要求 (4) 2.2任务 (4) 2.3运行环境 (4) 2.4开发工具 (4) 3 概要设计与详细设计 (5) 3.1系统流程图 (5) 3.2结构功能图 (5) 4 编码与实现 (6) 4.1编码分析 (6) 4.2具体代码实现(附源代码) (9) 5 课程设计总结 (18) 参考文献 (19)

1.前言 拼图游戏一款非常经典的小游戏,因为它比较简单有趣,无论老少都比较适合。拼图的设计对每一个C#语言设计者进行语言提高和进阶都是一个很好的锻炼机会。拼图游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。因此,如何设计和开发好这个拼图游戏,对于提高C#开发水平和系统的设计能力有极大的帮助。在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。一个3×3的魔板,有一个格子是空的,其他格子随机放置1-8共8个编号的方块,通过单击任意一个与空格子相邻的方块可以把该方块移入空格子,不断的移动方块,直到方块按照图片的原来的顺序排好。 2 需求分析 2.1要求 (1)用C#语言实现程序设计; (2)利用PictureBox控件来实现图片的移动 (3)超过200步提示重新来 (4)界面友好(良好的人机互交),程序要有注释。 2.2任务 (1)制作流程图 (2)编写代码; (3)程序分析与调试。 2.3运行环境 (1)WINDOWS2000/XP/win7系统 (2)TurboC2.0编译环境 2.4开发工具 C#语言

游戏开发课程设计报告模版-扫雷游戏报告(定稿)

中原工学院信息商务学院 课程设计报告 2016~2017学年第一学期 课程游戏开发课程设计 课程设计名称扫雷游戏 学生姓名*** 学号***** 专业班级数媒141 指导教师郑全录 2016年12月

目录 第一章设计内容及要求 (1) 1.1 扫雷游戏的基本要求 (1) 1.2 游戏需要实现的主要功能 (1) 第二章需求分析 (2) 2.1扫雷游戏界面设计 (2) 2.2 雷区的设计 (2) 2.3 音效的设计 (3) 2.4 扫雷英雄榜的设计 (3) 第三章总体设计 (5) 3.1 总体功能图 (5) 3.2 总体流程图 (5) 第四章主要功能设计流程 (6) 4.1 雷区设计流程图 (6) 4.2 音效设计流程图 (6) 4.3 英雄榜设计流程图 (7) 第五章主要功能设计流程 (8) 5.1 类之间关系图 (8) 5.2程序运行效果图 (8) 5.2.1 游戏登录界面 (8) 5.2.2游戏菜单界面 (9) 5.2.3游戏运行界面 (10) 5.2.4游戏英雄榜界面 (12) 第六章总结 (13) 参考文献 (14) 附录 (15)

第一章设计内容及要求 1.1扫雷游戏的基本要求 当前各种游戏层出不穷,因为游戏的开发成本非常大,所以游戏的开发具有一定的风险性,但是一些小游戏的开发成本具有成本小,编写简单的优势,所以这些小游戏在游戏开发中也占有一席之地。在这类小游戏中包括益智类游戏,它以画面精美、游戏方法简单等特点得到大家的认可。成为人们在工作之余不可或缺的好伙伴。针对这种情况我选择了扫雷游戏该课题作为我的课程题目。 Windows XP和Windows 7系统提供的扫雷游戏是一个很有趣的游戏。本次课程设计的主要任务是使用JA V A语言编写一个与其类似的扫雷游戏。具体要求如下: 1、扫雷游戏分为初级、中级和高级三个级别,同时扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。 2、选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击雷区中任何一个方块便启动了计时器。 3、用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下没有雷,则显示一个数字,该数字代表此方块周围的8个方块中共有多少颗雷。 4、如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),窗口左上角的雷数计数器将会减少一个。 5、扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。 6、用户如果遇到疑问的方块,可以勾选游戏菜单下的标记选项卡(或者用快捷键Alt+G然后点击M)即可标记该可疑方块,此时双击右键并可出现“?”标记。另有颜色选项,当用户选中该项时,游戏将以最低图像像素来显示。 7、如果用户需要使用提示声,可选中声音选项,此时将听到计时的咔嗒声。当用户点中雷时,将有爆炸声产生;胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。 1.2游戏需要实现的主要功能 1、用户可以自定义级别并且可以任意输入雷数; 2、具有计时功能,既显示用户完成所有扫雷任务所需要的时间; 3、自动保存扫雷英雄榜。

扫雷游戏的设计与开发论文

扫雷游戏的设计与开发目录

1流程规划 2画面规划 3鼠标使用 4地雷及雷区表面探测情况5除去未靠近地雷的方块6游戏的调试 7参考文献

1.流程规划 流程规划大致上可以分为三个部分,分别为:画面初始、游戏者按下第一个方块和为非地雷方块时展开。 流程规划如图1所示: 图1整体流程规划图

2.画面规划 画面规划如图2所示: 图 2说明如下: ①:游戏窗口(Form )。为了避免因改变窗口大小而造成画面呈现不美观,在这里将BorderStyle 属性设定为3(双线固定对话框),即无法以窗口边缘进行窗口大小调整。 ②:地雷数显示区(PictureBox )。 ③:游戏状态(Image )。 ④:游戏时间显示区(PictureBox )。 ⑤:计数及状态区(PictureBox )。 ⑥:地图区图样(Image )。 ⑦:地雷区(PictureBox )。 ⑧:存储图片的组件,包括游戏状态图片、地雷区图片、地雷数及秒数数字图片(Imagelist )。 ⑨ :秒数控制(Timer )。游戏的详细设计 3.游戏初始化 当玩家开始游戏时,游戏画面如图3所示: ③

图3游戏初始画面 我们可以清楚的看到,游戏界面主要分为两个主要部分:1. 计数及状态区;.地雷区。 首先我利用PictureBox 组件,PictureBox 为容器类型的组件,因此可以加入其他组件在其内。在游戏中我利用了PictureBox 组件的两个特性,分别为容器特性及立体框线,具体如下: (1)容器特性:只要容器本身显示的行为改变,在容器内的组件也会跟着改变。当游戏初始时,地雷区的显示组件会循环执行,逐一布置在画面上,但由于执行循环时多个Image 组件要显示图形,造成分时系统执行频率显示上会出现不流畅的情形,若在循环执行前,先将容器本身的Visable 属性设为False ,在循环执行完成后再将Visable 属性设为Ture ,则显示就会变得流畅许多。 (2)立体框线:通过组件本身立体框线的属性设定,可以为游戏画面的显示上营造出层次感。 然后再利用ImageList 组件来存储游戏中将要使用的图片,我们可以将组件布置于窗体后编辑组件属性,如图4所示: 图4 通过InsertPicture 和RemovePicture 按钮即可编辑组件所存放的图片。

魔板游戏(内含源代码)

XX学院计算机科学与技术系 实验报告 课程名称程序设计基础实验(2) 实验项目应用系统的面向对象设计与分析 实验类型综合性实验 完成人 所在班级 指导教师 完成日期2009年11月 30 日

目录 一、实验报告简表 (02) 二、设计内容与要求 (02) 1、设计内容 2、设计要求 三、总体设计 (03) 1、需求分析 2、功能描述 3、设计工具与运行环境 4、类及类间关系描述 四、详细设计 (05) 1、类图 2、源代码 五、实例运行及应用效果 (20) 1、魔板游戏界面 2、测试游戏及输出结果 六、体会与总结 (24)

实验报告正文 一.实验报告简表 实验课题名称魔板游戏 综合性实验项目应用系统的面向对象设计与分析 服务课程程序设计基础实验(2) 实验小组组长 指导教师 参与实验人员及其在实验课题中承担的主要任务(包括组长) 学号小组成员姓名班级在实验课题中的主要作用 二.设计内容与要求 1、设计内容: 用面向对象的Java程序设计语言开发设计GUI界面的魔板游戏程序。 2、设计要求:

(1)、魔板由3*3或4*4的方格组成,其中一个格子是空的。对于3*3的魔板,其他格子里随机放置8个编号为0-7的方块;对于4*4的魔板,其他格子里随即放置15个编号为0-14的方块,如果是n*n的方格原理相同。 (2)、用鼠标单击任何与格子相邻的方块可以把该方块移入空格子。通过不断地移动方块,可以将方块一行一行按数字顺序依次排序。 (3)、魔板游戏也可以使用图像来代替数字,对于3*3的魔板,将图像分成3*3个方块,打乱顺序后,放入魔板,并将其中一个方格置为空。最终目标是通过移动方块来恢复为原始图像。4*4的魔板与3*3的方法相似。 三.总体设计 1、需求分析: 魔板游戏就是大家以前常玩的拼板游戏!就是将一幅完整的图片分成小块,打乱顺序,再拼好,并且只能将图块和临界的空格交换位置。用最短的时间和最省的步骤将图形拼好,此玩法虽然简单,但特别考验智力,魔板游戏与魔方游戏相似属于益智游戏。 此项目我们需要通过面向对象的Java程序设计来实现,游戏设计中需要用到GUI图形界面的设计,产生随机数生成打乱的图片,各种事件(动作事件、鼠标事件和窗口事件等)的响应和处理等面向对象的知识来实现游戏的各项功能。

2012面向对象java版课程设计报告

课程设计 课程设计任务书

II 一、设计目的() 二、总体设计 三、关键技术() 四、程序流程 () 五、主要源代码 总体设计 在设计魔板游戏时,需要编写7java 源文件:、 PuzzlePad.java 、Point.java 、Block.java 、HandleImage.java 、VerifySuccess.java 和HandleMove.java 。 魔板游戏除了需要编写的上述7个java 源文件所给出的类外,还需要java 系 提供的一些重要的类,如JMenuItem 、JButton 、和JRadioButton 等类。魔板游戏所用到的一些重要的类以及之间的组合关系如图所示。 1.PuzzleGame.java (主类) PuzzleGame.java 类负责创建魔板游戏的主窗口,该类含有main 方法,程序从该类开始执行。PuzzleGame.java 类的成员变量中有4种重要类型的对象:PuzzlePad 、JMenu 、JRadioButton 和JButton 。 2.PuzzlePad.java PuzzlePad 类创建的对象是PuzzleGame 类最重要的成员之一,代表“魔板”。 该类的成员变量中雨5种重要类型的对象:Point 、Block 、HandleMove 、HandleImage 和Image 。 3.Block.java Block 类是JTextField 的一个子类,创建的对象是PuzzlePad 类的重要成员之一用来表示“魔板”中的“方块”。 4.Point.java

Point类负责创建确定位置的对象,使用Point对象可以确定Block对象在PuzzlePad对象中的位置,即确定“方块”在“魔板”中的位置。 5.HandleImage.java HandleImage类所创建的对象负责将一幅图像分成若干个小图像。 6.HandleMove.java HandleMove类所创建的对象负责处理鼠标事件。 7.VerifySuccess.java VerifySuccess类所创建的对象负责验证用户是否按要求成功排列魔板中的方块。 三、关键技术 四、程序流程

扫雷游戏的设计与开发1

扫雷游戏的设计与开发 摘要 本论文研究的是以Visual Basic 6.0为开发环境,设计并开发一款扫雷游戏,其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了制作游戏的整体思路及整个游戏设计的流程规划,然后介绍了雷区的布置及地雷随机产生的实现方法;重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为最要,鼠标事件是利用鼠标所发出的信息了解使用者的意图,进而做出相对应的动作,而清除未靠近地雷区方块由于引进了“递归”这个概念而使其简单化。 本次设计只是完成了扫雷游戏的基本功能,在细节方面仍有待以后完善。 关键词:扫雷;Visual Basic 6.0;事件;递归

The Design and Development of Mine Game Abstract What my thesis research for is basic on the develop environment of Visual Basic 6.0 , design and develop a mine game,its function is similar to the mine games of the Windows Operating System .The thesis has introduced the layout of mined areas and the method of how to create the mines at random. It use vairies of components in Visual Basic 6.0 and the combination of some simple calculations; the thesis lays emphasis on introducing the processing of each event in the game. Among these events ,the mouse event and the event of clearance of the area which isn’t close to the mine field are much more important.The theory of mouse event is that the intention of user is learned by the information sent out by the mouse and then the program runs according to the information .The other event is simplified by the introduction of the concept of recursion. This design has been completed the basic function of mine game. The details still need to be improved. Key words: Mine game, Visual Basic 6.0, Affairs, Recursion

Java程序设计课程设计指导

《Java程序设计》课程设计指导 课程编号:02 学时:2周 适用对象:信息与计算科学专业 先修课程:《Java程序设计》 一、课程的性质与任务 《Java 程序设计》课程设计是《Java 程序设计》课程的独立实践性环节,旨在结束或即将结束《Java 程序设计》课程后通过2 周的集中性强化训练,使学生消化运用已学的知识,全面掌握Java 的基本知识,提高Java 编程技术,初步尝试利用Java 语言从事软件开发工作。 二、课程设计目的与要求 1. 课程设计的目的 通过实验手段,使学生进一步加深面向对象的编程设计思想,提高学生在软件设计过程中分析问题和解决问题的实际动手能力,使学生的理论知识和实践技能得到共同发展。 2.课程设计的要求 (1)关于选题:参加课程设计的学生首先要了解设计的任务,仔细思考设计要求,然后根据自身的基础和能力情况选择具体的题目。一般来说,选择课题应以在规定的时间内能完成,并能得到应有的锻炼为原则; (2)关于设计的总要求:在进行设计时应根据所选题目写出设计目标,按照设计目标进行设计; (3)验收:在课程设计完成后应由指导教师当场运行、验收,只有在验收合格后才能算设计部分的结束。 (4)设计报告:课程设计结束后要写出课程设计报告,以作为整个课程设计评分的书面依据和存档材料。设计报告一般要以固定规格的纸张书写并装订字迹及图形要清楚、工整(电子文档尤佳)。内容及要求如下: ●设计任务、要求及所用软件环境或工具; ●软件开发框架; ●模块化程序设计; ●界面及运行效果、测试工具与测试效果; ●设计总结和体会。

三、课程设计的内容与安排 课程设计教材中共有12个题目,根据学生人数将学生2~4人分为一组,每组从9个课程设计题目中选择一个来完成。课程设计题目如下: 一记忆测试系统 实验内容: 改进记忆测试系统程序,具体要求如下: (1)改进程序,使用户能为方块选择更多种图标 (2)改进测试条件。 (3)改进程序,增加更加丰富的音乐效果。 (4)在“选择级别”菜单中增加“自定义”菜单选项,当用户单击“自定义”的菜单选项时,将弹出一个对话框,在该对话框中设置要求点击同样图标的个数。 二保存计算过程的计算器 实验内容: 参考Windows 2000/XP系统提供的计算器,改进计算器程序:(1)应增加以下功能:提供二进制运算;增加sqrt、1/x、x n、n!、log、ln、PI、sin、cos、exp及 ( )运算。(2)设置标准运算界面和科学运算界面,合理组织每个界面中的运算。(3)保存计算过程和结果及当前时间到文件。 三 Hannoi塔 实验内容: 改进Hannoi塔程序,增加一些新的功能: (1)增加计时功能,即显示用户完成移动盘子所花费的时间。 (2)用户可以设置最大和最小盘子的大小。 (3)用户可以选择播放和暂停音乐。 (4)用户可以设置盘子的数目。 (5)用户可以设置盘子的颜色及背景的颜色。 (6)用户可以将自动移动盘子的文本信息保存到文件。

java魔板游戏课程设计报告400字

java魔板游戏课程设计报告400字 魔板游戏Java课程设计 魔板游戏 Java课程设计 设计(论文)题目:所在院:专业班级:学生姓名学号:指导教师: 魔板游戏信息工程学院 年月日 课程设计(论文)任务书 设计题目:魔板游戏专业班级: 学号:姓名:主要内容 设计一个java语言的魔板游戏,主要包含:魔板游戏主窗口模块、游戏魔板模块、魔板中“方块”定位模块。 此游戏运用的是非常直观易操作的图形用户界面,通过对界面上的菜单、子菜单、以及单选按钮进行操作即可使本游戏顺利进行。编辑平台选用Eclipse 。其中用到了图形用户界面、异常处理、类的构成以及继承等java知识点。 基本要求: 能够使所设计的游戏正常的运行,

要保证无差错现象。而且使用户更加方便去操作,要有一定的功能来体现java 语言的精简性、稳固性、兼容性强等特性。 完成期限:2013年1月6日指导教师签名:评审小组负责人签名: 目录 1 概述........................................................... .... 1 1.1 课程设计目的.................................................. 1 1. 2 课程设计内容.................................................. 1 2 系统需求分析........................................................... 1 2.1 系统目标 (1) 2.2 主体功能 (2) 2.3 开发环境...................................................... 2 3 系统概要设计........................................................... 2 3.1 系统的功能模块划分............................................ 2 3.2 系

扫雷游戏程序设计课程设计报告

课 程 设 计 扫雷游戏程序设计 2013 年 11 月 5 日 设计题目 学 号专业班级 学生姓名 指导教师

合肥工业大学课程设计任务书

一.设计任务 (1)鼠标左击排雷,右击插小旗,打问号; (2)方格里面的数字表示方格周围的雷数; (3)能够显示未标记雷数和游戏用时; (4)雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏; (5)可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数),和自行定义雷区行数,列数和雷数的功能; (6)排行榜功能,扫雷成功时候,根据游戏用时更新排行榜。 二. 具体设计 (一)、设计思路 扫雷游戏是很经典也很有趣的一款游戏,这次的游戏程序设计要求设计出功能与原游戏相近的一款游戏,首先定义变量和类要画出游戏方格以及位图,设计游戏等级,等级越高方格越多雷数也越多;然后设置随机布雷以保证每次重新开始游戏都有不同的雷区地图;另外定义鼠标左击扫雷,左击标记周围埋雷情况,右击奇数次排雷偶数次取消上次排雷,以及扫雷第一次左击不能扫到雷。

(二)、设计表示: 1、鼠标左击排雷,右击插小旗,打问号; 2、方格里面的数字表示方格周围的雷数; 3、能够显示未标记雷数和游戏用时; 4、雷区上面的小脸可以变化,显示微笑,惊讶,痛苦,胜利。在任何情况下单击小脸可以重新开始游戏; 5、可进行游戏难度的设定:包括预定义的难度级别(雷区行数,列数和雷数); 6、任何时候开始游戏第一次点击不会扫到雷。 由于时间等原因未完成功能: 排行榜和自行定义雷区行数,列数和雷数功能。 (四)、详细设计 1、添加位图 前十二幅是在雷区的,后四幅是按钮。为了便于加载,必须各自保证其连续性。 分别表示游戏进行的状态、结果胜利或触雷。

魔板游戏课程设计

J a v a与面向对象技术 课程设计报告 ( 2011 -- 2012 年度第2 学期) 魔板游戏 专业电子信息工程 学生姓名吴才奇 班级电信四班 学号1103030429 指导教师周越 完成日期2012年7月14日

目录 目录 目录 (2) 1概述 (1) 1.1 课程设计目的 (1) 课程设计任务书 (1) 2需求分析 (2) 2.1 设计目标 (2) 2.2 主体功能 (2) 2.3 开发环境 (2) 3概要设计 (2) 3.1 系统的功能模块划分 (2) 3.1.1PuzzleGame.java类模块 (3) 3.1.4 Point.java类模块 (3) 3.2 系统流程图 (4) 4详细设计 (6) 5测试 (7) 5.1 测试方案 (7) 5.2 测试结果 (7) 6小结 (8) 参考文献 (10) 附录 (11) 附录1源程序清单 (11) 附录1.1PuzzleGame模块源程序 (11) 附录1.2PuzzlePad模块源程序 (13) 附录1.3Block类模块源程序 (16) 附录1.4Point类模块源程序 (17) 附录1.5HandleImage类模块源程序 (18) 附录1.6HandleMove类模块源程序 (18) 附录1.7VertfySuccess类模块源程序 (20) 附录1.8Sound类模块源程序 (21) 附录1.8Sound类模块源程序 (21)

Java与面向对象技术课程设计报告(2012) 魔板游戏 1 概述 1.1 课程设计目的 利用所学高级语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识 完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。 1.2课程设计任务书 学院信息学院专业电子信息工程 学生姓名吴才奇班级学号1103030429 课程设计题目基于Java的魔板游戏软件设计 实践教学要求与任务: 采用java技术设计魔板游戏软件,设计要求如下: (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个格 子组成。 “模板游戏”提供一幅默认图像,用户可以使用该图像来玩魔板游戏。用户也可以 使界面提供的菜单选择一幅新图像,然后使用这个新的图像来玩魔板游戏。 工作计划与进度安排: 第18周:布置课程设计任务,查阅资料,分组设计,程序调试。 第19周:程序调试,编写课程设计报告,验收,答辩。 指导教师: 2012年月日专业负责人: 2012年月日 学院教学副院长: 2012年月日

基于Java的扫雷课程设计(DOC)

《算法设计与分析》课程设计 扫雷游戏设计 班级计科1003班 姓名 指导教师 开发时间2012.12.18 湖南涉外经济学院信息科学与工程学院 2012年12月

摘要 扫雷游戏是Windows操作系统自带的一个小游戏,过去的几年里Windows 操作系统历经数次换代,变得越来越庞大、复杂,但这个可爱的小游戏在任何版本的Windows操作系统里去地依然保持着原貌。但几乎每个电脑使用者都接触过它,并且深爱着这款小游戏。 游戏上手极其简单,但是要熟练地掌握其中的操作及找出雷的技巧,难度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法相比的。 游戏的操作方面主要以鼠标为主,当鼠标指针对准未翻开的方块按下左键时即表示翻开方块,当鼠标指针对准未翻开的方块按下右键时即表示标示或疑示地雷,反复按下右键则方块会以未标示→标示→疑似三者关系不断循环。游戏者可以通过地雷区内的数字提示了解以数字为中心的其周边八个方格内所含的地雷数,假若翻开的方块显示数字“3”,则表示以其为中心的周边方块内藏有3个地雷。当按下的方块不是地雷,且周边八个方块也都没有地雷时,方块会以被翻开方块的八个方向将空白方块翻开。。 扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法和语言实现,如C,C++,VB,Jave,C#等。本论文研究的是以java为开发环境,设计并开发一款扫雷游戏,其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了制作游戏的整体思路及整个游戏设计的流程规划,然后介绍了雷区的布置及地雷随机产生的实现方法;重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为重要,鼠标事件是利用鼠标所发出的信息了解使用者的意图,进而做出相对应的动作。 关键词:java;扫雷;课程设计;

java魔板游戏课程设计报告

Java 课程设计报告 魔板游戏的设计 专业 计算机科学与技术(网络技术) 学生姓名 班 级 学 号 指导教师 完成日期 2014年1月10日

目录 1设计要求 (1) 2总体设计 (2) 2.1 PuzzleGame类设计 (2) 2.2 PuzzlePad类设计 (2) 2.3 Block类设计 (3) 2.4 Point类设计 (3) 2.5 HandleImage类设计 (3) 2.7 VerifySuccess类设计 (3) 3详细设计 (3) 3.1PuzzleGame类 (3) 3.2PuzzlePad类 (5) 3.3 Block类 (7) 3.4 Point类 (8) 3.5 HandleImage类 (9) 图10 HandleImage类的UML图 (9) 3.6 HandleMove类 (9) 3.7 VerifySuccess类 (11) 5软件发布 (18) 6程序运行效果 (19) 7设计心得 (20)

魔板游戏的设计 1设计要求 魔板游戏是一款经典的智力游戏,具体要求如下: (1)魔板由3*3或4*4个格子组成。对于3*3魔板,在前8个格子里随即放置8个编号1-8的方块,最后一个格子是未放置方块的空格子;对于4*4的魔板,在前15格子里随即放置15编号1-15的方块,最后一个格子是未放置方块的空格子。 (2)用鼠标单击任何与空格子水平或垂直相邻的方块可以把该方块移入空格子,而当前方块移动之前所在的格子成为空格子。通过不断地移动方块可以将方块按数字顺序排好。例如,对于3*3格子组成的魔板,要求方块最后排列的顺序如图1所示。 图1 (3)魔板游戏也可以使用图像来代替数字。例如,对于3*3的魔板,将一幅图像分成3*3幅小图像,除去最后一幅小图像(图像的右下角),将其余各幅小图像打乱顺序后放在魔板方块上,最终目标是通过移动方块恢复原始图像(不包括图像的右下角)。 (4)当用户按要求排列好方块后,程序弹出对话框,提示用户成功的消息。 (5)魔板游戏分为两个级别,用户可以通过界面上提供的菜单来选择“初级”或“高级”两个级别。对于“初级”级别,魔板由3*3个格子组成;对于“高级”级别,魔板由4*4个格子组成。 (6)“魔板游戏”提供一幅默认图像,用户可以使用该图像来玩魔板游戏。用户也可以使界面提供的菜单选择一幅新图像,然后使用这个新图像来玩魔板游戏。

(完整word版)JAVA课程设计--扫雷游戏.doc

合肥学院 计算机科学与技术系 课程设计报告 2009~2010 学年第二学期 课程Java语言与应用 课程设计名称扫雷游戏 学生姓名胡远远 学号0604031005 专业班级07 网络工程一班 指导教师许强张贯虹

2010 年09 月 1.设计内容及要求 1.1 扫雷游戏的基本要求 Windows 2000/XP 系提供的雷游是一个很有趣的游。本章的程 使用 Java 言写一个与其似的雷游。具体要求如下: (1)后将出相的雷区域,是用使用鼠左雷区中任何一个方便启 器。 (2)用要揭开某个方,可它。若所揭方下有雷,用便了一局,若所揭方下五雷,示一个数字,数字代表方的周的 8 个方中共有多少雷。 (3)如果用某个方下埋着雷,右可以在方上一个用 是雷的,即出一个雷。用每出一个雷 ( 无用的是否正确 ) ,程序将示的剩余雷数减少一个。 (4)雷利后,示游利。 (5)用可以右空格,可以“旗”、“ 号”或者返回成空格。 1.2 需实现的主要功能 (1)用点笑复位操作。 用 repaint()和 validate()函数界面行重置以及刷新操作 (2)可以示用完全雷成功所花。 文本框 TF 雷成功所花的 (3)在失和利后跳出失或利的文本框 JoptionPane 用来出框并提示利 2.需求分析 2.1 扫雷棋盘的布局设计 系的整体布局: CardLayout 布局 ,采用了文本框、按、面板、框架? 等件,菜主要有run 按笑和哭,按的功能是重新开始新的游。

2.2 雷区的设计 MineArea 类是 javax.swing包中Jpanel容器的子类,实现了ActionListener 和MouseListener 接口,所创建的对象: mineArea 是 MineGame类中最重要的成员之一,作为一个容器添加到 MineGame窗口的中心。标明 MineArea 类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如下图所示。 JPanel ActionListener MouseListener MineArea MineGame mineArea: row,colum,mineCount,markMount: in lay: LayMines MineArea block: Block[] record: Record ------------------ blockView: BlockView[][] reStart: JButton showTime: JTextField time: Timer shouMarkedMineCount: JTextField initMineArea(int,int,int): void show(int m,int n): void actionnPerformed(ActionEvent) void inquireWin(): void mousePressed(MouseEvent): void MineArea 类的 UML 图 以下是 UML 图中有关数据和方法的详细说明。 1、成员变量 (1)block 是 Block 类型的数组,用来确定雷区有多少需进行扫雷的方块。 (2)blockView 是 BlockView 类型的数组,负责为 block 数组中的 Block 对象提供视图。 (3)lay 是 LayMines 类型的对象,负责设置block 数组中的哪些方块是雷或不是雷。 (4)run 是一个按钮对象,用户单击它重新开始游戏。 (6)time 是计时器对象,负责计算用户的用时。 2、方法 (1)setbounds(int,int,int,int)方法可根据参数提供的数据设置雷 区的宽度、高度、雷的数目。 (2)actionPerformed(ActionEvent) 是 MineArea 类实现的 ActionListener 接口中的方法。当用户单击 blockView 中的某个方块时,actionPerformed(ActionEvent) 方法负责执行有关算法,例如,当用鼠标左键单击方块上的按钮后,若该方块下有雷, lost(ActionEvent) 方法将使用户输掉本局,若该方块下无雷, getboomcount(ActionEvent) 方法将显示 icon 对象中的标

课程设计魔板游戏

《面向对象程序设计》 课程设计报告 题目:魔板游戏设计 专业:计算机科学与技术 班级:12级(3)班 姓名:陈晓彤 指导教师:史学梅 成绩: 计算机学院 2015年4月24日 目录 1设计目的及内容错误!未定义书签。 课程设计目的错误!未定义书签。 课程设计内容错误!未定义书签。 2系统需求分析错误!未定义书签。 系统目标错误!未定义书签。 主体功能错误!未定义书签。

开发环境错误!未定义书签。 3概要设计错误!未定义书签。 系统的功能模块划分错误!未定义书签。类模块错误!未定义书签。 类模块错误!未定义书签。 类模块错误!未定义书签。 系统流程图错误!未定义书签。 4设计过程与分析错误!未定义书签。 5设计结果与测试错误!未定义书签。 参考文献: 错误!未定义书签。

1设计目的及内容 课程设计目的 利用所学高级语言的语法特性,结合数据结构算法、网络知识、文件处理和数据库等知识完成综合题目的设计和代码实现,并培养锻炼分析程序、撰写报告等能力。 课程设计内容 (1)设计一款经典的智力游戏,魔板游戏。魔板由3*3或4*4个格子组成。对于3*3魔板,在前8个格子里随即放置8个编号1-8的方块,最后一个格子是未放置方块的空格子;对于4*4的魔板,在前15格子里随即放置15编号1-15的方块,最后一个格子是未放置方块的空格子。(2)用鼠标单击任何与空格子水平或垂直相邻的方块可以把该方块移入空格子,而当前方块移动之前所在的格子成为空格子。通过不断地移动方块可以将方块一行一行地按数字顺序排好,例如,对于3*3格子组成的魔板,要求方块最后排列的顺序如图所示。 (3)魔板游戏也可以使用图像来代替数字。例如,对于4*4的魔板,将一幅图像分成4*4幅小图像,除去最后一幅小图像(图像的右下角),将其余各幅小图像打乱顺序后放在魔板方块上,最终目标是通过移动方块恢复原始图像(不包括图像的右下角)。 2系统需求分析 系统目标 设计GUI界面的魔板游戏程序。 主体功能 这个程序定义了一些组件,工具栏按钮,文本区和菜单。魔板游戏程序设计通过、、3个类来实现魔板游戏的整体功能。 开发环境 操作系统:Microsoft Windows 7 开发工具:、 3概要设计 系统的功能模块划分 在设计魔板游戏时,需要编写3个java源文件:、、。 魔板游戏除了需要编写的上述3个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JMenuItem、JButton和JRadioButton等类。 类模块 PuzzleFrame类负责创建魔板游戏的主窗口,该类含有main方法,程序从该类开始。PuzzleFrame 类的成员变量中有4种重要类型的对象:PuzzlePad、JmenuItem、JRadioButton和JButton。PuzzleFrame类的主要成员的作用将在后面的详细设计中阐述,PuzzleFrame类主要成员变量(属性)和主要方法如表所示。 表格1 主要成员变量(属性) 成员变量描述变量类型名称 魔板PuzzlePad PuzzlePad 开始游戏的按钮Jbutton开始 选择玩法JradioButton数字玩法,图像玩法 表格 2 主要方法 名称功能备注

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