Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧩 Java Swing Puzzle Game (单机拼图游戏)

基于纯 Java Swing 开发的桌面端拼图单机游戏。本项目抛弃了臃肿的第三方框架,回归底层原理,通过极致的坐标计算与内存数据管控,实现了一个极具可玩性、代码高度整洁的 GUI 游戏。

✨ 核心特性 / Features

  • ⚡ 极致的底层掌控力:遵循纯粹的面向对象与底层渲染哲学。放弃臃肿的事件委派框架,通过物理像素坐标逆推,满足对“全过程指针”级别内存操作的控制欲。
  • 📐 核心降维算法:游戏底层的核心数据洗牌与映射,独创性地运用了万能降维公式,以最高效的内存拷贝(System.arraycopy)完成一维数组到二维图形矩阵的瞬间转换。
  • 🏆 智能计分系统:内置基于“保底积分(100分)+ 步数奖励”的结算算法。通关胜利后绝不清空保底积分,步数越少,奖励越丰厚。
  • 🖼️ 相对资源加载:彻底告别“绝对路径”引发的白屏陷阱,全盘采用 getClass().getResource() 类加载器读取资源,完美适配打包运行环境。
  • 📦 纯净绿色免安装:利用现代 JDK 的 jlinkjpackage 原生工具链,游戏被打包为独立的 .exe 可执行文件。小白玩家无需配置任何 Java 环境变量,下载双击即玩。

🎮 玩法说明 / How to Play

  1. 启动游戏:双击运行生成的 PuzzleGame.exe
  2. 账号注册:支持简单的本地逻辑注册与登录验证(内置防抖与验证码安全机制)。
  3. 拼图交互
  • 点击任意一张图片碎片,使其进入红色边框高亮状态(选中)。
  • 再次点击任意另一张碎片,即可完成两者的位置交换。
  1. 通关结算:将所有图片恢复为原始顺序即为通关。游戏会自动计算您的移动步数,并结算最终的高分!
  2. 辅助功能:支持顶部菜单栏快捷重开、查看原图提示。

🛠️ 构建与打包指南 / Build Instructions

本项目基于 JDK 26 开发,并使用 Maven 进行依赖与生命周期管理。如果您希望自行编译源码并打包为独立的 EXE 程序,请遵循以下完整步骤:

1. 编译并生成 JAR 包

在项目根目录下,执行以下 Maven 指令,进行项目清理并打包(确保资源全部位于 src/main/resources 下):

mvnw clean package

构建成功后,将在 target/ 目录下生成 demo-1.0-SNAPSHOT.jar

2. 裁剪微型 JRE (jlink)

利用 JDK 原生工具,将庞大的 JDK 26 裁剪为只包含 GUI 运行所需模块的微型 JRE 环境:

jlink --module-path "%JAVA_HOME%\jmods" --add-modules java.desktop,java.base,java.net.http --output min-jre

3. 生成独立可执行文件 (jpackage)

执行以下命令,将 JAR 包与微型 JRE 缝合,输出最终的绿色版 Windows 应用:

jpackage --type app-image --name "PuzzleGame" --input target --main-jar demo-1.0-SNAPSHOT.jar --main-class com.example.demo.App --runtime-image min-jre --dest dist

打包完成后,前往 dist/PuzzleGame 目录,即可将整个文件夹打包成 zip 分发给任何没有 Java 环境的玩家体验!

📁 目录结构 / Project Structure

├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/example/demo/
│   │   │       ├── App.java            # 程序启动入口
│   │   │       ├── LoginJFrame.java    # 登录界面(含验证码逻辑)
│   │   │       ├── RegisterJFrame.java # 注册界面
│   │   │       └── GameJFrame.java     # 游戏核心业务主界面
│   │   └── resources/
│   │       └── image/                  # 打包所需的全部相对路径素材
├── pom.xml                             # Maven 构建配置文件
└── README.md

📜 许可证 / License

This project is licensed under the MIT License.

About

Just Game

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages