Java拼图游戏课程设计报告.doc

上传人:b****1 文档编号:231008 上传时间:2022-10-07 格式:DOC 页数:15 大小:1.02MB
下载 相关 举报
Java拼图游戏课程设计报告.doc_第1页
第1页 / 共15页
Java拼图游戏课程设计报告.doc_第2页
第2页 / 共15页
Java拼图游戏课程设计报告.doc_第3页
第3页 / 共15页
Java拼图游戏课程设计报告.doc_第4页
第4页 / 共15页
Java拼图游戏课程设计报告.doc_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Java拼图游戏课程设计报告.doc

《Java拼图游戏课程设计报告.doc》由会员分享,可在线阅读,更多相关《Java拼图游戏课程设计报告.doc(15页珍藏版)》请在冰豆网上搜索。

Java拼图游戏课程设计报告.doc

Java应用技术实训报告

题目多功能拼图游戏软件

起讫日期

所在院系  

学生姓名专业

班级学号

指导教师职称

所在单位

2008年月日

一.总体设计

本系统共包括11个java源文件和2文件。

这是个功能比较齐全的拼图游戏,最关键的不用自己手动切割图片,再进行加载。

而是应用类方法在内存中进行图片切割和加载,方便了用户的使用。

另外,该程序会根据图片的大小自动生成窗口大小,不会造成切割图片错误和切割错位。

程序最后以*.rc格式的文件来保存游戏记录。

1.类之间的关系如图1所示。

MenuFrame

CardFrame

Puzzle

ShowImage

GameOver

Split

Matrix

point

Grades

ButtonClick

2.java源文件及其功能如表1所示。

表1

序号

文件名

主要功能

备注

1

Puzzle.java

程序的主类,定义了各个组件的动作和为窗口设置图标

包含主函数程序的入口

2

CardFrame.java

游戏介绍界面添加继续按钮

采用卡片布局

3

MenuFrame.java

初始化游戏界面,创建并添加组件

声明了6个静态方法

4

ShowImage.java

在游戏中显示完整图片来提供帮助

5

Split.java

根据难度等级切割完整图片为拼图块

图块保存在内存中

6

Matrix.java

加载打乱的图块进行初始化游戏

7

Grades.java

游戏记录和存档,游戏暂停的实现

存档文件格式为**.rc

8

GameOver.java

游戏时间和步数的计算和游戏结束的判断

9

point.java

获得拼图的行数和列数,并向其他函数传参。

10

ButtonClick.java

实现鼠标动作。

11

Arg.java

提供图片路径和成绩记录的路径

公用接口

二、详细设计

该拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进行保存。

在拼图时首先把图片添加到background目录下,程序会自动获取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按钮上。

在游戏开始后会更新“开始“菜单,增加“显示图片”菜单项。

拼图结束时可以显示游戏成绩和记录的存档。

1.主类Puzzle

(1)成员变量见表2

表2

成员变量描述

变量类型

名称

开始状态

Boolean

Start

窗口宽度

int

fWidth

窗口高度

int

fHeight

结束对象

gOver

GameOver

焦点控制

boolean

index

(2)方法见表2-1

表2-1

方法名

功能

备注

Puzzle()

创建游戏窗口和设置图标

StartGame()

开始游戏控制,更新开始菜单

endgame()

结束游戏控制

弹出结束窗口

FrameLoseFocus()

使窗口失去焦点事件

FrameGetFocus()

使窗口得到焦点事件

menuNewClick()

进行切割图片

调用类spite()

menuGradesClick()

实现分数记录和显示

调用类ClassGrades

menuShowClik()

在游戏中显示完整图片

调用类classShowImage

menuExit()

退出游戏

menuHelpClik()

实现帮助功能

以弹出式对话框设计

menuAboutClik()

实现关于功能

介绍了相关信息和作者

(3)源代码见文件Puzzle.java

2.类CardFrame

(1)成员变量见表3

表3

成员变量描述

变量类型

名称

布局格式变量

CardLayout

card

容器变量

Container

con

面板数组

Jpanel

Panel[]

(2)方法见表3-1

表3-1

方法名

功能

备注

CardFrame()

创建窗口,布局游戏介绍

添加了焦点事件适配器

nextCard()

转到一下张卡片

采用卡片布局

(3)源代码见文件CardFrame.java

3.类MenuFrame

(1)成员变量见表4

表4

成员变量描述

变量类型

名称

难度等级变量

int

type

文件路径

String

filename

难度按钮组

