数独格式

谜题格式

标准谜题格式

这是标准数独的标准格式,在许多数独游戏中使用。

规则:

  • 1-9,各代表一个已知数字
  • . 代表一个空的格子

例 1:

67..4..524....1....53.87.91....12.85.2...46..7.5...21..47.3.52.5.62.8.499.....378

扩展规则(在其他数独游戏中可能无效):

  • 0 也代表一个空格
  • 空格表格('\t')换行('\n')回车('\r')忽略

例 2:

670040052400001000053087091000012085020004600705000210047030520506208049900000378

例 3:

67..4..52
4....1...
.53.87.91
....12.85
.2...46..
7.5...21.
.47.3.52.
5.62.8.49
9.....378 

JSON谜题格式

注意:这种谜题格式只在本游戏中有效

参数 type

可能值:

  • classic

可省略,默认值为classic

参数 m,n

m和n分别表示一个盒子的宽度和高度,例如,最常用的是m=3,n=3

可省略,默认值都是3

参数 numbers

这是一个字符串数组,每个字符串表示一行已知数字,如果一个格子中没有已知数字,则填写.

经典数独谜题JSON示例

{
  "id": "69367c1bf66145eb8f6fc7c87a0fd828",
  "numbers": [
    "......16.",
    "1........",
    ".3...7...",
    "..1..4..9",
    "..5...61.",
    ".67.312..",
    ".2.......",
    ".53.2.7.4",
    "4..5..9.."
  ]
}

状态格式

标准状态格式

这个格式用于表示数独面板的当前状态,并非初始谜题内容。状态包含了已知、已填和候选数信息。本格式在很多数独软件、游戏中可以使用。

.----------------.----------------.----------------.
| 5    2    78   | 3    1479 479  | 789  18   6    |
| 6    78   9    | 2    17   5    | 3    148  147  |
| 1    3    4    | 78   6    789  | 2    5    79   |
.----------------+----------------+----------------.
| 7    45   2    | 1    8    3    | 59   6    49   |
| 8    45   6    | 457  4579 479  | 1    2    3    |
| 3    9    1    | 6    45   2    | 57   47   8    |
.----------------+----------------+----------------.
| 9    178  5    | 478  2    478  | 6    3    17   |
| 2    178  378  | 9    37   6    | 4    178  5    |
| 4    6    378  | 578  357  1    | 78   9    2    |
.----------------.----------------.----------------.

数字填写:

  • 同一个格子中的候选数之间不要有空格,不同的格子的候选数用空格隔开
  • 不同盒子的候选数用|隔开。

格式的局限:

  • 格子中如果只有一个候选数和已填以及已知是无法区分的,所以只有一个候选数即认为是已填。
  • 不能表示空的格子,也就是即没有已填、已知,也没有候选数。

注意:

  • 在文本输入框中,有些相似的格式也是有效的,请自行尝试。

Hodoku的类似格式(在本游戏中可以使用):

.-------------.----------------.---------------.
| 5  2    78  | 3    1479  479 | 789  18   6   |
| 6  78   9   | 2    17    5   | 3    148  147 |
| 1  3    4   | 78   6     789 | 2    5    79  |
:-------------+----------------+---------------:
| 7  45   2   | 1    8     3   | 59   6    49  |
| 8  45   6   | 457  4579  479 | 1    2    3   |
| 3  9    1   | 6    45    2   | 57   47   8   |
:-------------+----------------+---------------:
| 9  178  5   | 478  2     478 | 6    3    17  |
| 2  178  378 | 9    37    6   | 4    178  5   |
| 4  6    378 | 578  357   1   | 78   9    2   |
'-------------'----------------'---------------'

Sudoku Explainer状态格式

Sudoku Explainer的特殊格式(在本游戏中可以使用):

....5.....2.............78...3......1..4..7.9...4..7.9......7891......8......6........6.........78.........9.2.......1.....7......5......3......1..4...8.1..4..7..1..........3.........4...........78......6.........789.2...........5..........7.9......7.....45.....2.......1...............8...3..........5...9.....6......4....9.......8....45.........6......45.7.....45.7.9...4..7.91.........2.........3........3..............91.............6......45.....2...........5.7.....4..7.........8.........91.....78.....5.......4..78..2..........4..78......6.....3......1.....7...2.......1.....78...3...78.........9..3...7.......6......4.....1.....78.....5.......4..........6.....3...78.....5.78...3.5.7..1..............78.........9.2.......

部分谜题格式

部分谜题JSON格式

参数 map

初始谜题的json内容

参数 beginNumbers, endNumbers

开始和结束状态中的数字内容,与map中的numbers格式相同

参数 beginCandidatesTable, endCandidatesTable

开始和结束状态中的候选数内容,格式和标准状态格式相同,只是不包含已填格子的内容

参数 givenHints

预定要在解题过程中显示的提示,每个提示都是一个字符串,也就是提示的特征字符串。

例子

{
  "id": "cd7486d5561c4a92bc8f7e293abf8ae3",
  "map": {
    "id": "d6bacb69b20c46d8800dc32caa406903",
    "numbers": [
      ".2.47..9.",
      "......3.6",
      "..3......",
      "2....876.",
      ".9..61...",
      ".4.....39",
      ".8.7.....",
      "..913....",
      ".6...9.7."
    ]
  },
  "beginNumbers": [
    ".2.473.9.",
    "...8..3.6",
    "..36....7",
    "23.94876.",
    ".9.361...",
    ".4...7.39",
    ".8.7.691.",
    "..91346..",
    ".6..89.7."
  ],
  "beginCandidatesTable": [
    ".----------------.----------------.----------------.",
    "| 568  0    568  | 0    0    0    | 158  0    158  |",
    "| 4579 157  457  | 0    19   25   | 0    245  0    |",
    "| 4589 15   0    | 0    19   25   | 2458 2458 0    |",
    ".----------------+----------------+----------------.",
    "| 0    0    15   | 0    0    0    | 0    0    15   |",
    "| 578  0    578  | 0    0    0    | 2458 2458 2458 |",
    "| 168  0    168  | 25   25   0    | 18   0    0    |",
    ".----------------+----------------+----------------.",
    "| 34   0    24   | 0    25   0    | 0    0    345  |",
    "| 57   57   0    | 0    0    0    | 0    28   28   |",
    "| 134  0    124  | 25   0    0    | 45   0    35   |",
    ".----------------.----------------.----------------."
  ],
  "endNumbers": [
    ".2.473.9.",
    "...8..3.6",
    "..36....7",
    "23.94876.",
    ".9.361...",
    ".4...7.39",
    ".8.7.691.",
    "..91346..",
    ".6..89.7."
  ],
  "endCandidatesTable": [
    ".----------------.----------------.----------------.",
    "| 568  0    568  | 0    0    0    | 158  0    158  |",
    "| 4579 157  47   | 0    19   25   | 0    245  0    |",
    "| 4589 15   0    | 0    19   25   | 2458 2458 0    |",
    ".----------------+----------------+----------------.",
    "| 0    0    15   | 0    0    0    | 0    0    15   |",
    "| 578  0    578  | 0    0    0    | 2458 2458 2458 |",
    "| 168  0    168  | 25   25   0    | 18   0    0    |",
    ".----------------+----------------+----------------.",
    "| 34   0    24   | 0    25   0    | 0    0    345  |",
    "| 57   57   0    | 0    0    0    | 0    28   28   |",
    "| 134  0    124  | 25   0    0    | 45   0    35   |",
    ".----------------.----------------.----------------."
  ],
  "givenHints": [
    "AETS7EQQOqmOAAMgAAQAAI4y0X9nGjgm"
  ]
}