-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample-sudoku.jsonc
66 lines (62 loc) · 2.13 KB
/
example-sudoku.jsonc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// This is an example jsonc file to show
// the format sudoku files will take
// This cannot be used in the application as it has comments
// and therefore cannot be parse by JSON.parse().
// use sudoku.json instead
{
// given is all the given digits. Needs to be a 2d
// array (9x9) of numbers from 0-9, 0 being unset
"given":[
[0,0,0, 0,0,0, 0,0,10],
[0,0,0, 0,0,0, 0,0,0],
[0,0,0, 0,0,0, 0,0,0],
[0,0,0, 0,0,0, 0,0,0],
[0,0,0, 0,0,0, 0,0,0],
[0,0,0, 0,0,0, 0,0,0],
[0,0,0, 0,0,0, 0,0,0],
[0,0,0, 0,0,0, 0,0,0],
[0,0,0, 0,0,0, 0,0,0]
],
// This means 1-9 must appear horizontally each once
"1-9horiz":true,
// This means 1-9 must appear vertically each once
"1-9vert":true,
// This means 1-9 must appear each once in a 3x3 region
"1-9nonet":true,
// This being true means a digit cannot appear in a space
// that is a knights move away (L shape move)
"antiknight":false,
// This when true means no matching digits adjacent to each other
"antiking":false,
// Thermos are a list of points that are adjacent to each other
// with values that increase from the first element outward
// There can be more than one
"thermo":[
// This thermo goes from bulb in first place, outward
[[1,0],[0,1],[1,2],[1,3]],
[[2,2],[2,3]]
],
// Arrows must have all other positions add to the value
// at the first position
"arrow":[
[[2,4],[2,3],[1,4]],
[[2,2],[2,3],[1,4],[0,5]]
],
// Kropki adjacent takes two adjacent points and the values must
// also be next to each other (i.e. 3 and 4 or 6 and 7)
"kropkiAdjacent":[
[[2,5],[3,5]],
[[6,3],[6,4]]
],
// Kropki doubles means that the two adjacent points must
// have one value = 2 times the other value
"kropkiDouble":[
[[4,1],[4,2]]
],
// German whisper lines are a list of adjacent points that
// have a difference of at least 5 between any adjacent points
// on the line
"germanWhispers":[
[[2,1],[2,0],[3,1],[4,2],[5,1],[6,1]]
]
}