[内附完整源码和文档] 基于Java实现的数独游戏

本文介绍了数独游戏的历史与规则,并详细分析了使用Java实现数独游戏的需求,包括数独的求解、随机出题、经典题目预设、自定义题目及保存读取功能。在实现部分,探讨了一维数组、二维数组和十字链表等数据结构在游戏中的应用。
摘要由CSDN通过智能技术生成

一、本游戏背景介绍
相传数独源起于拉丁方阵(Latin Square),1970年代在美国发展,改名为数字拼图(Number Place),之后流传至日本并发扬光大,以数字智力游戏智力拼图游戏发表。在1984年一本游戏杂志《パズル通信ニコリ》正式把它命名为数独,意思是“在每一格只有一个数字”。拼图是九宫格(即3格宽×3格高)的正方形状,每一格又细分为一个九宫格。在每一个小九宫格中,分别填上1至9的数字,让整个大九宫格每一列、每一行的数字都不重复。 数独的玩法逻辑简单,数字排列方式千变万化,不少教育者认为数独是锻炼脑筋的好方法。

二、需求分析
2.1 数独游戏规则
在9×9的大九宫格内,已给定若干数字,其他宫位留白,玩家需要自己按照逻辑推敲出剩下的空格里是什么数字

必须满足的条件:每一行与每一列都有1到9的数字,每个小九宫格里也有1到9的数字,并且一个数字在每行、每列及每个小九宫格里只能出现一次,既不能重复也不能少

每个数独游戏都可根据给定的数字为线索,推算解答出来

2.2 需求分析
按照数独的游戏规则:

用计算机实现已知数独的求解

数独根据用户设定的题目难度的随机出题

用户能玩预设的经典的数独题目

用户能自定义题目并求解

用户能保存和读取游戏

三、实现
3.1 采用的数据结构
一维数组、二维数组以及十字链表。

3.2 实现的方法
3.2.1 二维数组
// 用来处理相应的数据,即显示的数据
private int[][] form1 = new int[20][20];
// 用来辅助form1进行相关判断
privat

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值