Towers of Hanoi: Difference between revisions

Content added Content deleted
m (→‎{{header|BASIC}}: Fix indent (use spaces, no tab))
(Vedit macro language added)
Line 711: Line 711:
move $1 $2 $3 $4
move $1 $2 $3 $4
</lang>

=={{header|Vedit macro language}}==
This implementation outputs the results in current edit buffer.
<lang vedit>
#1=1; #2=2; #3=3; #4=4 // move 4 disks from 1 to 2
Call("MOVE_DISKS")
Return

// Move disks
// #1 = from, #2 = to, #3 = via, #4 = number of disks
//
:MOVE_DISKS:
if (#4 > 0) {
Num_Push(1,4)
#9=#2; #2=#3; #3=#9; #4-- // #1 to #3 via #2
Call("MOVE_DISKS")
Num_Pop(1,4)

Ins_Text("Move a disk from ") // move one disk
Num_Ins(#1, LEFT+NOCR)
Ins_Text(" to ")
Num_Ins(#2, LEFT)

Num_Push(1,4)
#9=#1; #1=#3; #3 = #9; #4-- // #3 to #2 via #1
Call("MOVE_DISKS")
Num_Pop(1,4)
}
Return
</lang>
</lang>