Towers of Hanoi: Difference between revisions

Content added Content deleted
(→‎{{header|UNIX Shell}}: make portable to other shells)
(→‎Using GOSUBs: Fix stack depth.)
Line 1,041: Line 1,041:
{{works with|Commodore BASIC}}
{{works with|Commodore BASIC}}
{{works with|GW-BASIC}}
{{works with|GW-BASIC}}
<lang gwbasic>10 DIM N(1024), F(1024), T(1024), V(1024): REM STACK PER PARAMETER
<lang gwbasic>10 DEPTH=4: REM SHOULD EQUAL NUMBER OF DISKS
20 SP = 0: REM STACK POINTER
20 DIM N(DEPTH), F(DEPTH), T(DEPTH), V(DEPTH): REM STACK PER PARAMETER
30 N(SP) = 4: REM START WITH 4 DISCS
30 SP = 0: REM STACK POINTER
40 F(SP) = 1: REM ON PEG 1
40 N(SP) = 4: REM START WITH 4 DISCS
50 T(SP) = 2: REM MOVE TO PEG 2
50 F(SP) = 1: REM ON PEG 1
60 V(SP) = 3: REM VIA PEG 3
60 T(SP) = 2: REM MOVE TO PEG 2
70 V(SP) = 3: REM VIA PEG 3
70 GOSUB 100
80 END
80 GOSUB 100
90 END
90 REM MOVE SUBROUTINE
99 REM MOVE SUBROUTINE
100 IF N(SP) = 0 THEN RETURN
100 IF N(SP) = 0 THEN RETURN
110 OS = SP: REM STORE STACK POINTER
110 OS = SP: REM STORE STACK POINTER