文章目录
- 一、设计来源
-
- 数独小游戏讲解
- [1.1 主界面](#1.1 主界面)
- [1.2 游戏难度配置界面](#1.2 游戏难度配置界面)
- [1.3 游戏完成界面](#1.3 游戏完成界面)
- 二、效果和源码
-
- [2.1 动态效果](#2.1 动态效果)
- [2.2 源代码](#2.2 源代码)
- 源码下载
- 更多优质源码分享
作者:xcLeigh
文章地址:https://blog.csdn.net/weixin_43151418/article/details/146039002
JAVA实现有趣的数独小游戏(附源码)
,数独小游戏源码,窗体应用程序数独小游戏源码,界面风格干净整洁,内容条理清晰,小游戏分为简单、中等、困难三个等级,通关计时,快来试试你的最快通关记录吧。这个源码让你快速搭建自己的应用程序,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,运行Main使用。
一、设计来源
本文章是分类专栏下的【JAVA实战案例
】里面的一篇,专栏里面包括大量的网站,窗体应用程序的源码,技术点解析等案列源码,让你更加熟练掌握JAVA。持续更新中,欢迎大家关注,一起学习交流。
数独小游戏讲解
游戏规则:
数独(shù dú)是源自18世纪瑞士的一种数学游戏(一说起源于日本)。是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫(3*3)内的数字均含1-9,不重复。
数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称"九宫格"。
- 注意:难度系数越高,难度越高,最大81!!!
1.1 主界面
数独小游戏源码窗体主界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),顶部四个导航菜单,游戏》编辑》查看》帮助》,可以跳转网页,也可以弹出对话框,更能保存游戏数据,还有前进后退功能。

1.2 游戏难度配置界面
菜单》游戏》新建游戏,进入配置游戏难度弹框,0-80,数字越大,难度越大,数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称"九宫格"。
游戏难度配置1
游戏难度配置2

1.3 游戏完成界面
数独小游戏源码窗体困难难度界面,展示自己的logo和标题(这里可以自定义,可以扩展自己想要的风格),顶部四个导航菜单,游戏》编辑》查看》帮助》,可以跳转网页,也可以弹出对话框,更能保存游戏数据,还有前进后退功能。内容就是数独了,游戏完成后,系统弹出成功,并说明用时。

二、效果和源码
2.1 动态效果
这里是完整的效果演示,可在此代码基础上更加完善功能,支持扩展自己的风格,可以删减内容,打造属于自己的数独小游戏。
JAVA实现有趣的数独小游戏(附源码)
2.2 源代码
这里是部分技术点的代码演示,更多代码,资源文件,见下面的 源码下载 ,里面有所有代码资源和相关说明。或者直接在这里 下载源码,如有其他技术问题,请私信博主,博主看到后第一时间回复。
-
绘制窗体
JFrame jf = new JFrame();
jf.setTitle("数独小游戏");
jf.setResizable(false);
Image appIcon = Toolkit.getDefaultToolkit().getImage(FilePath("icon.png"));//窗口图标
jf.setIconImage(appIcon);
jf.setSize(725, 634);
// 设置退出进程的方法
jf.setDefaultCloseOperation(3);
// 设置居中显示
jf.setLocationRelativeTo(null); -
获取文件路径1
当使用相对路径时,Java 会以当前类所在的目录(也就是类的字节码文件所在的目录)作为起始点去查找文件。所以如果txt文件和编译后的.class文件处于同一个目录下,直接写文件名就可以代表相对路径指向该文件了。不过需要注意的是,这种方式在不同的运行环境(比如从命令行运行或者在某些 IDE 中运行)可能会有细微差异,有时可能需要确保工作目录设置正确才能准确找到文件。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// 相对路径直接写文件名即可(假设同目录下有test.txt文件)
String filePath = "test.txt";
FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine())!= null) {
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
- 获取文件路径2
System.getProperty("user.dir")
可以获取到当前 Java 程序运行时所在的用户工作目录。通过这个方式获取的目录路径更明确,然后再使用File.separator
(它会根据不同操作系统适配对应的路径分隔符,在 Windows 上是\,在 Linux 和 Mac 上是/)拼接上同目录下的txt文件名,这样组成的路径更具通用性,能在多种运行场景下较准确地定位到同目录下的txt文件,减少因工作目录等因素导致找不到文件的问题。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try {
// 获取当前用户工作目录
String currentDir = System.getProperty("user.dir");
// 拼接上同目录下的txt文件名
String filePath = currentDir + File.separator + "test.txt";
FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine())!= null) {
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
源码下载
注:源码下载在文章头部也可以点击下载,跟这里的是一样的

更多优质源码分享
--------------- 业精于勤,荒于嬉 ---------------
--------------- 行成于思,毁于随 ---------------
💢 关注博主 带你实现畅游前后端
🏰 大屏可视化 带你体验酷炫大屏
💯 神秘个人简介 带你体验不一样得介绍
💘 为爱表白 为你那个TA,体验别致的浪漫惊喜
🎀 酷炫邀请函 带你体验高大上得邀请
① 🉑提供云服务部署 (有自己的阿里云);
② 🉑提供前端、后端、应用程序、H5、小程序、公众号、大作业等相关业务;
如🈶合作请联系我,期待您的联系。
注 :本文撰写于CSDN平台,作者:xcLeigh(所有权归作者所有),https://blog.csdn.net/weixin_43151418,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。
亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏 ,如 🈶 问题请 留言(私信或评论),博主看见后一定及时给您答复,💌💌💌
原文地址:https://blog.csdn.net/weixin_43151418/article/details/146039002(防止抄袭,原文地址不可删除)