项目文档:基于JavaFX + Maven的桌面扫雷软件打包exe【小白可做,文章末尾有包教安装有源代码可运行,可打包】

微信公众号:     科研小条

前言

用于学习javafx做桌面软件,熟悉maven构建项目的最佳选择


效果展示:

1. 项目概述

本项目是一个基于Java和JavaFX构建的桌面扫雷游戏软件。扫雷游戏是一种经典的单人益智游戏,玩家需要根据已知的雷区信息(可以手动修改雷的数量),在不触雷的前提下,将所有的非雷方块揭开,从而获得胜利。

(资源打包的非常详细(包括idea的破解,jdk17的安装和配置环境变量+maven的安装和配置教程,以及exe4j打包exe,从零学会做桌面软件,非常的详细)


2. 功能特性
  • 可自定义雷区大小和雷数

  • 显示计时器以及已经标记的雷数

  • 支持音乐播放、暂停和切换下一首

  • 游戏失败和胜利时有相应的提示

  • 可以通过单击方块来揭开或标记雷区


3. 技术栈
  • Java:编程语言

  • JavaFX:用于构建用户界面的框架

  • Maven:项目管理和构建工具

  • jar打包成exe


4. 项目结构
- Game_All_FX                           // 项目名称- src- main- java- com- Game_All- Controller- MainController.java   // 主界面的控制器+游戏逻辑- Entity- Point.java            // 地雷生成类- App.java                // 应用程序入口点启动主程序- Main.java               // 游戏主类- resources- MP3- background_music.mp3      // 背景音乐文件- main.fxml                   // 界面代码fxml - target                            // Maven编译生成的目标文件夹- pom.xml                           // Maven项目配置文件- README.md                         // 项目说明文档

5. 使用说明
  1. 在Java开发环境中打开项目(maven项目)

  2. 运行App.java文件,启动应用程序(或idea命令行输入:mvn clean javafx:run)

  3. 在主界面设置雷区大小和雷数,点击“Game ON”开始游戏

  4. 揭开方块:单击方块

  5. 标记雷:右键单击方块

  6. 有背景音乐播放(可暂停、播放、下一首功能、带进度条)

  7. 游戏结束后,根据提示进行操作


6. 打包成可执行文件
  1. 在项目根目录下运行mvn clean package命令

  2. target目录下找到生成的可执行jar文件

  3. 使用第三方工具(如exe4j)将jar文件打包成exe文件

  4. 使用第三方工具(innosetup)将生成的exe文件包装成安装包分发给用户


7. 注意事项
  • 请确保Java开发环境已正确配置(jdk17)

  • 若需要修改游戏界面,可编辑MainView.fxml文件

  • 若需要修改游戏逻辑,可编辑MainController.java文件


8. 打包注意事项(操作指南)


下载exe4j这个软件(下载忽略,csdn很多教程)

然后打开,第一步点击Change License()

Key输入:

A-XVK275016F-15wjjcbn4tpj(我是这个)

Change License:

A-XVK258563F-1p4lv7mg7sav

A-XVK209982F-1y0i3h4ywx2h1

A-XVK267351F-dpurrhnyarva

A-XVK204432F-1kkoilo1jy2h3r

A-XVK246130F-1l7msieqiwqnq

A-XVK249554F-pllh351kcke50

A-XVK238729F-25yn13iea25i

A-XVK222711F-134h5ta8yxbm0

A-XVK275016F-15wjjcbn4tpj

A-XVK275016F-15wjjcbn4tpj

然后点击ok,next,这里点击第二个,然后next

然后输入app的名字和exe的输出目录即可,next

然后输入app名字和图标(没有可以不填图标)

选这个

勾上去

然后一值next到这个

然后输入:

-Dfile.encoding=UTF-8

导入jar包

选择运行的主类(程序入口)

Jdk最小版本1.8,最大无限制,小于1.8,修改就好了,其他不变

以上是项目的部分内容,如有需要【该项目所有资源可运行代码】可以前往公众号(科研小条),后台回复:扫雷

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang Colly爬取图片gorm存储数据

语言:Golang 库:Iris/Colly/gorm 运行结果 text/html; charset=utf-8 It is image 20240429222029_0_0.jpg Saved file: images\20240429222029_0_0.jpg text/html; charset=utf-8 It is image 20240429222030_1_0.jpg Saved file: images\20240429222030_1_0.jpg It is ima…

动态切换数据源的最佳实践

序言 本文和大家聊聊在开发中,动态切换多数据源的方案。 一、多数据源需求 随着应用程序的发展和复杂性增加,对于多数据源的需求也变得越来越普遍。在某些场景下,一个应用程序可能需要连接和操作多个不同的数据库或数据源。常见的场景包括…

Qt QThreadPool线程池

1.简介 QThreadPool类管理一个QThread集合。 QThreadPool管理和重新设计单个QThread对象,以帮助降低使用线程的程序中的线程创建成本。每个Qt应用程序都有一个全局QThreadPool对象,可以通过调用globalInstance来访问该对象。 要使用其中一个QThreadPool…

深度学习入门(4)

神经网络的构建 import numpy as np import matplotlib.pyplot as plt def sigmoid(x):return 1/(1np.exp(-x)) def identity_function(x):#恒等函数return x def init_network():#进行权重和偏置的初始化,并保存到字典中network{}network[W1]np.array([[0.1,0.3,0…

ezplot--Matlab学习

目录 一、代码 二、效果 ​编辑 三、ezplot讲解 四、如何自定义一个函数 一、代码 clc; clear; t0:32; x4(t) cos(2*pi*t/4).*sin(2*pi*t/4); x8(t) cos(2*pi*t/8).*sin(2*pi*t/8); x16(t) cos(2*pi*t/16).*sin(2*pi*t/16); subplot(3,1,1) ezplot(x4,[0,32]); subplot…

POCEXP编写—多线程

POC&EXP编写—多线程 1. 前言2. 多进程&多线程2.1. 多进程2.1.1. 案例 2.2. 多线程2.2.1. 案例: 2.3. POC的案例(模板) 3. UA头设置3.1. 随机UA头3.1.1. 案例3.1.2. 模板拼接 4. 代理Proxy4.1. 单代理案例4.2. 多代理案例4.2.1. 请求…

【AI心理咨询应用】继Woebot之后,国内诞生的“LLM+CBT”应用:白小喵

导言 AI认知行为疗法(Cognitive Behavioral Therapy,CBT)早在2017年便有了首例,即美国知名CBT治疗机器人Woebot。 然而,Woebot在CBT的完整落地上仍有缺陷问题,LLM的出现促进了对该问题的解决,…

【机器学习基础1】什么是机器学习、预测模型解决问题的步骤、机器学习的Python生态圈

文章目录 一. 什么是机器学习1. 概念2. 机器学习算法分类 二. 利用预测模型解决问题的步骤三. 机器学习的Python生态圈 一. 什么是机器学习 1. 概念 机器学习(Machine Learning,ML)是一门多领域的交叉学科,涉及概率论、统计学、…

服务器数据恢复—Storwize V3700存储数据恢复案例

服务器存储数据恢复环境: 某品牌Storwize V3700存储,10块硬盘组建了2组Mdisk加入到一个存储池中,一共创建了1个通用卷来存放数据,主要数据为oracle数据库。 服务器存储故障: 其中一组Mdisk中两块磁盘出现故障离线&…

【每日刷题】Day28

【每日刷题】Day28 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 ​ 1. 121. 买卖股票的最佳时机 - 力扣(LeetCode) 2. 205. 同构字符串 - 力扣…

关于discuz论坛网址优化的一些记录(网站地图sitemap提交)

最近网站刚上线,针对SEO做了些操作,为了方便网站网页百度被收录,特此记录下 discuz有免费的sitemap插件可以用,打开后台管理,找到插件栏,然后找到更多插件,进入插件市场。 选择这个免费的sitem…

【数据分析面试】34.填充NaN值 (Python:groupby/sort_value/ffill)

题目:填充NaN值 (Python) 给定一个包含三列的DataFrame:client_id、ranking、value 编写一个函数,将value列中的NaN值用相同client_id的前一个非NaN值填充,按升序排列。 如果不存在前一个client_id,则返…

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出,父进程不进行回收的话,就可能造成僵尸进程,进而造成内存泄露 如果进程进入了僵尸状态,kill…

GITEE 基于OAuth2的API V5版本

为了构建更好的码云生态环境,我们推出了基于OAuth2的API V5版本。 API V5接口使用方式以及Url都参照GitHub,为了各位开发者更好的兼容已经存在的第三方应用。 API 使用条款 OSCHINA 用户是资源的拥有者,需尊重和保护用户的权益。不能在应用…

基于SpringBoot+Vue高校竞赛管理系统的设计与实现

项目介绍: 高校竞赛管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、竞赛公告管理、获奖管理、老师管理、评审管理、评审分配管理、评审打分管理、赛事管理、赛事提交管理、赛事报名管理、用户管理、专家管理、管理员管理。用…

如何安装最新版Docker Compose?

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YAML 文件来配置应用服务,然后只需一个简单的命令便能创建和启动所有服务。在本篇博客中,我们将详细介绍如何在 Linux 系统上安装 Docker Compos…

可以向同事炫耀的10个Python技巧

Python 是一种用途极为广泛的编程语言,有大量的库和框架为其提供支持。然而,在庞大的 Python 生态系统中,还存在一些鲜为人知的编码技巧和库,它们可以显著增强您的开发体验并优化您的代码。我们将探讨一些鲜为人知的 Python 技巧&…

与Apollo共创生态:七周年大会深有体会!

前言 百度从2013年开始涉足自动驾驶领域。2017年3月1日,百度通过内部邮件宣布,将现有业务和资源整合,成立智能驾驶事业群组(简称IDG)。同年,在上海车展上,百度发布了“Apollo计划”&#xff0c…

Git:克隆代码,提交流程,分支提交流程

1.克隆代码 git clone http://…(代码地址) 克隆代码到本地 2.提交流程(不牵涉分支) 1)git add . 将本地修改的文件暂存到缓存区 2)git commit -m "当次提交解释说明备注" 在日志中显示 3)git…

0426GoodsBiddingAJAX项目

0426GoodsBiddingAJAX项目包-CSDN博客 数据库字段 ​ 管理员的登录界面 ​ 登录成功跳转在线拍卖界面,使用监听器拦截请求,只能登录管理员后访问该界面 ​ 商品竞拍列表 ​ 商品竞拍列表的竞拍操作: ​ 1 用户未登录跳转用户登录界面&#x…