2022年6月8日 15:42:05
# java拼图游戏
[toc]
## 使用方法
**备注**:
1. 可直接下载文件夹“代码”,然后执行“pintu.java”程序
2. 说明文档在README.md中
**安装与初始化**
1. 解压pintu.zip压缩包;
2. 点击进入子目录pintu;
3. 使用Sublime text运行pintu.java文件;
4. Sublime text配有Java环境(JDK和JRE)
**输入**
1. 鼠标选择游戏难度,分为简单、一般、困难和变态难度;
2. 游戏过程中鼠标+点击空白格周围图片进行格子图片交换;
3. 选择开始和返回。
**输入格式**
“I-Puzzle”通过鼠标点击指定范围的图片来输入,点击范围外则无响应。
**输入举例**
用户通过点击屏幕上的图片块来使其产生移动。
输出对每项输出作出说明
**输出格式**
图片在限定区域内的移动。
**播放音乐**
```
AudioClip sound = Applet.newAudioClip(new File("sounds/背景音乐.wav").toURL());
```
但是由于只支持wav格式的音乐,.wav这种格式是无损音乐。
**输出举例**
不同的图片块通过点击产生移动,若一个图片块周围都是与其紧密相连的图片块则点击时不会产生移动,至少有一个空位才可移动,其他图片自动补位,最终以一块完整的图片输出。
**出错处理和恢复**
1. 点击返回进行恢复;
2. 点击窗口右上角关闭窗口;
3. 打开任务管理器关闭此程序。
## 详细设计
Java拼图的设计思想:
### 用到的包:
a) Java.awt
b) Javax.swing
c) Java.awt.event
java.awt包提供了基本的java程序的GUI设计工具。主要包括下述三个概念:
- 组件--Component
- 容器--Container
- 布局管理器--LayoutManager
##### JLable类
`JLabel`类可以显示文本或图像。通过在显示区域中设置垂直和水平对齐来对齐标签的内容。默认情况下,标签在显示区域中垂直居中。默认情况下,纯文本标签前沿对齐; 默认情况下,仅图像标签水平居中。
##### 其他swing类
**类构造函数**
| 编号 | 构造函数 | 描述 |
| ---- | ------------------------------------------------------- | ------------------------------------------------ |
| 1 | JLabel() | 创建一个没有图像且标题为空字符串的`JLabel`实例。 |
| 2 | JLabel(Icon image) | 使用指定的图像创建`JLabel`实例。 |
| 3 | JLabel(Icon image, int horizontalAlignment) | 使用指定的图像和水平对齐创建`JLabel`实例。 |
| 4 | JLabel(String text) | 使用指定的文本创建`JLabel`实例。 |
| 5 | JLabel(String text, Icon icon, int horizontalAlignment) | 使用指定的文本,图像和水平对齐创建`JLabel`实例。 |
| 6 | JLabel(String text, int horizontalAlignment) | 使用指定的文本和水平对齐方式创建`JLabel`实例。 |
---
![img](README.assets/70.png)
> **java.awt有创建用户接口、绘图和图像的所有类。**用户接口对象,例如按钮或滚动条,
>
> 在AWT(Abstrat Window Toolkit)中被称为组件, Component类是所有AWT组件的根。
>
> 用户与组件交互操作时,一些组件会激发事件, AWTEvent类及其子类用于表达AWT组件能够激发的事件。
>
> 容器是一个可以含有组件和其他容器的组件,
>
> 容器还可以有一个布局管理器,用于控制组件在容器中的位置。
>
> AWT包含有几种布局管理器类和一个可以用来创建自己的布局管理器的接口。
>
> 在java.awt包中,又含有11个子包:
>
> 1)java.awt.color
>
> 该包提供了用于颜色的类。类中一个颜色空间的实现,
>
> 该实现基于国际颜色联盟(International Color
>
> Consortium,简称ICC)的格式规范(版本3.4)
>
> 2)Java.awt.datatransfer
>
> 该包提供了在应用程序之间或之中传送数据的接口和类。
>
> 该包定义了一个“可传递”对象的概念,“可传递”对象通过实现Transferable接口来标识自己为可传递。
>
> 另外,它还提供了一个剪切板机制,剪切板是一个临时含有一个可传递对象的对象,
>
> 通常用于复制和粘贴操作。尽管可以在应用程序中创建一个剪切板,
>
> 大多数应用程序一般都使用系统剪切板来确保数据能够在不同平台的应用程序之间传递。
>
> 3)Java.awt.dnd
>
> 拖放(drag-and-drop)出现在许多图形用户接口的系统中。
>
> 它用手势在逻辑上表示数据或对象在两个实体之间的传递。在Windows操作系统中经常使用到这种操作,非常直观明了。
>
> java.awt.dnd包提供了一些接口和类用于支持拖放(drag-and-drop)操作,
>
> 其定义了拖的源(drag-and-drop)和放的目标(drop-target)以及传递拖放数据的事件,
>
> 并对用户执行的操作给出可视的问馈。
>
> 4)java.awt.event
>
> 该包提供处理不同种类事件的接口和类,这些事件由AWT组件激发。
>
> 事件由事件源激发,事件监听者登记事件源,并接收事件源关于特定类型事件的通知。
>
> Java.awt.event包定义了事件、事件监听者和事件监听者适配器。使用事件监听者适配器,更加容易编写事件监听者。
>
> 5)java.awt.font
>
> 该包提供与字体(font)相关的类和接口。
>
> 6)java.awt.geom
>
> 该包提供Java
>
> 2D类,用于定义和执行与二维几何相关的对象上的操作。
>
> 7)java.awt.im
>
> 该包提供一些类和一个输入法框架接口。该框架使得所有的文本编辑组件能够接收日文、
>
> 中文和韩文的输入法的输入,输入法让用户使用键盘上有限的键输入成千上万个不同的字符,
>
> 文本编辑组件可以使用java.awt.geom包和java.awt.event中相关类支持不同语言的输入
>
> 法。同时,框架还支持其他语言的输入法或者其他输入方式,例如手写或语音识别。
>
> 8)java.awt.im.spi
>
> 该包提供一些接口,用于支持可以在任何Java运行时环境中使用的输入法的开发,
>
> 输入法是一个让用户输入文本的软件组件,通常用于输入日文、中文和韩文。同时,
>
> 还可以用于开发其他语言的输入法以及其他方式的输入,例如手写或语音识别。
>
> 9)java.awt.image
>
> 该包提供创建和修改图像的类。
>
> 10)java.awt.image.renderable
>
> 该包提供一些类和接口,用于生成与表现无关的图像。
>
> 11)java.awt.print
>
> java.awt.print提供一些类和接口,用干普通的打印API,该API包括
>
> 指定文档类型的能力。
>
> 页面设置和页面格式控制的机制。
>
> 管理任务控制对话框的能力。
##### 鼠标事件
### 总体思路:
### MyButton类:
该游戏主要通过按钮图片的转换进行,但是JButton本身不具有我们所需要的功能,所以创建一个�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源是一个基于Java实现的拼图游戏,具有音乐播放功能,并采用刘亦菲在《梦华录》中的美照作为拼图素材。该游戏设计了梯度难度,适合用作毕业设计、大作业或课程项目,旨在为学生提供一个展示编程技能和创意的平台。通过开发此游戏,学生可以加深对Java编程语言的理解,提高面向对象编程的实战能力,熟悉图形用户界面的设计,学习多媒体处理技术,并且锻炼解决实际问题的能力。
资源推荐
资源详情
资源评论
收起资源包目录
使用Java实现的拼图游戏,有音乐播放,用的拼图是梦华录中刘亦菲美照。设置梯度难度,适合毕业设计,大作业,期末和课程设计。.zip (37个子文件)
projectcode1020
_config.yml 29B
详细设计.doc 27KB
README.docx 2.67MB
docs
_config.yml 29B
index.md 1KB
README.assets
FrRYqUmguC2414BosBiuJAhhwURy.jpg 70KB
image-20220608155422292.png 515KB
image-20220608155306243.png 94KB
image-20220609163928556.png 254KB
image-20220608155239137.png 84KB
image-20220608155250157.png 17KB
image-20220608155453301.png 680KB
70.png 29KB
image-20220609202740291.png 184KB
image-20220608155748409.png 895KB
README.md 37KB
code
sounds
AudioStream.java 0B
qinghuaci.mp3 2.28MB
ActionLister.java 2KB
english.mp3 3.38MB
houlaidewomen.wav 95.61MB
Test.java 544B
Justin Timberlake,Carey Mulligan,Stark Sands - Five Hundred Miles.flac 19.99MB
pintu.java 13KB
sim
6.gif 5KB
8.gif 5KB
e 1B
22.gif 15KB
7.gif 5KB
5.gif 5KB
2.gif 4KB
9.gif 3KB
lyf.jpeg 61KB
3.gif 4KB
1.gif 5KB
4.gif 5KB
JTemp.java 25B
共 37 条
- 1
资源评论
葡萄籽儿
- 粉丝: 368
- 资源: 513
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- table-model-view-delagate核心总结
- java SSF项目框架源码 后台管理系统源码数据库 MySQL源码类型 WebForm
- 人工智能-大语言模型-基于Bert的预训练大语言推荐模型
- datax支持presto读取
- python《使用 Turtlebot 进行迷宫搜索》+项目源码+文档说明+代码注释
- 使用带有 BFS、UCS、Astar 和 GBFS 的 ros 解决 Gazebo 中的迷宫+项目源码+文档说明+代码注释
- 基于matlab实现寻路算法(AStar和HybridAStar算法)+项目源码+文档说明+代码注释
- C#ASP.NET教育OA源码 教育行业OA源码带文档数据库 SQL2008源码类型 WebForm
- wpf同时仅打开一个实例,重复打开时激活已打开实例窗口
- (源码)基于ESP8266和MQTT的智能信箱系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功