; Created in LibreOffice 4.1.2 with this LibreLogo program
; Usage: Put this code into an English language document in LibO Writer,
; and click on the Start icon of the View»Toolbars»Logo toolbar.
; clock positions, change it for a different tour
steps = [4, 5, 10, 7, 4, 5, 10, 8, 10, 11, 4, 1, 10, 11, 4, 7, 11, 2, 5, 7, 8, 5, 2, 4, 2, 11, 8, 1, 2, 11, 8, 8, 1, 8, 7, 5, 7, 2, 1, 4, 7, 2, 1, 11, 1, 8, 5, 1, 10, 7, 5, 4, 7, 10, 8, 10, 1, 4, 11, 10, 1, 4, 5]
TO arrow
PENCOLOR “BLACK” PENSIZE 0.5 FILLCOLOR “BLACK”
PICTURE PENUP BACK 7
p = POSITION
FORWARD 10 RIGHT 20 BACK 12 PENDOWN
FORWARD 12 LEFT 40 BACK 12 POSITION p FILL
END
TO tour steps num sq way pens penc fillc
HOME PENSIZE pens PENCOLOR penc FILLCOLOR fillc
dir = {1:[1, 2], 2:[2, 1], 4:[2, -1], 5:[1, -2], 7:[-1, -2], 8:[-2, -1], 10:[-2, 1], 11:[-1, 2]}
FOR i IN steps[: num] [
HEADING 0
IF sq [ SQUARE 30 ]
IF NOT way [ PENUP ]
FORWARD [dir[i][0]*30, dir[i][1]*30] ; go to [x, y], where [0, 0] is the turtle position
PENDOWN ; hide arrow:
IF NOT way AND REPCOUNT = num – 1 [ HEADING 0 SQUARE 30 ]
]
IF NOT way [ HEADING 0 SQUARE 30 ]
END
HIDETURTLE PENJOINT “MITER”
PICTURE “knightstour_animation.svg” [
tour steps COUNT steps TRUE FALSE 1 “GRAY” “WHITE”
REPEAT 1 + COUNT steps [
tour steps REPCOUNT - 1 FALSE FALSE 1 “GRAY” “SILVER”
tour steps REPCOUNT – 1 FALSE TRUE 2 “BLACK” “WHITE”
IF REPCOUNT > 1 [ arrow ] [ PENSIZE 8 POINT ]
SLEEP 500
]
]