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> |
||