一、本游戏背景介绍
相传数独源起于拉丁方阵(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