Skip to content

Commit 551731a

Browse files
authored
Update docs, add sudoku as an example. (#37)
1 parent cdda8b2 commit 551731a

File tree

5 files changed

+567
-2
lines changed

5 files changed

+567
-2
lines changed

docs/examples/Sudoku.ejs

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
<%# 等价关系 %>
2+
3+
<%
4+
for (let i = 1; i <= 9; i++) {
5+
for (let j = 1; j <= 9; j++) {
6+
if (i === j) {
7+
%>
8+
<%- `(${i} = ${j})` %>
9+
<%
10+
} else {
11+
%>
12+
<%- `(${i} != ${j})` %>
13+
<%
14+
}
15+
}
16+
}
17+
%>
18+
19+
<%# 相等与不等 %>
20+
21+
((Cell `x `y) = (Literal `a))
22+
(`a != `b)
23+
----------
24+
((Cell `x `y) != (Literal `b))
25+
26+
<%
27+
for (let i = 1; i <= 9; i++) {
28+
for (let j = 1; j <= 9; j++) {
29+
if (i !== j) {
30+
-%>
31+
<%- `((Cell \`x \`y) != (Literal ${j}))` %>
32+
<%
33+
}
34+
}
35+
-%>
36+
--------------------------------------
37+
<%- `((Cell \`x \`y) = (Literal ${i}))` %>
38+
39+
<%
40+
}
41+
%>
42+
43+
<%# 数独行列 %>
44+
45+
((Cell `x `y) = `n)
46+
(`x != `x')
47+
---------------------
48+
((Cell `x' `y) != `n)
49+
50+
((Cell `x `y) = `n)
51+
(`y != `y')
52+
---------------------
53+
((Cell `x `y') != `n)
54+
55+
<%
56+
for (let i = 1; i <= 9; i++) {
57+
for (let j = 1; j <= 9; j++) {
58+
if (i !== j) {
59+
-%>
60+
<%- `((Cell \`x ${j}) != \`n)` %>
61+
<%
62+
}
63+
}
64+
-%>
65+
-------------------------------------
66+
<%- `((Cell \`x ${i}) = \`n)` %>
67+
68+
<%
69+
}
70+
%>
71+
72+
<%
73+
for (let i = 1; i <= 9; i++) {
74+
for (let j = 1; j <= 9; j++) {
75+
if (i !== j) {
76+
-%>
77+
<%- `((Cell ${j} \`y) != \`n)` %>
78+
<%
79+
}
80+
}
81+
-%>
82+
-------------------------------------
83+
<%- `((Cell ${i} \`y) = \`n)` %>
84+
85+
<%
86+
}
87+
%>
88+
89+
<%# 数独分块 %>
90+
91+
<%
92+
for (let ib = 1; ib <= 3; ib++) {
93+
for (let jb = 1; jb <= 3; jb++) {
94+
for (let it = 1; it <= 3; it++) {
95+
for (let jt = 1; jt <= 3; jt++) {
96+
const xt = (ib - 1) * 3 + it;
97+
const yt = (jb - 1) * 3 + jt;
98+
for (let i = 1; i <= 3; i++) {
99+
for (let j = 1; j <= 3; j++) {
100+
const x = (ib - 1) * 3 + i;
101+
const y = (jb - 1) * 3 + j;
102+
if (i !== it || j !== jt) {
103+
%>
104+
<%- `((Cell ${x} ${y}) = \`n)` %>
105+
------------------------------------
106+
<%- `((Cell ${xt} ${yt}) != \`n)` %>
107+
<%
108+
}
109+
}
110+
}
111+
}
112+
}
113+
}
114+
}
115+
%>
116+
117+
<%
118+
for (let ib = 1; ib <= 3; ib++) {
119+
for (let jb = 1; jb <= 3; jb++) {
120+
for (let it = 1; it <= 3; it++) {
121+
for (let jt = 1; jt <= 3; jt++) {
122+
const xt = (ib - 1) * 3 + it;
123+
const yt = (jb - 1) * 3 + jt;
124+
for (let i = 1; i <= 3; i++) {
125+
for (let j = 1; j <= 3; j++) {
126+
const x = (ib - 1) * 3 + i;
127+
const y = (jb - 1) * 3 + j;
128+
if (i !== it || j !== jt) {
129+
-%>
130+
<%- `((Cell ${x} ${y}) != \`n)` %>
131+
<%
132+
}
133+
}
134+
}
135+
-%>
136+
--------------------------------------
137+
<%- `((Cell ${xt} ${yt}) = \`n)` %>
138+
139+
<%
140+
}
141+
}
142+
}
143+
}
144+
%>

0 commit comments

Comments
 (0)