#!/bin/sed -f
# Author: Laurent Le Brun <llb [at] fr.fm>
s/.*/############\
#A # #B #\
# # # #\
# # ### # #\
# # # #\
# # # #\
############/
## Fill matrix ##
s/A/0/g
:fill
y/0123456789a/123456789a0/
s/1 /10/g
s/ 1/01/g
s/1\(.\{12\}\) /1\10/g
s/ \(.\{12\}\)1/0\11/g
# path found ?
/0B/ b all
/B0/ b all
/B\(.\{12\}\)0/ b all
/0\(.\{12\}\)B/ b all
t fill
# no :(
i\
No path was found.
d
q
## Get path ##
:all
# just follow the numbers !
# uncomment next line for debugging
# p
s/B/X/g
:est
/0X/ {
s/0X/PX/
b anana
}
/X0/ {
s/X0/XP/
b anana
}
/X\(.\{12\}\)0/ {
s/X\(.\{12\}\)0/X\1P/
b anana
}
/0\(.\{12\}\)X/ {
s/0\(.\{12\}\)X/P\1X/
b anana
}
# The end.
# Clean the output.
s/[^ X*#\n]/ /g
q
# just some updates
:anana
s/X/*/
s/P/X/
y/0123456789a/a0123456789/
t est
### colorized by sedsed, a debugger and code formatter for sed scripts
### original script: http://laurent.le-brun.eu/pub/path.sed