Contents of file named hanoi
* Towers of Hanoi: 3 stacks called A B C in BB vars A, B, C.
* usage: m hanoi
* or m hanoi setup
if $1$ eq setup
setbb A "" B "" C "" ;* Clear out stacks
do i from 1 to $2$
setbb $3$ "%$3$% $i$" ;* Add digit to stack end
enddo
message "Initial arrangement: %A% | %B% | %C%"
elseif $1$ eq 1
setbb tmp "(item 1 %$2$%)" ;* Copy from stack top item
setbb $2$ "(items 2 END %$2$%)" ;* Remove from stack top item
setbb $3$ "%tmp% %$3$%" ;* Add item to top of to stack
message "Move %tmp% from $2$ to $3$: %A% | %B% | %C%"
else
m hanoi (int ($1$ - 1)) $2$ (delete $2$ (delete $3$ 'ABC'))
m hanoi 1 $2$ $3$
m hanoi (int ($1$ - 1)) (delete $2$ (delete $3$ 'ABC')) $3$
endif