拼图游戏项目

这是我学到的关于java拼图小游戏的项目。
b站黑马
在这里插入图片描述

需求

在规划这个项目时,
个人认为,需要登录,注册,游戏。
登录需求
必须验证用户名是否存在于系统中、密码是否匹配及验证码的正确性。

注册需求
检查用户名的长度并避免使用敏感词汇

游戏需求
图片块的移动(上下左右)、完成拼图时的锁定机制、重新开始游戏的选项、步数追踪、查看原图以及一键通关的功能。

计划先完成核心的游戏部分,之后再着手编写登录与注册模块。

前言

在编写游戏部分时,我面临的挑战是如何开始。

首先,我需要梳理出编程的技术要点,比如界面构建、菜单的窗口添加等。

接着,将小图标置入窗口中并打乱顺序。

这一系列操作对新手来说相当复杂,容易引发挫败感。

然而,我必须承认,如果你对此不感兴趣,总会有人愿意接手。

让我们直奔主题,我最初的学习方法是直接复制别人的代码,然后在旁边添加注释,随后尝试自己能否独立编写。

通过反复练习,我逐渐掌握了整个流程。

当遗忘时,我会像现在这样记录下学习的每一个细节。

总体设计思路

  • 初始化游戏界面:

  • 创建主窗口(JFrame)。

  • 添加菜单栏(JMenuBar)。

  • 添加菜单项(JMenuItem)。

  • 绑定事件监听器。

游戏逻辑:

  • 实现键盘事件监听(KeyListener)。

  • 处理游戏状态(如胜利检测)。

  • 更新游戏界面(如重绘游戏板)。

  • 用户交互:

  • 通过菜单项触发游戏重置、退出等功能。

  • 显示关于信息。

具体实现思路

初始化界面:

使用JMenuBar创建菜单栏,并添加功能菜单(functionJMenu)和关于菜单(aboutJMenu)。
在功能菜单中添加不同的选项,如“重新游戏”、“重新登录”、“关闭游戏”等。
在关于菜单中添加“CSDN”等选项,用于显示关于信息。

游戏逻辑:
  • 使用二维数组data存储游戏板的状态。
  • 根据键盘事件更新游戏板的状态。
  • 检测游戏是否获胜。
用户交互:

当用户点击菜单项时,执行相应的动作,如重新开始游戏、退出游戏等。
当用户按下键盘上的键时,根据键值更新游戏状态。


创建主窗口(JFrame)
GameJFrame类的构造函数负责设置游戏窗口的基本属性,初始化用户界面组件,并准备游戏所需的数据和图像资源。
构造方法初始化游戏界面。
//设置窗口大小
//窗口标题
// 界面置顶,确保游戏窗口始终在其他窗口之上,
// 页面居中,使游戏窗口在屏幕中心位置显示
// 取消默认的居中放置,只有取消了才会按照XY轴的形式添加组件 ,不然的话图片居中

//设置关闭模式(0,1,2,3)

关闭操作:0 - 关闭时不执行任何操作
1 - 关闭时隐藏
2 - 关闭时处置
3 - 关闭时退出

// 为窗口添加键盘事件监听器,使得游戏能响应键盘输入

public void initJFrame(){
setSize(602,680); setTitle("拼图"); setAlwaysOnTop(true); setLocationRelativeTo(null); setLayout(null); setDefaultCloseOperation(3); addKeyListener(this); }


将图片添加界面,并拥有打乱图片。

首先,通过随机交换元素来打乱一个初始有序数组tempArr,其元素值为0到15。
其次,将打乱后的数组按顺序填充到二维数组data中,并找出数值为0的元素位置,计算出其在二维数组中的行x和列y坐标。
// 初始化一个有序的数字数组
// 洗牌算法,随机打乱数字数组
// 生成一个随机索引,用于交换当前位置的数字
// 交换当前位置的数字和随机位置的数字
// 将打乱后的数字映射到二维数组中
// 如果当前数字是0,记录其在二维数组中的坐标
// 将当前数字映射到二维数组相应的位置

private void initData(){
int [] tempArr ={
}; Random r =new Random(); int [][]data = new int [4][4]; for(int i =0 ; i< tempArr.length ; i++){
int index = r.nextInt(tempArr.length); int temp = tempArr[i]; tempArr[i] = tempArr[index]; tempArr[index] = temp ; } for(int i =0 ; i<tempArr.length ; i++){
if(tempArr[i] == 0){
x=i/4; y=i%4; }data[i/4][i%4] = tempArr[i]; } }

ps的剪辑图片

首先,启动Photoshop程序并打开您想要编辑的图片。

接着,将图片直接拖拽到Photoshop的界面中。

在屏幕左侧的工具栏里,找到并选择“切片工具”。

在这里插入图片描述

之后,对准图片右击并从弹出的选项中选择“划分切片”。

在这里插入图片描述
最后,在菜单栏中找到并点击“文件”,然后选择“储存为Web所用格式”以保存您的编辑成果。
在这里插入图片描述
放置好图片的文件中。

原文链接:https://blog.csdn.net/m0_67187271/article/details/141328346

最后修改:2024 年 11 月 22 日
如果觉得我的文章对你有用,请随意赞赏