ButtonGroup

bgrp

图片选择按钮组

ButtonGroup

frp

菜单更新控制

Boolean

update

菜单项数组

JMenu

Mm[]m[]

(2)方法见表4-1

表4-1

方法名

功能

备注

MenuFrame()

创建窗口

添加了焦点事件适配器

addMenu()

向菜单栏中添加菜单

以数组形式添加多个菜单

menuLevelClick()

实现等级选择

menuBackgroundClik()

实现背景图片的选择

getType()

返回一个难度等级

getFilename()

获取图片的名字

initMenuBegin()

初始化开始按钮并设置快捷键

同时给出了选择菜单后的相应动作

initMenuBackground()

初始化背景菜单

initMenuAbout()

初始化关于菜单

initMenuOpition()

初始化选择菜单

initMenuLevel()

初始化等级菜单

以选择框形式选择等级

updadeMenuBegin()

游戏开始后更新开始菜单

比原来增加了显示图片菜单项

(3)源代码见文件MenuFrame.java

4类ShowImage

(1)成员变量见表5

表5

成员变量描述

变量类型

名称

无成员变量

(2)方法见表5-1

表5-1

方法名

功能

备注

ShowImage()

创建显示图片的窗口

在游戏中提供帮助使用

(3)源代码见文件ShowImage.java

5类Split

(1)成员变量见表6

表6

成员变量描述

变量类型

名称

难度等级

Int

HARDNORMLEASY

路径名称

string

Filenamepath

(2)方法见表6-1

表6-1

方法名

功能

备注

Spilt()

创建Spilt对象

Set()

创建存档文件

BufferedImage[]divid

把背景图片切割成拼图块

用到了awt.image.BufferedImage里的系统类

get()

获得Spilt对象

(3)源代码见文件Split.java

6类Matrix

(1)成员变量见表7

表7

成员变量描述

变量类型

名称

面板

Jpanel

panel

拼图行数

int

row

拼图列数

Int

cal

(2)方法见表7-1

表7-1

方法名

功能

备注

Matrix()

创建图块所在的按钮并加监听且添加到面板中

Init()

实现图块的随机排列

打乱了图块的顺序

(3)源代码见文件Matrix.java

7.类Grades

(1)成员变量见表8

表8

成员变量描述

变量类型

名称

自定义类

Data

Data[]

拼图步数

Int

step

拼图计时

Int

time

(2)方法见表8-1

表8-1

方法名

功能

备注

Grades()

构造函数

creatData()

生成拼图记录的文件

readData()

读取已经存在的记录

以.rc格式保存记录的数据

Set()

记录游戏的数据

有打破记录的判断

Show()

显示记录

(3)源代码见文件CardFrame.java

8.类GameOver

(1)成员变量见表9

表9

成员变量描述

变量类型

名称

移动步数

int

step

游戏时间

long

counttime

开始时间

long

now

控制变量

boolean

StopgameOver

(2)方法见表9-1

表9-1

方法名

功能

备注

GameOver()

构造函数创建对象

Start()

控制游戏开始

judge()

判断游戏是否结束

pause()

实现游戏的暂停

getStep()

获取移动图块的步数

getTime()

获取游戏时间

(3)源代码见文件GameOver.java

9.类point

(1)成员变量见表10

表10

成员变量描述

变量类型

名称

拼图行数

int

row

拼图列数

int

cal

(2)方法见表10-1

表10-1

方法名

功能

备注

getRow()

获取行数

getCal()

获取列数

Set()

设置拼图行和列

(3)源代码见文件point.java

10.类ButtonClick

(1)成员变量见表11

表11

成员变量描述

变量类型

名称

按钮

JButton

Button[][]

行数和列数

Int

Rowcal

结束标志

boolean

end

(2)方法见表11-1

表11-1

方法名

功能

备注

ButtonClick()

获取各个参数

6个参数

actionPerformed()

实现相应的鼠标动作

(3)源代码见文件ButtonClick.java

11类Arg

(1)成员变量见表12

表12

成员变量描述

变量类型

名称

图片路径接口

String

path

记录文件接口

String

rc

(2)代码见文件Arg.java

三.运行效果

游戏启动后的初始界面图1

图1

选择“关于”菜单下的“帮助“菜单弹出如下对话框:

图2

图2

选择“关于”菜单下的“关于“菜单弹出如下对话框:

图3

图3

选择难度级别–中级和背景图片,按开始后就可

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

当前位置:首页 > 考试认证 > IT认证

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

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