Solve triangle solitaire puzzle: Difference between revisions

Content deleted Content added
Galileo (talk | contribs)
Galileo (talk | contribs)
Line 3,287: Line 3,287:
// by Galileo, 04/2022
// by Galileo, 04/2022


dim moves$(1)
m$ = "-11,-9,2,11,9,-2"


nmov = token("-11,-9,2,11,9,-2", moves$(), ",")
sub solve$(board$, left, m$)

local moves$(1), nmov, i, j, mj, over, tgt, res$
sub solve$(board$, left)
nmov = token(m$, moves$(), ",")
local i, j, mj, over, tgt, res$
if left = 1 return ""
if left = 1 return ""
Line 3,301: Line 3,301:
if tgt >= 1 and tgt <= len(board$) and mid$(board$, tgt, 1) = "0" and mid$(board$, over, 1) = "1" then
if tgt >= 1 and tgt <= len(board$) and mid$(board$, tgt, 1) = "0" and mid$(board$, over, 1) = "1" then
mid$(board$, i, 1) = "0" : mid$(board$, over, 1) = "0" : mid$(board$, tgt, 1) = "1"
mid$(board$, i, 1) = "0" : mid$(board$, over, 1) = "0" : mid$(board$, tgt, 1) = "1"
res$ = solve$(board$, left - 1, m$)
res$ = solve$(board$, left - 1)
if len(res$) != 4 return board$+res$
if len(res$) != 4 return board$+res$
mid$(board$, i, 1) = "1" : mid$(board$, over, 1) = "1" : mid$(board$, tgt, 1) = "0"
mid$(board$, i, 1) = "1" : mid$(board$, over, 1) = "1" : mid$(board$, tgt, 1) = "0"
Line 3,312: Line 3,312:
start$ = "\n\n 0 \n 1 1 \n 1 1 1 \n 1 1 1 1 \n1 1 1 1 1"
start$ = "\n\n 0 \n 1 1 \n 1 1 1 \n 1 1 1 1 \n1 1 1 1 1"
print start$, solve$(start$, 14, m$)
print start$, solve$(start$, 14)</lang>
</lang>
{{out}}
{{out}}
<pre>
<pre>