拼图游戏jigsaw

拼图游戏jigsaw

ID:44816929

大小:35.51 KB

页数:4页

时间:2019-10-30

拼图游戏jigsaw_第1页
拼图游戏jigsaw_第2页
拼图游戏jigsaw_第3页
拼图游戏jigsaw_第4页
资源描述:

《拼图游戏jigsaw》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、拼图游戏(jigsaw)——项目文档一、项目功能本游戏为拼图游戏,玩法类似华容道,游戏界面为一被分割为许多小块的完整图片(右下角缺少一块),具体玩法为:打乱小块图片顺序后,通过交换空白方块与其周围的小块图片进行拼图,最终拼成原图片(右下角缺少一块)即为游戏胜利。本游戏具体实现了以下功能:1、运行程序后,出现初始界面,在其最上方有四个按钮(“开始游戏”按钮、“预览全图”按钮、“选择图片”按钮和“选择难度”按钮)的面板对象,在其下方出现主面板对象(游戏的主界面即右下角缺少一块的完整图片),在界面标题栏左侧出现“拼图游戏”,右侧有最小化和关闭按钮。2、单击“开始游戏”后,小块图片顺序被打乱

2、,游戏开始,通过鼠标点击空白方块周围的小块图片,将其移至空白方块处,从而进行拼图。3、单击“预览全图”后,界面显示完整的图片,对玩家进行提示,同时“预览全图”按钮变为“返回游戏”。单击“返回游戏”,界面变回此前的游戏界面,同时“返回游戏”按钮变为“预览全图”。4、单击“选择图片”后,可通过下拉菜单进行图片选择,从五幅图片中选择一个进行拼图游戏。5、单击“选择难度”后,可通过下拉菜单选择游戏难度,“初级”为3*3块拼图,“高级”为4*4块拼图。6、当玩家完成拼图,游戏弹出“恭喜!拼图完成!共用n步”对话框,告知玩家完成游戏所用的步数。7、当游戏运行,自动循环播放背景音乐。二、主要技术本

3、游戏使用的主要技术有:Java语言、事件机制、布局机制、异常处理机制、线程同步、Swing组件的运用以及GUI(图形用户界面)开发的综合应用。1、Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing组件,作为JFC类库的一部分,Swing提供了40多个组件,是AWT的4倍。本游戏中运用了Swing组件中的窗口类JFrame、面板容器JPanel、显示信息的面板类JLabel、按钮类JButton、提示框类JOptionPane等。2、图形用户界面(GraphicalUserInterf

4、ace,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。本项目包含了JavaGUI开发中的动作类事件(ActionEvent、TextEvent、AdjustmentEvent、ItemEvent)处理机制、布局机制以及异常处理机制。三、项目结构本项目由四个类组成,即基本按钮类(Cell)、背景音乐类(BackgroundMusic)、主面板类(MyCanvas)以及主类——主框架类(MyMainFrame),分别实现如下功能:1、基本按钮类(Cell)负责控制基本小块图片的规格控制和实

5、现它的移动功能。它继承了JButton类(按钮类)。其中int型类成员size为控制小块图片的规格(75*75(用于4*4拼图)或100*100(用于3*3拼图));而方法move(Stringdirection,intsleep)负责根据direction(可取up、down、left、right)实现小块图片的移动功能。2、背景音乐类(BackgroundMusic)负责实现背景音乐的播放、停止、循环及音量控制。其中boolean型类成员stop负责控制音频文件的播放与停止;Play(Stringfileurl)方法通过文件输入流来实现音频文件(wav文件)的播放和循环,并通过v

6、alue的值来设置音量。此外,该类中增添了异常处理机制,防止了无效的音频文件对程序运行的影响。3、主面板类(MyCanvas)负责实现游戏部分的界面及拼图游戏的主要功能。它是一个自定义的面板,继承了JPanel类并实行动作监听器MouseListener。其中boolean型类成员hasAddActionListener为动作监听器的标志位,TRUE为已经添加的动作事件,FALSE为尚未添加的动作事件;类成员cell为按钮数组;Rectangle型类成员cellNull为空白方块区域数组;静态int型成员pictureID为当前选择图片的代号,负责控制主面板和预览面板显示的图片。构造

7、函数MyCanvas()负责进行主面板的初始化,包括设置布局管理器、设置面板大小(300*300)、设置空白方块位置、为按钮数组赋值并为每个按钮加载图片、初始化按钮的位置坐标。Start()方法负责对方块进行重新排列、打乱顺序,通过java.long.Math类的Math.random()方法获取0-4之间的随机数,控制方块的上下左右移动,进而打乱顺序。最后为所有方块(除右下角的方块外)添加动作事件,监听其动作。reLoadPicture()方法负责当选择

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。