Home » Archimedes archive » Archimedes World » AW-1991-12.adf » December91 » !AWDec91/Goodies/AdvSystem/!AdvSystem/!GameEdit

!AWDec91/Goodies/AdvSystem/!AdvSystem/!GameEdit

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Archimedes World » AW-1991-12.adf » December91
Filename: !AWDec91/Goodies/AdvSystem/!AdvSystem/!GameEdit
Read OK:
File size: 7748 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > !GameEdit
   20REM Version 2.30 of game Editor/Creator for the Adventure System
   30REM 12-08-90: Initial menu display procedure, text entry system. Data setup
   40REM           for menu lists and empty arrays to hold game data and
   50REM           the data directory. Set up default values. Display main menu
   60REM           and get input of choice. {1.00}
   70REM 13-08-90: Empty procedures for various menu actions. Quit routine and
   80REM           utility sub-menu implemented. Data reset and load. Change of
   90REM           data directory. {1.30}
  100REM 20-08-90: Refinements to reset and change directory. Viewing of entire
  110REM           set of data files phase 1 {1.35}
  120REM 21-08-90: Viewing of data phase 2. Additions to Reset. Data viewing
  130REM           phase 3. Primary location editing routine {1.51}
  140REM 22-08-90: Location editing routine finalised. Object editing routine.
  150REM           Splitting of menu routine into options and title Alterations
  160REM           to utilities menu and to main menu. Save routine implemented.
  170REM           Text entry routine added {1.73}
  180REM 23-08-90: General debugging and setting to rights of routines written
  190REM           to date. Vocab entry routine {1.81}
  200REM 26-08-90: Further debugging. Catalogue current directory routine.
  210REM           Finishing of vocab entry routine. Misc data routine {1.91}
  220REM 27-08-90: Puzzle data entry routine. Scoring data routine. Alteration
  230REM           of change directory and catalogue routines {2.07}
  240REM 28-08-90: More debugging. Starting message and title edit {2.12}
  250REM 02-09-90: Handling of synonyms for vocab {2.18}
  260REM 15-11-90: Combining of directory and files into a single file {2.30}
  270REM Written by Graham West 12-8-90 -
  275REM Copyright Archimedes World 1991
  280MODE 12
  290PROCinit
  300finished=FALSE
  310REPEAT
  320  PROCmenu(1)
  330  choice%=VAL(FNinput(1,25,"Enter choice: ",6,"123456789",1))
  340  CASE choice% OF
  350  WHEN 1: PROCrooms
  360  WHEN 2: PROCobjects
  370  WHEN 3: PROCvocab
  380  WHEN 4: PROCpuzzles
  390  WHEN 5: PROCtext
  400  WHEN 6: PROCmisc
  410  WHEN 7: PROCscores
  420  WHEN 8: PROCutils
  430  WHEN 9: PROCquit
  440  ENDCASE
  450UNTIL finished
  460t%=OPENOUT("ADVS")
  470FOR I%=1 TO 8
  480  PRINT#t%,advtitle$(I%)
  490NEXT
  500CLOSE#t%
  510CHAIN"!RunImage"
  520:
  530DEFPROCrooms
  540REPEAT
  550  PROCshowroomdata(edroom%)
  560  REPEAT
  570    A$=GET$
  580  UNTIL INSTR("NnPpFfLlEeDd",A$)>0
  590  roomopt%=(INSTR("NnPpFfLlEeDd",A$)+1)/2
  600  CASE roomopt% OF
  610  WHEN 1:
  620    edroom%+=1:IF edroom%>253 THEN edroom%=1
  630  WHEN 2:
  640    edroom%-=1:IF edroom%<1 THEN edroom%=253
  650  WHEN 3:
  660    edroom%=1
  670  WHEN 4:
  680    edroom%=room%
  690  WHEN 5:
  700    COLOUR 3:nroom$=FNinput(1,11,"==>",7,allchar$,255)
  710    IF nroom$="" THEN nroom$=room$(edroom%)
  720    room$(edroom%)=nroom$
  730    north$=FNinput(39,16,"==>",7,"0123456789",3)
  740    south$=FNinput(39,17,"==>",7,"0123456789",3)
  750    east$=FNinput(39,18,"==>",7,"0123456789",3)
  760    west$=FNinput(39,19,"==>",7,"0123456789",3)
  770    up$=FNinput(39,20,"==>",7,"0123456789",3)
  780    down$=FNinput(39,21,"==>",7,"0123456789",3)
  790    IF north$<>"" AND VAL(north$)<254 THEN room%(edroom%,1)=VAL(north$)
  800    IF south$<>"" AND VAL(south$)<254 THEN room%(edroom%,2)=VAL(south$)
  810    IF east$<>"" AND VAL(east$)<254 THEN room%(edroom%,3)=VAL(east$)
  820    IF west$<>"" AND VAL(west$)<254 THEN room%(edroom%,4)=VAL(west$)
  830    IF up$<>"" AND VAL(up$)<254 THEN room%(edroom%,5)=VAL(up$)
  840    IF down$<>"" AND VAL(down$)<254 THEN room%(edroom%,6)=VAL(down$)
  850    PROCshowroomdata(edroom%)
  860    IF edroom%>room% THEN room%=edroom%
  870  ENDCASE
  880UNTIL roomopt%=6
  890ENDPROC
  900:
  910DEFPROCshowroomdata(edroom%)
  920CLS
  930PROCtitle("Edit room data",6,1)
  940COLOUR 7:PRINTTAB(1,5);"Editing room number ";edroom%;" out of 253 (";room%;" defined)."
  950COLOUR 3
  960IF room$(edroom%)<>"" THEN
  970  PRINTTAB(1,7);room$(edroom%)
  980ELSE
  990  PRINTTAB(1,7);"** CURRENTLY UNDEFINED **"
 1000ENDIF
 1010COLOUR 6:PRINTTAB(1,16);"North - ";room%(edroom%,1)
 1020PRINTTAB(1,17);"South - ";room%(edroom%,2)
 1030PRINTTAB(1,18);" East - ";room%(edroom%,3)
 1040PRINTTAB(1,19);" West - ";room%(edroom%,4)
 1050PRINTTAB(1,20);"   Up - ";room%(edroom%,5)
 1060PRINTTAB(1,21);" Down - ";room%(edroom%,6)
 1070COLOUR 5
 1080PRINTTAB(1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
 1090ENDPROC
 1100:
 1110DEFPROCobjects
 1120REPEAT
 1130  PROCshowobjdata(edobj%)
 1140  REPEAT
 1150    A$=GET$
 1160  UNTIL INSTR("NnPpFfLlEeDd",A$)>0
 1170  objopt%=(INSTR("NnPpFfLlEeDd",A$)+1)/2
 1180  CASE objopt% OF
 1190  WHEN 1:
 1200    edobj%+=1
 1210    IF edobj%>255 THEN edobj%=1
 1220  WHEN 2:
 1230    edobj%-=1
 1240    IF edobj%<1 THEN edobj%=255
 1250  WHEN 3:
 1260    edobj%=1
 1270  WHEN 4:
 1280    edobj%=obj%
 1290  WHEN 5:
 1300    nobjdesc$=FNinput(1,9,"==>",7,allchar$,75)
 1310    IF nobjdesc$="" THEN nobjdesc$=objdesc$(edobj%)
 1320    nexam$=FNinput(1,16,"==>",7,allchar$,255)
 1330    IF nexam$="" THEN nexam$=examine$(edobj%)
 1340    nstat$=FNinput(39,21,"==>",7,"012",1)
 1350    IF nstat$="" THEN nstat%=objstat%(edobj%) ELSE nstat%=VAL(nstat$)
 1360    nloc$=FNinput(39,22,"==>",7,"0123456789",3)
 1370    IF nloc$="" OR VAL(nloc$)>253 THEN
 1380      nloc%=objloc%(edobj%)
 1390    ELSE
 1400      nloc%=VAL(nloc$)
 1410    ENDIF
 1420    nact$=FNinput(39,23,"==>",7,"0123456789",3)
 1430    IF nact$="" OR VAL(nact$)>255 THEN
 1440      nact%=objact%(edobj%)
 1450    ELSE
 1460      nact%=VAL(nact$)
 1470    ENDIF
 1480    nnoun$=FNinput(39,24,"==>",7,"0123456789",3)
 1490    IF nnoun$="" OR VAL(nnoun$)>255 THEN
 1500      nnoun%=objnoun%(edobj%)
 1510    ELSE
 1520      nnoun%=VAL(nnoun$)
 1530    ENDIF
 1540    objdesc$(edobj%)=nobjdesc$
 1550    examine$(edobj%)=nexam$
 1560    objstat%(edobj%)=nstat%
 1570    objloc%(edobj%)=nloc%
 1580    objact%(edobj%)=nact%
 1590    objnoun%(edobj%)=nnoun%
 1600    IF edobj%>obj% THEN obj%=edobj%
 1610  ENDCASE
 1620UNTIL objopt%=6
 1630ENDPROC
 1640:
 1650DEFPROCshowobjdata(edobj%)
 1660CLS
 1670PROCtitle("Edit object data",3,4)
 1680COLOUR 7:PRINTTAB(1,5);"Editing object number ";edobj%;" out of 255 (";obj%;" defined)."
 1690COLOUR 3
 1700IF objdesc$(edobj%)<>"" THEN
 1710  PRINTTAB(1,7);objdesc$(edobj%)
 1720ELSE
 1730  PRINTTAB(1,7);"** CURRENTLY UNDEFINED **"
 1740ENDIF
 1750COLOUR 2
 1760PRINTTAB(1,11);examine$(edobj%)
 1770COLOUR 6
 1780PRINTTAB(1,21);"Status (0-2) - ";objstat%(edobj%);" (";
 1790CASE objstat%(edobj%) OF
 1800WHEN 0:
 1810  PRINT"Immovable)"
 1820WHEN 1:
 1830  PRINT"Getable)"
 1840WHEN 2:
 1850  PRINT"Wearable)"
 1860ENDCASE
 1870PRINTTAB(1,22);"Start room - ";objloc%(edobj%)
 1880PRINTTAB(1,23);"Action key - ";objact%(edobj%);
 1890FOR I%=1 TO action%:IF action%(I%)=objact%(edobj%) AND objact%(edobj%)<>0 THEN PRINT" (";action$(I%);")":I%=action%:NEXT ELSE NEXT
 1900PRINTTAB(1,24);"Noun key - ";objnoun%(edobj%);
 1910FOR I%=1 TO noun%:IF noun%(I%)=objnoun%(edobj%) AND objnoun%(edobj%)<>0 THEN PRINT" (";noun$(I%);")":I%=noun%:NEXT ELSE NEXT
 1920COLOUR 5
 1930PRINTTAB(1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
 1940ENDPROC
 1950:
 1960DEFPROCvocab
 1970REPEAT
 1980  PROCmenu(3)
 1990  choice%=VAL(FNinput(1,25,"Enter choice: ",6,"12345",1))
 2000  CASE choice% OF
 2010  WHEN 1:
 2020    PROCedverbs
 2030  WHEN 2:
 2040    PROCedlinks
 2050  WHEN 3:
 2060    PROCedactions
 2070  WHEN 4:
 2080    PROCednouns
 2090  ENDCASE
 2100UNTIL choice%=5
 2110ENDPROC
 2120:
 2130DEFPROCedverbs
 2140REPEAT
 2150  PROCshowverbs(edverb%)
 2160  REPEAT
 2170    A$=GET$
 2180  UNTIL INSTR("NnPpFfBbEeDd",A$)>0
 2190  vbopt%=(INSTR("NnPpFfBbEeDd",A$)+1)/2
 2200  CASE vbopt% OF
 2210  WHEN 1:
 2220    edverb%+=1:IF edverb%>255 THEN edverb%=1
 2230  WHEN 2:
 2240    edverb%-=1:IF edverb%<1 THEN edverb%=255
 2250  WHEN 3:
 2260    edverb%+=15:IF edverb%>255 THEN edverb%=1
 2270  WHEN 4:
 2280    edverb%-=15:IF edverb%<1 THEN edverb%=255
 2290  WHEN 5:
 2300    verb$=FNinput(39,8+((edverb%-1) MOD 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)
 2310    nvs$=FNinput(69,8+((edverb%-1) MOD 15),"==>",7,"0123456789",3)
 2320    IF verb$="" THEN verb$=verb$(edverb%)
 2330    IF nvs$="" OR VAL(nvs$)>255 THEN nvs%=verb%(edverb%) ELSE nvs%=VAL(nvs$)
 2340    verb$(edverb%)=verb$:verb%(edverb%)=nvs%
 2350    IF verb$(edverb%)="" THEN verb%(edverb%)=0
 2360    IF edverb%>verb% THEN verb%=edverb%
 2370  ENDCASE
 2380UNTIL vbopt%=6
 2390ENDPROC
 2400:
 2410DEFPROCshowverbs(edverb%)
 2420vbblk%=((edverb%-1) DIV 15)*15
 2430CLS
 2440PROCtitle("Edit verb list",7,2)
 2450COLOUR 7:PRINTTAB(1,4);"Editing verb ";edverb%;" out of 255 (";verb%;" defined)."
 2460PRINTTAB(5,7);"Old verb";TAB(29,7);"Old ID";TAB(44,7);"New verb";TAB(69,7);"New ID"
 2470COLOUR 3
 2480FOR I%=1 TO 15
 2490  COLOUR 128
 2500  PRINTTAB(29,I%+7);verb%(vbblk%+I%)
 2510  IF vbblk%+I%=edverb% THEN
 2520    COLOUR 132:PRINTTAB(2,I%+7);
 2530    IF verb$(edverb%)<>"" THEN
 2540      PRINT SPC(LEN(verb$(edverb%))+6);TAB(5,I%+7);verb$(edverb%)
 2550    ELSE
 2560      PRINT SPC(31);TAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 2570    ENDIF
 2580  ELSE
 2590    IF verb$(vbblk%+I%)<>"" THEN
 2600      PRINTTAB(5,I%+7);verb$(vbblk%+I%)
 2610    ELSE
 2620      PRINTTAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 2630    ENDIF
 2640  ENDIF
 2650NEXT
 2660COLOUR 5:COLOUR 128
 2670PRINTTAB(1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
 2680ENDPROC
 2690:
 2700DEFPROCedlinks
 2710REPEAT
 2720  PROCshowlinks(edlink%)
 2730  REPEAT
 2740    A$=GET$
 2750  UNTIL INSTR("NnPpFfBbEeDd",A$)>0
 2760  lkopt%=(INSTR("NnPpFfBbEeDd",A$)+1)/2
 2770  CASE lkopt% OF
 2780  WHEN 1:
 2790    edlink%+=1:IF edlink%>255 THEN edlink%=1
 2800  WHEN 2:
 2810    edlink%-=1:IF edlink%<1 THEN edlink%=255
 2820  WHEN 3:
 2830    edlink%+=15:IF edlink%>255 THEN edlink%=1
 2840  WHEN 4:
 2850    edlink%-=15:IF edlink%<1 THEN edlink%=255
 2860  WHEN 5:
 2870    link$=FNinput(39,8+((edlink%-1) MOD 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)
 2880    nls$=FNinput(69,8+((edlink%-1) MOD 15),"==>",7,"0123456789",3)
 2890    IF link$="" THEN link$=link$(edlink%)
 2900    IF nls$="" OR VAL(nls$)>255 THEN nls%=link%(edlink%) ELSE nls%=VAL(nls$)
 2910    link$(edlink%)=link$:link%(edlink%)=nls%
 2920    IF link$(edlink%)="" THEN link%(edlink%)=0
 2930    IF edlink%>link% THEN link%=edlink%
 2940  ENDCASE
 2950UNTIL lkopt%=6
 2960ENDPROC
 2970:
 2980DEFPROCshowlinks(edlink%)
 2990lkblk%=((edlink%-1) DIV 15)*15
 3000CLS
 3010PROCtitle("Edit link word list",7,2)
 3020COLOUR 7:PRINTTAB(1,4);"Editing link word ";edlink%;" out of 255 (";link%;" defined)."
 3030PRINTTAB(5,7);"Old link word";TAB(29,7);"Old ID";TAB(44,7);"New link word";TAB(69,7);"New ID"
 3040COLOUR 3
 3050FOR I%=1 TO 15
 3060  COLOUR 128
 3070  PRINTTAB(29,I%+7);link%(lkblk%+I%)
 3080  IF lkblk%+I%=edlink% THEN
 3090    COLOUR 132:PRINTTAB(2,I%+7);
 3100    IF link$(edlink%)<>"" THEN
 3110      PRINT SPC(LEN(link$(edlink%))+6);TAB(5,I%+7);link$(edlink%)
 3120    ELSE
 3130      PRINT SPC(31);TAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 3140    ENDIF
 3150  ELSE
 3160    IF link$(lkblk%+I%)<>"" THEN
 3170      PRINTTAB(5,I%+7);link$(lkblk%+I%)
 3180    ELSE
 3190      PRINTTAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 3200    ENDIF
 3210  ENDIF
 3220NEXT
 3230COLOUR 5:COLOUR 128
 3240PRINTTAB(1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
 3250ENDPROC
 3260:
 3270DEFPROCedactions
 3280REPEAT
 3290  PROCshowactions(edaction%)
 3300  REPEAT
 3310    A$=GET$
 3320  UNTIL INSTR("NnPpFfBbEeDd",A$)>0
 3330  acopt%=(INSTR("NnPpFfBbEeDd",A$)+1)/2
 3340  CASE acopt% OF
 3350  WHEN 1:
 3360    edaction%+=1:IF edaction%>255 THEN edaction%=1
 3370  WHEN 2:
 3380    edaction%-=1:IF edaction%<1 THEN edaction%=255
 3390  WHEN 3:
 3400    edaction%+=15:IF edaction%>255 THEN edaction%=1
 3410  WHEN 4:
 3420    edaction%-=15:IF edaction%<1 THEN edaction%=255
 3430  WHEN 5:
 3440    action$=FNinput(39,8+((edaction%-1) MOD 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)
 3450    nas$=FNinput(69,8+((edaction%-1) MOD 15),"==>",7,"0123456789",3)
 3460    IF action$="" THEN action$=action$(edaction%)
 3470    IF nas$="" OR VAL(nas$)>255 THEN nas%=action%(edaction%) ELSE nas%=VAL(nas$)
 3480    action$(edaction%)=action$:action%(edaction%)=nas%
 3490    IF action$(edaction%)="" THEN action%(edaction%)=0
 3500    IF edaction%>action% THEN action%=edaction%
 3510  ENDCASE
 3520UNTIL acopt%=6
 3530ENDPROC
 3540:
 3550DEFPROCshowactions(edact%)
 3560acblk%=((edaction%-1) DIV 15)*15
 3570CLS
 3580PROCtitle("Edit action word list",7,2)
 3590COLOUR 7:PRINTTAB(1,4);"Editing action word ";edaction%;" out of 255 (";action%;" defined)."
 3600PRINTTAB(5,7);"Old action word";TAB(29,7);"Old ID";TAB(44,7);"New action word";TAB(69,7);"New ID"
 3610COLOUR 3
 3620FOR I%=1 TO 15
 3630  COLOUR 128
 3640  PRINTTAB(29,I%+7);action%(acblk%+I%)
 3650  IF acblk%+I%=edaction% THEN
 3660    COLOUR 132:PRINTTAB(2,I%+7);
 3670    IF action$(edaction%)<>"" THEN
 3680      PRINT SPC(LEN(action$(edaction%))+6);TAB(5,I%+7);action$(edaction%)
 3690    ELSE
 3700      PRINT SPC(31);TAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 3710    ENDIF
 3720  ELSE
 3730    IF action$(acblk%+I%)<>"" THEN
 3740      PRINTTAB(5,I%+7);action$(acblk%+I%)
 3750    ELSE
 3760      PRINTTAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 3770    ENDIF
 3780  ENDIF
 3790NEXT
 3800COLOUR 5:COLOUR 128
 3810PRINTTAB(1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
 3820ENDPROC
 3830:
 3840DEFPROCednouns
 3850REPEAT
 3860  PROCshownouns(ednoun%)
 3870  REPEAT
 3880    A$=GET$
 3890  UNTIL INSTR("NnPpFfBbEeDd",A$)>0
 3900  nnopt%=(INSTR("NnPpFfBbEeDd",A$)+1)/2
 3910  CASE nnopt% OF
 3920  WHEN 1:
 3930    ednoun%+=1:IF ednoun%>255 THEN ednoun%=1
 3940  WHEN 2:
 3950    ednoun%-=1:IF ednoun%<1 THEN ednoun%=255
 3960  WHEN 3:
 3970    ednoun%+=15:IF ednoun%>255 THEN ednoun%=1
 3980  WHEN 4:
 3990    ednoun%-=15:IF ednoun%<1 THEN ednoun%=255
 4000  WHEN 5:
 4010    noun$=FNinput(39,8+((ednoun%-1) MOD 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)
 4020    nns$=FNinput(69,8+((ednoun%-1) MOD 15),"==>",7,"0123456789",3)
 4030    IF noun$="" THEN noun$=noun$(ednoun%)
 4040    IF nns$="" OR VAL(nns$)>255 THEN nns%=noun%(ednoun%) ELSE nns%=VAL(nns$)
 4050    noun$(ednoun%)=noun$:noun%(ednoun%)=nns%
 4060    IF noun$(ednoun%)="" THEN noun%(ednoun%)=0
 4070    IF ednoun%>noun% THEN noun%=ednoun%
 4080  ENDCASE
 4090UNTIL nnopt%=6
 4100ENDPROC
 4110:
 4120DEFPROCshownouns(ednoun%)
 4130nnblk%=((ednoun%-1) DIV 15)*15
 4140CLS
 4150PROCtitle("Edit noun word list",7,2)
 4160COLOUR 7:PRINTTAB(1,4);"Editing noun word ";ednoun%;" out of 255 (";noun%;" defined)."
 4170PRINTTAB(5,7);"Old noun";TAB(29,7);"Old ID";TAB(44,7);"New noun";TAB(69,7);"New ID"
 4180COLOUR 3
 4190FOR I%=1 TO 15
 4200  COLOUR 128
 4210  PRINTTAB(29,I%+7);noun%(nnblk%+I%)
 4220  IF nnblk%+I%=ednoun% THEN
 4230    COLOUR 132:PRINTTAB(2,I%+7);
 4240    IF noun$(ednoun%)<>"" THEN
 4250      PRINT SPC(LEN(noun$(ednoun%))+6);TAB(5,I%+7);noun$(ednoun%)
 4260    ELSE
 4270      PRINT SPC(31);TAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 4280    ENDIF
 4290  ELSE
 4300    IF noun$(nnblk%+I%)<>"" THEN
 4310      PRINTTAB(5,I%+7);noun$(nnblk%+I%)
 4320    ELSE
 4330      PRINTTAB(5,I%+7);"** CURRENTLY UNDEFINED **"
 4340    ENDIF
 4350  ENDIF
 4360NEXT
 4370COLOUR 5:COLOUR 128
 4380PRINTTAB(1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
 4390ENDPROC
 4400:
 4410DEFPROCpuzzles
 4420REPEAT
 4430  PROCshowpuzzle(edpuz%)
 4440  REPEAT
 4450    A$=GET$
 4460  UNTIL INSTR("NnPpFfLlEeDd",A$)>0
 4470  puzopt%=(INSTR("NnPpFfLlEeDd",A$)+1)/2
 4480  CASE puzopt% OF
 4490  WHEN 1:
 4500    edpuz%+=1:IF edpuz%>255 THEN edpuz%=1
 4510  WHEN 2:
 4520    edpuz%-=1:IF edpuz%<1 THEN edpuz%=255
 4530  WHEN 3:
 4540    edpuz%=1
 4550  WHEN 4:
 4560    edpuz%=puz%
 4570  WHEN 5:
 4580    p%=puzzle%+(edpuz%-1)*36
 4590    p%?0=FNvalidb(FNinput(24,10,"==>",7,"0123456789",3),0,edpuz%)
 4600    p%?1=FNvalidb(FNinput(24,11,"==>",7,"0123456789",3),1,edpuz%)
 4610    p%?2=FNvalidb(FNinput(24,12,"==>",7,"0123456789",3),2,edpuz%)
 4620    p%?3=FNvalidb(FNinput(24,13,"==>",7,"0123456789",3),3,edpuz%)
 4630    p%?4=FNvalidb(FNinput(24,14,"==>",7,"0123456789",3),4,edpuz%)
 4640    p%?5=FNvalidb(FNinput(24,15,"==>",7,"0123456789",3),5,edpuz%)
 4650    p%?6=FNstat(FNinput(24,16,"==>",7,"01",1),6,edpuz%)
 4660    p%?7=FNvalidb(FNinput(24,17,"==>",7,"0123456789",3),7,edpuz%)
 4670    p%?8=FNstat(FNinput(24,18,"==>",7,"01",1),8,edpuz%)
 4680    p%?9=FNvalid(FNinput(24,19,"==>",7,"0123456789",3),9,obj%,edpuz%)
 4690    p%?10=FNstat(FNinput(24,20,"==>",7,"012345",1),10,edpuz%)
 4700    p%?11=FNvalid(FNinput(24,21,"==>",7,"0123456789",3),11,room%,edpuz%)
 4710    p%?12=FNvalid(FNinput(24,22,"==>",7,"0123456789",3),12,obj%,edpuz%)
 4720    p%?13=FNstat(FNinput(24,23,"==>",7,"012345",1),13,edpuz%)
 4730    p%?14=FNvalid(FNinput(24,24,"==>",7,"0123456789",3),14,room%,edpuz%)
 4740    p%?15=FNvalid(FNinput(24,25,"==>",7,"0123456789",3),15,obj%,edpuz%)
 4750    p%?16=FNstat(FNinput(24,26,"==>",7,"012345",1),16,edpuz%)
 4760    p%?17=FNvalid(FNinput(24,27,"==>",7,"0123456789",3),17,room%,edpuz%)
 4770    p%?18=FNvalidb(FNinput(63,10,"==>",7,"0123456789",3),18,edpuz%)
 4780    p%?19=FNstat(FNinput(63,11,"==>",7,"012",3),19,edpuz%)
 4790    p%?20=FNvalidb(FNinput(63,12,"==>",7,"0123456789",3),20,edpuz%)
 4800    p%?21=FNstat(FNinput(63,13,"==>",7,"012",3),21,edpuz%)
 4810    p%?22=FNvalid(FNinput(63,14,"==>",7,"0123456789",3),22,room%,edpuz%)
 4820    p%?23=FNstat(FNinput(63,15,"==>",7,"0123456",1),23,edpuz%)
 4830    p%?24=FNvalid(FNinput(63,16,"==>",7,"0123456789",3),24,room%,edpuz%)
 4840    p%?25=FNvalid(FNinput(63,17,"==>",7,"0123456789",3),25,room%,edpuz%)
 4850    p%?26=FNstat(FNinput(63,18,"==>",7,"0123456",1),26,edpuz%)
 4860    p%?27=FNvalid(FNinput(63,19,"==>",7,"0123456789",3),27,room%,edpuz%)
 4870    p%?28=FNvalid(FNinput(63,20,"==>",7,"0123456789",3),28,text%,edpuz%)
 4880    p%?29=FNvalid(FNinput(63,21,"==>",7,"0123456789",3),29,room%,edpuz%)
 4890    p%?30=FNvalid(FNinput(63,22,"==>",7,"0123456789",3),30,obj%,edpuz%)
 4900    p%?31=FNstat(FNinput(63,23,"==>",7,"0123",1),31,edpuz%)
 4910    p%?32=FNvalidb(FNinput(63,24,"==>",7,"0123456789",3),32,edpuz%)
 4920    p%?33=FNvalid(FNinput(63,25,"==>",7,"0123456789",3),33,obj%,edpuz%)
 4930    p%?34=FNstat(FNinput(63,26,"==>",7,"0123",1),34,edpuz%)
 4940    p%?35=FNvalidb(FNinput(63,27,"==>",7,"0123456789",3),35,edpuz%)
 4950    IF edpuz%>puz% THEN puz%=edpuz%
 4960  ENDCASE
 4970UNTIL puzopt%=6
 4980ENDPROC
 4990:
 5000DEFFNvalidb(n$,b%,ep%)
 5010IF n$="" OR VAL(n$)>255 THEN
 5020  =puzzle%?((ep%-1)*36+b%)
 5030ENDIF
 5040=VAL(n$)
 5050:
 5060DEFFNvalid(n$,b%,m%,ep%)
 5070IF n$="" OR VAL(n$)>m% THEN
 5080  =puzzle%?((ep%-1)*36+b%)
 5090ENDIF
 5100=VAL(n$)
 5110:
 5120DEFFNstat(s$,b%,ep%)
 5130IF s$="" THEN =puzzle%?((ep%-1)*36+b%)
 5140=VAL(s$)
 5150:
 5160DEFPROCshowpuzzle(edpuz%)
 5170CLS
 5180PROCtitle("Edit puzzle line data",5,1)
 5190COLOUR 7:PRINTTAB(1,5);"Editing puzzle line ";edpuz%;" out of 255 (";puz%;" defined)."
 5200COLOUR 5:PRINTTAB(1,8);"CONDITIONS";TAB(39,8);"ACTIONS"
 5210COLOUR 3:PRINTTAB(1,10);"Verb ID  :";TAB(1,11);"Link ID  :";TAB(1,12);"Action ID:";TAB(1,13);"Noun ID  :";TAB(1,14);"Location :";TAB(1,15);"Flag 1   :";TAB(1,16);"Value 1  :";TAB(1,17);"Flag 2   :";TAB(1,18);"Value 2  :"
 5220PRINTTAB(1,19);"Object 1 :"
 5230PRINTTAB(1,20);"Attrib 1 :";TAB(1,21);"Room 1   :";TAB(1,22);"Object 2 :";TAB(1,23);"Attrib 2 :";TAB(1,24);"Room 2   :";TAB(1,25);"Object 3 :";TAB(1,26);"Attrib 3 :";TAB(1,27);"Room 3   :"
 5240PRINTTAB(39,10);"Flag 1    :";TAB(39,11);"Status 1  :";TAB(39,12);"Flag 2    :";TAB(39,13);"Status 2  :";TAB(39,14);"Room 1    :";TAB(39,15);"Exit 1    :";TAB(39,16);"New loc 1 :";TAB(39,17);"Room 2    :";TAB(39,18);"Exit 2    :";TAB(39,19);"New loc 2 :"
 5250PRINTTAB(39,20);"Message   :";TAB(39,21);"Location  :";TAB(39,22);"Object 1  :";TAB(39,23);"Action 1  :";TAB(39,24);"Data 1    :";TAB(39,25);"Object 2  :";TAB(39,26);"Action 2  :";TAB(39,27);"Data 2    :"
 5260COLOUR 2
 5270FOR I%=0 TO 17
 5280  PRINTTAB(12,I%+10);puzzle%?(I%+(edpuz%-1)*36)
 5290  PRINTTAB(51,I%+10);puzzle%?(I%+(edpuz%-1)*36+18)
 5300NEXT
 5310COLOUR 5
 5320PRINTTAB(1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
 5330ENDPROC
 5340:
 5350DEFPROCtext
 5360REPEAT
 5370  PROCshowtext(edtext%)
 5380  REPEAT
 5390    A$=GET$
 5400  UNTIL INSTR("NnPpFfLlEeDd",A$)>0
 5410  textopt%=(INSTR("NnPpFfLlEeDd",A$)+1)/2
 5420  CASE textopt% OF
 5430  WHEN 1:
 5440    edtext%+=1:IF edtext%>255 THEN edtext%=1
 5450  WHEN 2:
 5460    edtext%-=1:IF edtext%<1 THEN edtext%=255
 5470  WHEN 3:
 5480    edtext%=1
 5490  WHEN 4:
 5500   edtext%=text%
 5510  WHEN 5:
 5520    ntext$=FNinput(1,15,"==>",7,allchar$,255)
 5530    IF ntext$<>"" THEN text$(edtext%)=ntext$
 5540    IF edtext%>text% THEN text%=edtext%
 5550  ENDCASE
 5560UNTIL textopt%=6
 5570ENDPROC
 5580:
 5590DEFPROCshowtext(edtext%)
 5600PROCtitle("Edit text messages",6,2)
 5610PRINTTAB(1,5);"Editing message ";edtext%;" out of 255 (";text%;" defined)."
 5620COLOUR 3
 5630IF text$(edtext%)<>"" THEN
 5640  PRINTTAB(1,9);text$(edtext%)
 5650ELSE
 5660  PRINTTAB(1,9);"** CURRENTLY UNDEFINED **"
 5670ENDIF
 5680COLOUR 5
 5690PRINTTAB(1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
 5700ENDPROC
 5710:
 5720DEFPROCmisc
 5730PROCtitle("Edit miscellaneous data",5,4)
 5740COLOUR 3
 5750PRINTTAB(1,9);"Starting room: ";startloc%
 5760PRINTTAB(1,11);"Start message: ";startmess%
 5770PRINTTAB(1,13);"Carry limit:   ";carrylimit%
 5780PRINTTAB(1,15);"Winning score: ";winsc%
 5790nsl%=VAL(FNinput(39,9,"==>",7,"0123456789",3))
 5800IF nsl%>room% OR nsl%=0 THEN nsl%=startloc%
 5810nsm%=VAL(FNinput(39,11,"==>",7,"0123456789",3))
 5820IF nsm%>text% OR nsm%=0 THEN nsm%=startmess%
 5830ncl%=VAL(FNinput(39,13,"==>",7,"0123456789",2))
 5840IF ncl%>obj% OR ncl%=0 THEN ncl%=carrylimit%
 5850nws%=VAL(FNinput(39,15,"==>",7,"0123456789",3))
 5860IF nws%=0 THEN nws%=winsc%
 5870startloc%=nsl%
 5880startmess%=nsm%
 5890carrylimit%=ncl%
 5900winsc%=nws%
 5910ENDPROC
 5920:
 5930:
 5940DEFPROCscores
 5950REPEAT
 5960  PROCshowscore(edscore%)
 5970  REPEAT
 5980    A$=GET$
 5990  UNTIL INSTR("NnPpFfLlEeDd",A$)>0
 6000  scopt%=(INSTR("NnPpFfLlEeDd",A$)+1)/2
 6010  CASE scopt% OF
 6020  WHEN 1:
 6030    edscore%+=1:IF edscore%>255 THEN edscore%=1
 6040  WHEN 2:
 6050    edscore%-=1:IF edscore%<1 THEN edscore%=255
 6060  WHEN 3:
 6070    edscore%=1
 6080  WHEN 4:
 6090    IF numobjsc%>numflagsc% THEN edscore%=numobjsc% ELSE edscore%=numflagsc%
 6100  WHEN 5:
 6110    nflgn$=FNinput(49,9,"==>",7,"0123456789",3)
 6120    nobjn$=FNinput(49,10,"==>",7,"0123456789",3)
 6130    nflgsc$=FNinput(49,13,"==>",7,"0123456789",3)
 6140    nobjsc$=FNinput(49,14,"==>",7,"0123456789",3)
 6150    IF nflgn$<>"" AND VAL(nflgn$)<255 THEN flagscnum%(edscore%)=VAL(nflgn$)
 6160    IF nflgsc$<>"" THEN flagsc%(edscore%)=VAL(nflgsc$)
 6170    IF nobjn$<>"" AND VAL(nobjn$)<=obj% THEN objscnum%(edscore%)=VAL(nobjn$)
 6180    IF nobjsc$<>"" THEN objsc%(edscore%)=VAL(nobjsc$)
 6190    IF edscore%>numobjsc% THEN numobjsc%=edscore%
 6200    IF edscore%>numflagsc% THEN numflagsc%=edscore%
 6210  ENDCASE
 6220UNTIL scopt%=6
 6230ENDPROC
 6240:
 6250DEFPROCshowscore(edscore%)
 6260CLS
 6270PROCtitle("Edit scoring data",2,4)
 6280COLOUR 7:PRINTTAB(1,5);"Editing score block ";edscore%;" out of 255 (";numobjsc%;" defined)."
 6290COLOUR 6:PRINTTAB(1,9);"Flag number   : ";
 6300COLOUR 3
 6310IF flagscnum%(edscore%)<>0 THEN
 6320  PRINT ;flagscnum%(edscore%)
 6330ELSE
 6340  PRINT"** CURRENTLY UNDEFINED **"
 6350ENDIF
 6360COLOUR 6:PRINTTAB(1,10);"Object number : ";
 6370COLOUR 3
 6380IF objscnum%(edscore%)<>0 THEN
 6390  PRINT ;objscnum%(edscore%)
 6400ELSE
 6410  PRINT"** CURRENTLY UNDEFINED **"
 6420ENDIF
 6430COLOUR 6:PRINTTAB(1,13);"Flag score   : ";
 6440COLOUR 3:PRINT ;flagsc%(edscore%)
 6450COLOUR 6:PRINTTAB(1,14);"Object score : ";
 6460COLOUR 3:PRINT ;objsc%(edscore%)
 6470COLOUR 5
 6480PRINTTAB(1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
 6490ENDPROC
 6500:
 6510DEFPROCutils
 6520REPEAT
 6530  PROCmenu(2)
 6540  choice%=VAL(FNinput(1,25,"Enter choice: ",6,"1234567",1))
 6550  CASE choice% OF
 6560  WHEN 1: PROCchangefileslot
 6570  WHEN 2: PROCchangetitle
 6580  WHEN 3: PROCloadfiles
 6590  WHEN 4: PROCsavefiles
 6600  WHEN 5: PROCview
 6610  WHEN 6: PROCreset
 6620  ENDCASE
 6630UNTIL choice%=7
 6640ENDPROC
 6650:
 6660DEFPROCchangefileslot
 6670CLS
 6680PROCtitle("Change current adventure disc slot",6,5)
 6690COLOUR 2:PRINTTAB(1,6);"The current adventure slot is: ";
 6700COLOUR 3:PRINT ;slot%
 6710COLOUR 2:PRINTTAB(1,11);"New adventure slot           : ";
 6720newslot%=VAL(FNinput(32,11,"",3,"12345678",1))
 6730IF newslot%=0 THEN SWAP newslot%,slot%
 6740SWAP newslot%,slot%
 6750ENDPROC
 6760:
 6770DEFPROCchangetitle
 6780PROCtitle("Change adventure title",6,2)
 6790COLOUR 5:PRINTTAB(1,9);"Old title:"
 6800PRINTTAB(1,14);"New title:"
 6810COLOUR 3:PRINTTAB(1,10);advtitle$(slot%)
 6820nt$=FNinput(1,15,"==>",7,allchar$,64)
 6830IF nt$<>"" THEN advtitle$(slot%)=nt$
 6840ENDPROC
 6850:
 6860DEFPROCloadfiles
 6870ok$=FNinput(1,25,"Are you sure you want to load a new adventure? (y/n): ",7,"YyNn",1)
 6880IF ok$<>"y" AND ok$<>"Y" THEN ENDPROC
 6890advf%=OPENUP("ADV"+STR$slot%)
 6900IF advf%=0 THEN
 6910  COLOUR 7:PRINTTAB(1,27);"The file for this adventure slot has been removed from its proper place. Please select another slot"'"before attempting to load a data file."
 6920  PRINTTAB(32,30);"Press any key.";
 6930  *FX15,0,0
 6940  A=GET
 6950  ENDPROC
 6960ENDIF
 6970PROCdoreset
 6980INPUT#advf%,startloc%,startmess%,room%,carrylimit%,obj%
 6990INPUT#advf%,verb%,link%,action%,noun%
 7000FOR I%=1 TO verb%:INPUT#advf%,verb$(I%),verb%(I%):NEXT
 7010FOR I%=1 TO link%:INPUT#advf%,link$(I%),link%(I%):NEXT
 7020FOR I%=1 TO action%:INPUT#advf%,action$(I%),action%(I%):NEXT
 7030FOR I%=1 TO noun%:INPUT#advf%,noun$(I%),noun%(I%):NEXT
 7040INPUT#advf%,puz%,text%,numobjsc%,numflagsc%,winsc%
 7050FOR I%=1 TO numobjsc%
 7060  INPUT#advf%,objscnum%(I%),objsc%(I%)
 7070NEXT
 7080FOR I%=1 TO numflagsc%
 7090  INPUT#advf%,flagscnum%(I%),flagsc%(I%)
 7100NEXT
 7110FOR I%=1 TO room%:INPUT#advf%,room$(I%)
 7120  FOR J%=1 TO 6:INPUT#advf%,room%(I%,J%):NEXT
 7130NEXT
 7140FOR I%=1 TO obj%
 7150  INPUT#advf%,objloc%(I%),objstat%(I%),objdesc$(I%),examine$(I%)
 7160  INPUT#advf%,objact%(I%),objnoun%(I%)
 7170NEXT
 7180FOR I%=0 TO puz%-1
 7190  FOR J%=0 TO 35
 7200    puzzle%?(I%*36+J%)=BGET#advf%
 7210  NEXT
 7220NEXT
 7230FOR I%=1 TO text%
 7240  INPUT#advf%,text$(I%)
 7250NEXT
 7260CLOSE#advf%
 7270ENDPROC
 7280:
 7290DEFPROCsavefiles
 7300ok$=FNinput(1,25,"Are you sure you want to save the adventure? (y/n): ",7,"YyNn",1)
 7310IF ok$<>"y" AND ok$<>"Y" THEN ENDPROC
 7320ON ERROR LOCAL COLOUR7:PRINTTAB(1,27);"An error has occurred in the saving of the adventure. Please try another"'"data slot. Press any key.":SYS"OS_Byte",15,0,0:A=GET:ENDPROC
 7330advf%=OPENOUT("ADV"+STR$slot%)
 7340PRINT#advf%,startloc%,startmess%,room%,carrylimit%,obj%
 7350PRINT#advf%,verb%,link%,action%,noun%
 7360FOR I%=1 TO verb%:PRINT#advf%,verb$(I%),verb%(I%):NEXT
 7370FOR I%=1 TO link%:PRINT#advf%,link$(I%),link%(I%):NEXT
 7380FOR I%=1 TO action%:PRINT#advf%,action$(I%),action%(I%):NEXT
 7390FOR I%=1 TO noun%:PRINT#advf%,noun$(I%),noun%(I%):NEXT
 7400PRINT#advf%,puz%,text%,numobjsc%,numflagsc%,winsc%
 7410FOR I%=1 TO numobjsc%
 7420  PRINT#advf%,objscnum%(I%),objsc%(I%)
 7430NEXT
 7440FOR I%=1 TO numflagsc%
 7450  PRINT#advf%,flagscnum%(I%),flagsc%(I%)
 7460NEXT
 7470FOR I%=1 TO room%:PRINT#advf%,room$(I%)
 7480  FOR J%=1 TO 6:PRINT#advf%,room%(I%,J%):NEXT
 7490NEXT
 7500FOR I%=1 TO obj%
 7510  PRINT#advf%,objloc%(I%),objstat%(I%),objdesc$(I%),examine$(I%)
 7520  PRINT#advf%,objact%(I%),objnoun%(I%)
 7530NEXT
 7540FOR I%=0 TO puz%-1
 7550  FOR J%=0 TO 35
 7560    BPUT#advf%,puzzle%?(I%*36+J%)
 7570  NEXT
 7580NEXT
 7590FOR I%=1 TO text%
 7600  PRINT#advf%,text$(I%)
 7610NEXT
 7620CLOSE#advf%
 7630OSCLI"SETTYPE ADV"+STR$slot%+" ADVDATA"
 7640ENDPROC
 7650:
 7660DEFPROCview
 7670CLS
 7680v$=FNinput(0,1,"Do you want the output sent to the printer as well? (y/n): ",7,"YNyn",1)
 7690PRINT'''"Press SHIFT to scroll"'
 7700IF v$="Y" OR v$="y" THEN VDU2
 7710VDU14
 7720PRINT''"Room descriptions:"'
 7730FOR I%=1 TO room%
 7740PRINT"Room ";I%;" - ";room$(I%);" : N - ";room%(I%,1);" : S - ";room%(I%,2);" : E - ";room%(I%,3);" : W - ";room%(I%,4);" : U - ";room%(I%,5);" : D - ";room%(I%,6)'
 7750NEXT
 7760PRINT''"Objects:"'
 7770FOR I%=1 TO obj%
 7780  PRINT"Object ";I%;": ";objdesc$(I%);" - Room: ";objloc%(I%);" - Status: ";objstat%(I%);" - Keys: ";action$(objact%(I%));" ";noun$(objnoun%(I%));" - Examine: ";examine$(I%)'
 7790NEXT
 7800PRINT''"Text messages:"'
 7810FOR I%=1 TO text%
 7820  PRINT"Message ";I%;": ";text$(I%)'
 7830NEXT
 7840PRINT''"Vocabulary:"'
 7850FOR I%=1 TO verb%
 7860  PRINT"Verb ";I%;": ";verb$(I%);" - ID: ";verb%(I%)
 7870NEXT
 7880PRINT
 7890FOR I%=1 TO link%
 7900  PRINT"Link word ";I%;": ";link$(I%);" - ID: ";link%(I%)
 7910NEXT
 7920PRINT
 7930FOR I%=1 TO action%
 7940  PRINT"Action word ";I%;": ";action$(I%);" - ID: ";action%(I%)
 7950NEXT
 7960PRINT
 7970FOR I%=1 TO noun%
 7980  PRINT"Noun ";I%;": ";noun$(I%);" - ID: ";noun%(I%)
 7990NEXT
 8000PRINT''"Puzzle Data:"
 8010FOR I%=0 TO puz%-1
 8020  PRINT';I%+1;": ";
 8030  FOR J%=0 TO 17
 8040    PRINT ;puzzle%?(I%*36+J%);" ";
 8050  NEXT
 8060  PRINT"/// ";
 8070  FOR J%=18 TO 35
 8080    PRINT ;puzzle%?(I%*36+J%);" ";
 8090  NEXT
 8100NEXT
 8110PRINT''"Scoring Data:"'
 8120FOR I%=1 TO numflagsc%
 8130  PRINT"Flag ";flagscnum%(I%);" scores ";flagsc%(I%);" points"
 8140NEXT
 8150PRINT
 8160FOR I%=1 TO numobjsc%
 8170  PRINT"Object ";objscnum%(I%);" scores ";objsc%(I%);" points"
 8180NEXT
 8190PRINT"Bonus of ";winsc%;" points for winning"
 8200PRINT''"Miscellaneous Data:"'
 8210PRINT"Starting room: ";startloc%
 8220PRINT"Starting message ";startmess%
 8230PRINT"Carry limit: ";carrylimit%
 8240PRINT"Total rooms: ";room%
 8250PRINT"Total objects: ";obj%
 8260PRINT"Total Verbs,Links,Actions,Nouns: ";verb%;", ";link%;", ";action%;", ";noun%
 8270PRINT"Total text messages: ";text%
 8280PRINT"Total puzzle lines: ";puz%
 8290PRINT"Total scoring flags: ";numflagsc%
 8300PRINT"Total scoring objects: ";numobjsc%
 8310PRINT'"Press any key to continue."
 8320VDU15
 8330SYS"OS_Byte",15,0,0
 8340A=GET
 8350ENDPROC
 8360:
 8370DEFPROCreset
 8380PRINTTAB(0,25);SPC(80)
 8390choice$=FNinput(1,25,"Are you sure you want to reset the adventure data? (y/n): ",7,"YNyn",1)
 8400IF choice$="Y" OR choice$="y" THEN PROCdoreset
 8410ENDPROC
 8420:
 8430DEFPROCdoreset
 8440verb%=18:link%=1:action%=6:noun%=6:obj%=1:winsc%=0:puz%=1:text%=1
 8450carrylimit%=3:room%=1:numobjsc%=1:numflagsc%=1:startmess%=1
 8460edroom%=1:edobj%=1:edpuz%=1:edscore%=1:edtext%=1:ednoun%=1:edaction%=1
 8470edlink%=1:edverb%=1
 8480FOR I%=0 TO 35
 8490  puzzle%?I%=255
 8500NEXT
 8510FOR I%=36 TO 255*36-1 STEP 4
 8520  puzzle%!I%=0
 8530NEXT I%
 8540RESTORE
 8550FOR I%=1 TO verb%
 8560  READ verb$(I%):verb%(I%)=I%
 8570NEXT
 8580verb$(19)="TAKE":verb%(19)=9:verb$(20)="LEAVE":verb%(20)=10:verb%=20
 8590FOR I%=1 TO link%
 8600  READ link$(I%):link%(I%)=I%
 8610NEXT
 8620FOR I%=1 TO action%
 8630  READ action$(I%):action%(I%)=I%
 8640NEXT
 8650FOR I%=1 TO noun%
 8660  READ noun$(I%):noun%(I%)=I%
 8670NEXT
 8680FOR I%=1 TO 253
 8690room$(I%)="":FOR J%=1 TO 6
 8700  room%(I%,J%)=0
 8710NEXT
 8720FOR I%=1 TO 255
 8730  text$(I%)=""
 8740NEXT
 8750FOR I%=1 TO 255
 8760  objdesc$(I%)="":examine$(I%)="":objloc%(I%)=0:objstat%(I%)=0
 8770NEXT
 8780FOR I%=1 TO 255
 8790  flagscnum%(I%)=0:objscnum%(I%)=0:flagsc%(I%)=0:objsc%(I%)=0
 8800NEXT
 8810ENDPROC
 8820:
 8830DEFPROCquit
 8840PRINTTAB(0,25);SPC(80)
 8850choice$=FNinput(1,25,"Are you sure you want to quit? (y/n): ",7,"YNyn",1)
 8860IF choice$="Y" OR choice$="y" THEN
 8870  PRINTTAB(1,25);SPC(60);
 8880  c$="Do you want to save the adventure (slot "+STR$slot%+")? (y/n): ":choice$=FNinput(1,25,c$,7,"YNyn",1)
 8890  IF choice$="Y" OR choice$="y" THEN
 8900    PROCsavefiles
 8910  ENDIF
 8920finished=TRUE
 8930SYS"OS_Byte",220,27,0:SYS"OS_Byte",4,0,0
 8940ENDIF
 8950ENDPROC
 8960:
 8970DEFPROCinit
 8980SYS"OS_Byte",220,243,0:SYS"OS_Byte",4,1,0
 8990DIM advtitle$(8)
 9000X=OPENIN"ADVS"
 9010FOR I%=1 TO 8
 9020  INPUT#X,advtitle$(I%)
 9030NEXT
 9040CLOSE#X
 9050DIM room$(253),room%(253,6),puzzle% 255*36,objloc%(255),objstat%(255)
 9060DIM text$(255),objsc%(255),objscnum%(255),flagsc%(255),flagscnum%(255)
 9070DIM verb$(255),link$(255),action$(255),noun$(255),examine$(255)
 9080DIM verb%(255),link%(255),action%(255),noun%(255)
 9090DIM objact%(255),objnoun%(255),objdesc$(255)
 9100verb%=18:link%=1:action%=6:noun%=6:startloc%=1:carrylimit%=3
 9110slot%=1:room%=1:puz%=1:obj%=1:text%=1:winsc%=0
 9120numobjsc%=1:numflagsc%=1
 9130allchar$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
 9140allchar$+="!@#$%^&*()_-=+FALSEFN`~\|]}[{';:/?.>,< "+CHR$34
 9150PROCdoreset
 9160READ menunum%
 9170DIM menuopt$(menunum%,9),menucol%(menunum%),menutitle$(menunum%)
 9180DIM menunumopt%(menunum%),menuspc%(menunum%),menuoptx%(menunum%)
 9190DIM menuopty%(menunum%),menutcol%(menunum%),menubcol%(menunum%)
 9200FOR I%=1 TO menunum%
 9210  READ menutitle$(I%),menutcol%(I%),menubcol%(I%),menucol%(I%),menuspc%(I%)
 9220  READ menuoptx%(I%),menuopty%(I%),menunumopt%(I%)
 9230  FOR J%=1 TO menunumopt%(I%)
 9240    READ menuopt$(I%,J%)
 9250  NEXT
 9260NEXT
 9270ENDPROC
 9280:
 9290DATA NORTH,SOUTH,EAST,WEST,UP,DOWN,GO,LOOK,GET,DROP,INVENTORY,EXAMINE,HELP,WEAR,QUIT,SCORE,SAVE,RESTORE
 9300DATA INTO
 9310DATA NORTH,SOUTH,EAST,WEST,UP,DOWN
 9320DATA NORTH,SOUTH,EAST,WEST,UP,DOWN
 9330:
 9340DATA 3
 9350DATA "Main Menu",7,1,3,2,8,5,9
 9360DATA "1 .. Edit room descriptions and connections","2 .. Edit object descriptions and data","3 .. Edit vocabulary","4 .. Edit puzzle line data","5 .. Edit text messages","6 .. Edit miscellaneous data"
 9370DATA "7 .. Edit scoring parameters","8 .. File management and utilities","9 .. Quit"
 9380DATA "Utilities Menu",7,6,3,2,8,5,7
 9390DATA "1 .. Change adventure data slot","2 .. Change adventure title","3 .. Load adventure from slot","4 .. Save adventure to slot","5 .. View all data","6 .. Reset adventure data","7 .. Return to main menu"
 9400DATA "Vocabulary edit Menu",2,5,3,2,8,5,5
 9410DATA "1 .. Edit verbs","2 .. Edit link words","3 .. Edit action words","4 .. Edit nouns","5 .. Return to main menu"
 9420:
 9430DEFPROCmenu(menu%)
 9440optnum%=menunumopt%(menu%)
 9450optspc%=menuspc%(menu%)
 9460optx%=menuoptx%(menu%)
 9470opty%=menuopty%(menu%)
 9480optcol%=menucol%(menu%)
 9490PROCtitle(menutitle$(menu%),menutcol%(menu%),menubcol%(menu%))
 9500COLOUR optcol%
 9510on%=1
 9520REPEAT
 9530  PRINTTAB(optx%,opty%);menuopt$(menu%,on%)
 9540  on%+=1
 9550  opty%+=optspc%
 9560UNTIL on%>optnum%
 9570ENDPROC
 9580:
 9590DEFPROCtitle(title$,tcol%,bcol%)
 9600tl%=LEN(title$)*16:tp%=(80-LENtitle$)/2-1:tx%=(1280-tl%)/2-16
 9610CLS:GCOL bcol%:RECTANGLE tx%-32,944,tl%+64,64
 9620COLOUR tcol%:PRINTTAB(tp%,1);title$
 9630ENDPROC
 9640:
 9650DEFFNinput(xpos%,ypos%,prompt$,col%,ok$,lngth%)
 9660SYS"OS_Byte",4,0,0
 9670COLOUR col%
 9680inp$="":ln%=0:fin%=0
 9690PRINTTAB(xpos%,ypos%);prompt$;
 9700REPEAT
 9710  REPEAT
 9720    a$=GET$
 9730    IF a$=CHR$8 THEN a$=CHR$127
 9740  UNTIL INSTR(ok$,a$)>0 OR a$=CHR$127 OR a$=CHR$13
 9750  IF ln%=0 THEN
 9760    IF a$<>CHR$13 AND a$<>CHR$127 THEN
 9770      inp$+=a$
 9780      ln%+=1
 9790      PRINTTAB(xpos%,ypos%);prompt$;inp$;
 9800    ELSE
 9810      IF a$=CHR$13 THEN
 9820        fin%=-1
 9830      ENDIF
 9840    ENDIF
 9850  ELSE
 9860    IF ln%>0 AND ln%<lngth% THEN
 9870      IF a$=CHR$13 THEN
 9880        fin%=-1
 9890      ELSE
 9900        IF a$=CHR$127 THEN
 9910          inp$=LEFT$(inp$,ln%-1)
 9920          ln%-=1
 9930          PRINTTAB(xpos%,ypos%);prompt$;inp$;" ";CHR$8;
 9940        ELSE
 9950          ln%+=1
 9960          inp$+=a$
 9970          PRINTTAB(xpos%,ypos%);prompt$;inp$;
 9980        ENDIF
 9990      ENDIF
10000    ELSE
10010      IF a$=CHR$13 THEN
10020        fin%=-1
10030      ELSE
10040        IF a$=CHR$127 THEN
10050          ln%-=1
10060          inp$=LEFT$(inp$,ln%)
10070          PRINTTAB(xpos%,ypos%);prompt$;inp$;" ";CHR$8;
10080        ENDIF
10090      ENDIF
10100    ENDIF
10110  ENDIF
10120UNTIL fin%
10130SYS"OS_Byte",4,1,0
10140=inp$

� > !GameEdit
B� Version 2.30 of game Editor/Creator for the Adventure System
M� 12-08-90: Initial menu display procedure, text entry system. Data setup
(E�           for menu lists and empty arrays to hold game data and
2L�           the data directory. Set up default values. Display main menu
</�           and get input of choice. {1.00}
FK� 13-08-90: Empty procedures for various menu actions. Quit routine and
PL�           utility sub-menu implemented. Data reset and load. Change of
Z&�           data directory. {1.30}
dL� 20-08-90: Refinements to reset and change directory. Viewing of entire
n0�           set of data files phase 1 {1.35}
xI� 21-08-90: Viewing of data phase 2. Additions to Reset. Data viewing
�@�           phase 3. Primary location editing routine {1.51}
�K� 22-08-90: Location editing routine finalised. Object editing routine.
�L�           Splitting of menu routine into options and title Alterations
�M�           to utilities menu and to main menu. Save routine implemented.
�/�           Text entry routine added {1.73}
�K� 23-08-90: General debugging and setting to rights of routines written
�3�           to date. Vocab entry routine {1.81}
�G� 26-08-90: Further debugging. Catalogue current directory routine.
�J�           Finishing of vocab entry routine. Misc data routine {1.91}
�K� 27-08-90: Puzzle data entry routine. Scoring data routine. Alteration
�A�           of change directory and catalogue routines {2.07}
�F� 28-08-90: More debugging. Starting message and title edit {2.12}
�5� 02-09-90: Handling of synonyms for vocab {2.18}
J� 15-11-90: Combining of directory and files into a single file {2.30}
&� Written by Graham West 12-8-90 -
%� Copyright Archimedes World 1991
� 12
"	�init
,finished=�
6�
@  �menu(1)
J>  choice%=�(�input(1,25,"Enter choice: ",6,"123456789",1))
T  Ȏ choice% �
^  � 1: �rooms
h  � 2: �objects
r  � 3: �vocab
|  � 4: �puzzles
�  � 5: �text
�  � 6: �misc
�  � 7: �scores
�  � 8: �utils
�  � 9: �quit
�  �
�� finished
�t%=�("ADVS")
�� I%=1 � 8
�  �#t%,advtitle$(I%)
��
��#t%
��"!RunImage"
:
��rooms
�
&  �showroomdata(edroom%)
0  �
:    A$=�
D  � �"NnPpFfLlEeDd",A$)>0
N(  roomopt%=(�"NnPpFfLlEeDd",A$)+1)/2
X  Ȏ roomopt% �
b
  � 1:
l,    edroom%+=1:� edroom%>253 � edroom%=1
v
  � 2:
�,    edroom%-=1:� edroom%<1 � edroom%=253
�
  � 3:
�    edroom%=1
�
  � 4:
�    edroom%=room%
�
  � 5:
�4    � 3:nroom$=�input(1,11,"==>",7,allchar$,255)
�+    � nroom$="" � nroom$=room$(edroom%)
�    room$(edroom%)=nroom$
�3    north$=�input(39,16,"==>",7,"0123456789",3)
�3    south$=�input(39,17,"==>",7,"0123456789",3)
�2    east$=�input(39,18,"==>",7,"0123456789",3)
�2    west$=�input(39,19,"==>",7,"0123456789",3)
0    up$=�input(39,20,"==>",7,"0123456789",3)
2    down$=�input(39,21,"==>",7,"0123456789",3)
A    � north$<>"" � �(north$)<254 � room%(edroom%,1)=�(north$)
 A    � south$<>"" � �(south$)<254 � room%(edroom%,2)=�(south$)
*>    � east$<>"" � �(east$)<254 � room%(edroom%,3)=�(east$)
4>    � west$<>"" � �(west$)<254 � room%(edroom%,4)=�(west$)
>8    � up$<>"" � �(up$)<254 � room%(edroom%,5)=�(up$)
H>    � down$<>"" � �(down$)<254 � room%(edroom%,6)=�(down$)
R    �showroomdata(edroom%)
\'    � edroom%>room% � room%=edroom%
f  �
p� roomopt%=6
z�
�:
���showroomdata(edroom%)
��
� �title("Edit room data",6,1)
�P� 7:�1,5);"Editing room number ";edroom%;" out of 253 (";room%;" defined)."
�� 3
�� room$(edroom%)<>"" �
�  �1,7);room$(edroom%)
��
�(  �1,7);"** CURRENTLY UNDEFINED **"
��
�+� 6:�1,16);"North - ";room%(edroom%,1)
�'�1,17);"South - ";room%(edroom%,2)
'�1,18);" East - ";room%(edroom%,3)
'�1,19);" West - ";room%(edroom%,4)
'�1,20);"   Up - ";room%(edroom%,5)
$'�1,21);" Down - ";room%(edroom%,6)
.� 5
8B�1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
B�
L:
V
��objects
`�
j  �showobjdata(edobj%)
t  �
~    A$=�
�  � �"NnPpFfLlEeDd",A$)>0
�'  objopt%=(�"NnPpFfLlEeDd",A$)+1)/2
�  Ȏ objopt% �
�
  � 1:
�    edobj%+=1
�    � edobj%>255 � edobj%=1
�
  � 2:
�    edobj%-=1
�    � edobj%<1 � edobj%=255
�
  � 3:
�    edobj%=1
�
  � 4:
    edobj%=obj%


  � 5:
1    nobjdesc$=�input(1,9,"==>",7,allchar$,75)
3    � nobjdesc$="" � nobjdesc$=objdesc$(edobj%)
(0    nexam$=�input(1,16,"==>",7,allchar$,255)
2-    � nexam$="" � nexam$=examine$(edobj%)
<,    nstat$=�input(39,21,"==>",7,"012",1)
F@    � nstat$="" � nstat%=objstat%(edobj%) � nstat%=�(nstat$)
P2    nloc$=�input(39,22,"==>",7,"0123456789",3)
Z#    � nloc$="" � �(nloc$)>253 �
d      nloc%=objloc%(edobj%)
n	    �
x      nloc%=�(nloc$)
�	    �
�2    nact$=�input(39,23,"==>",7,"0123456789",3)
�#    � nact$="" � �(nact$)>255 �
�      nact%=objact%(edobj%)
�	    �
�      nact%=�(nact$)
�	    �
�3    nnoun$=�input(39,24,"==>",7,"0123456789",3)
�%    � nnoun$="" � �(nnoun$)>255 �
�!      nnoun%=objnoun%(edobj%)
�	    �
�      nnoun%=�(nnoun$)
�	    �
"    objdesc$(edobj%)=nobjdesc$
    examine$(edobj%)=nexam$
    objstat%(edobj%)=nstat%
"    objloc%(edobj%)=nloc%
,    objact%(edobj%)=nact%
6    objnoun%(edobj%)=nnoun%
@#    � edobj%>obj% � obj%=edobj%
J  �
T� objopt%=6
^�
h:
r��showobjdata(edobj%)
|�
�"�title("Edit object data",3,4)
�P� 7:�1,5);"Editing object number ";edobj%;" out of 255 (";obj%;" defined)."
�� 3
�� objdesc$(edobj%)<>"" �
�  �1,7);objdesc$(edobj%)
��
�(  �1,7);"** CURRENTLY UNDEFINED **"
��
�� 2
��1,11);examine$(edobj%)
�� 6
�4�1,21);"Status (0-2) - ";objstat%(edobj%);" (";
�Ȏ objstat%(edobj%) �
� 0:
  �"Immovable)"
� 1:
&  �"Getable)"
0� 2:
:  �"Wearable)"
D�
N+�1,22);"Start room - ";objloc%(edobj%)
X,�1,23);"Action key - ";objact%(edobj%);
bp� I%=1 � action%:� action%(I%)=objact%(edobj%) � objact%(edobj%)<>0 � �" (";action$(I%);")":I%=action%:� � �
l+�1,24);"Noun key - ";objnoun%(edobj%);
vj� I%=1 � noun%:� noun%(I%)=objnoun%(edobj%) � objnoun%(edobj%)<>0 � �" (";noun$(I%);")":I%=noun%:� � �
�� 5
�B�1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
��
�:
���vocab
��
�  �menu(3)
�:  choice%=�(�input(1,25,"Enter choice: ",6,"12345",1))
�  Ȏ choice% �
�
  � 1:
�    �edverbs
�
  � 2:
�    �edlinks

  � 3:
    �edactions

  � 4:
     �ednouns
*  �
4� choice%=5
>�
H:
R
��edverbs
\�
f  �showverbs(edverb%)
p  �
z    A$=�
�  � �"NnPpFfBbEeDd",A$)>0
�&  vbopt%=(�"NnPpFfBbEeDd",A$)+1)/2
�  Ȏ vbopt% �
�
  � 1:
�,    edverb%+=1:� edverb%>255 � edverb%=1
�
  � 2:
�,    edverb%-=1:� edverb%<1 � edverb%=255
�
  � 3:
�-    edverb%+=15:� edverb%>255 � edverb%=1
�
  � 4:
�-    edverb%-=15:� edverb%<1 � edverb%=255
�
  � 5:
�_    verb$=�input(39,8+((edverb%-1) � 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)
	C    nvs$=�input(69,8+((edverb%-1) � 15),"==>",7,"0123456789",3)
	)    � verb$="" � verb$=verb$(edverb%)
	D    � nvs$="" � �(nvs$)>255 � nvs%=verb%(edverb%) � nvs%=�(nvs$)
	$0    verb$(edverb%)=verb$:verb%(edverb%)=nvs%
	..    � verb$(edverb%)="" � verb%(edverb%)=0
	8'    � edverb%>verb% � verb%=edverb%
	B  �
	L� vbopt%=6
	V�
	`:
	j��showverbs(edverb%)
	t vbblk%=((edverb%-1) � 15)*15
	~�
	� �title("Edit verb list",7,2)
	�I� 7:�1,4);"Editing verb ";edverb%;" out of 255 (";verb%;" defined)."
	�G�5,7);"Old verb";�29,7);"Old ID";�44,7);"New verb";�69,7);"New ID"
	�� 3
	�� I%=1 � 15
	�  � 128
	�!  �29,I%+7);verb%(vbblk%+I%)
	�  � vbblk%+I%=edverb% �
	�    � 132:�2,I%+7);
	�    � verb$(edverb%)<>"" �
	�:      � �(�(verb$(edverb%))+6);�5,I%+7);verb$(edverb%)
	�	    �
6      � �(31);�5,I%+7);"** CURRENTLY UNDEFINED **"

	    �
  �
     � verb$(vbblk%+I%)<>"" �
($      �5,I%+7);verb$(vbblk%+I%)
2	    �
</      �5,I%+7);"** CURRENTLY UNDEFINED **"
F	    �
P  �
Z�
d
� 5:� 128
nR�1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
x�
�:
�
��edlinks
��
�  �showlinks(edlink%)
�  �
�    A$=�
�  � �"NnPpFfBbEeDd",A$)>0
�&  lkopt%=(�"NnPpFfBbEeDd",A$)+1)/2
�  Ȏ lkopt% �
�
  � 1:
�,    edlink%+=1:� edlink%>255 � edlink%=1
�
  � 2:
�,    edlink%-=1:� edlink%<1 � edlink%=255

  � 3:
-    edlink%+=15:� edlink%>255 � edlink%=1

  � 4:
"-    edlink%-=15:� edlink%<1 � edlink%=255
,
  � 5:
6_    link$=�input(39,8+((edlink%-1) � 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)
@C    nls$=�input(69,8+((edlink%-1) � 15),"==>",7,"0123456789",3)
J)    � link$="" � link$=link$(edlink%)
TD    � nls$="" � �(nls$)>255 � nls%=link%(edlink%) � nls%=�(nls$)
^0    link$(edlink%)=link$:link%(edlink%)=nls%
h.    � link$(edlink%)="" � link%(edlink%)=0
r'    � edlink%>link% � link%=edlink%
|  �
�� lkopt%=6
��
�:
���showlinks(edlink%)
� lkblk%=((edlink%-1) � 15)*15
��
�%�title("Edit link word list",7,2)
�N� 7:�1,4);"Editing link word ";edlink%;" out of 255 (";link%;" defined)."
�Q�5,7);"Old link word";�29,7);"Old ID";�44,7);"New link word";�69,7);"New ID"
�� 3
�� I%=1 � 15
�  � 128
�!  �29,I%+7);link%(lkblk%+I%)
  � lkblk%+I%=edlink% �
    � 132:�2,I%+7);
    � link$(edlink%)<>"" �
&:      � �(�(link$(edlink%))+6);�5,I%+7);link$(edlink%)
0	    �
:6      � �(31);�5,I%+7);"** CURRENTLY UNDEFINED **"
D	    �
N  �
X     � link$(lkblk%+I%)<>"" �
b$      �5,I%+7);link$(lkblk%+I%)
l	    �
v/      �5,I%+7);"** CURRENTLY UNDEFINED **"
�	    �
�  �
��
�
� 5:� 128
�R�1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
��
�:
���edactions
��
�  �showactions(edaction%)
�  �
�    A$=�
�  � �"NnPpFfBbEeDd",A$)>0

&  acopt%=(�"NnPpFfBbEeDd",A$)+1)/2

  Ȏ acopt% �


  � 1:

 2    edaction%+=1:� edaction%>255 � edaction%=1

*
  � 2:

42    edaction%-=1:� edaction%<1 � edaction%=255

>
  � 3:

H3    edaction%+=15:� edaction%>255 � edaction%=1

R
  � 4:

\3    edaction%-=15:� edaction%<1 � edaction%=255

f
  � 5:

pc    action$=�input(39,8+((edaction%-1) � 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)

zE    nas$=�input(69,8+((edaction%-1) � 15),"==>",7,"0123456789",3)

�1    � action$="" � action$=action$(edaction%)

�H    � nas$="" � �(nas$)>255 � nas%=action%(edaction%) � nas%=�(nas$)

�:    action$(edaction%)=action$:action%(edaction%)=nas%

�6    � action$(edaction%)="" � action%(edaction%)=0

�/    � edaction%>action% � action%=edaction%

�  �

�� acopt%=6

��

�:

���showactions(edact%)

�"acblk%=((edaction%-1) � 15)*15

��

�'�title("Edit action word list",7,2)
T� 7:�1,4);"Editing action word ";edaction%;" out of 255 (";action%;" defined)."
U�5,7);"Old action word";�29,7);"Old ID";�44,7);"New action word";�69,7);"New ID"
� 3
$� I%=1 � 15
.  � 128
8#  �29,I%+7);action%(acblk%+I%)
B  � acblk%+I%=edaction% �
L    � 132:�2,I%+7);
V"    � action$(edaction%)<>"" �
`B      � �(�(action$(edaction%))+6);�5,I%+7);action$(edaction%)
j	    �
t6      � �(31);�5,I%+7);"** CURRENTLY UNDEFINED **"
~	    �
�  �
�"    � action$(acblk%+I%)<>"" �
�&      �5,I%+7);action$(acblk%+I%)
�	    �
�/      �5,I%+7);"** CURRENTLY UNDEFINED **"
�	    �
�  �
��
�
� 5:� 128
�R�1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
��
�:

��ednouns

�
  �shownouns(ednoun%)
  �
(    A$=�
2  � �"NnPpFfBbEeDd",A$)>0
<&  nnopt%=(�"NnPpFfBbEeDd",A$)+1)/2
F  Ȏ nnopt% �
P
  � 1:
Z,    ednoun%+=1:� ednoun%>255 � ednoun%=1
d
  � 2:
n,    ednoun%-=1:� ednoun%<1 � ednoun%=255
x
  � 3:
�-    ednoun%+=15:� ednoun%>255 � ednoun%=1
�
  � 4:
�-    ednoun%-=15:� ednoun%<1 � ednoun%=255
�
  � 5:
�_    noun$=�input(39,8+((ednoun%-1) � 15),"==>",7,"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",20)
�C    nns$=�input(69,8+((ednoun%-1) � 15),"==>",7,"0123456789",3)
�)    � noun$="" � noun$=noun$(ednoun%)
�D    � nns$="" � �(nns$)>255 � nns%=noun%(ednoun%) � nns%=�(nns$)
�0    noun$(ednoun%)=noun$:noun%(ednoun%)=nns%
�.    � noun$(ednoun%)="" � noun%(ednoun%)=0
�'    � ednoun%>noun% � noun%=ednoun%
�  �
�� nnopt%=6
�
:
��shownouns(ednoun%)
" nnblk%=((ednoun%-1) � 15)*15
,�
6%�title("Edit noun word list",7,2)
@N� 7:�1,4);"Editing noun word ";ednoun%;" out of 255 (";noun%;" defined)."
JG�5,7);"Old noun";�29,7);"Old ID";�44,7);"New noun";�69,7);"New ID"
T� 3
^� I%=1 � 15
h  � 128
r!  �29,I%+7);noun%(nnblk%+I%)
|  � nnblk%+I%=ednoun% �
�    � 132:�2,I%+7);
�    � noun$(ednoun%)<>"" �
�:      � �(�(noun$(ednoun%))+6);�5,I%+7);noun$(ednoun%)
�	    �
�6      � �(31);�5,I%+7);"** CURRENTLY UNDEFINED **"
�	    �
�  �
�     � noun$(nnblk%+I%)<>"" �
�$      �5,I%+7);noun$(nnblk%+I%)
�	    �
�/      �5,I%+7);"** CURRENTLY UNDEFINED **"
�	    �
�  �
�

� 5:� 128
R�1,29);"(N)ext, (P)revious, (F)orward a page, (B)ack a page, (E)dit, (D)one";
&�
0:
:
��puzzles
D�
N  �showpuzzle(edpuz%)
X  �
b    A$=�
l  � �"NnPpFfLlEeDd",A$)>0
v'  puzopt%=(�"NnPpFfLlEeDd",A$)+1)/2
�  Ȏ puzopt% �
�
  � 1:
�)    edpuz%+=1:� edpuz%>255 � edpuz%=1
�
  � 2:
�)    edpuz%-=1:� edpuz%<1 � edpuz%=255
�
  � 3:
�    edpuz%=1
�
  � 4:
�    edpuz%=puz%
�
  � 5:
�     p%=puzzle%+(edpuz%-1)*36
�C    p%?0=�validb(�input(24,10,"==>",7,"0123456789",3),0,edpuz%)
�C    p%?1=�validb(�input(24,11,"==>",7,"0123456789",3),1,edpuz%)
C    p%?2=�validb(�input(24,12,"==>",7,"0123456789",3),2,edpuz%)
C    p%?3=�validb(�input(24,13,"==>",7,"0123456789",3),3,edpuz%)
C    p%?4=�validb(�input(24,14,"==>",7,"0123456789",3),4,edpuz%)
 C    p%?5=�validb(�input(24,15,"==>",7,"0123456789",3),5,edpuz%)
*9    p%?6=�stat(�input(24,16,"==>",7,"01",1),6,edpuz%)
4C    p%?7=�validb(�input(24,17,"==>",7,"0123456789",3),7,edpuz%)
>9    p%?8=�stat(�input(24,18,"==>",7,"01",1),8,edpuz%)
HG    p%?9=�valid(�input(24,19,"==>",7,"0123456789",3),9,obj%,edpuz%)
R?    p%?10=�stat(�input(24,20,"==>",7,"012345",1),10,edpuz%)
\J    p%?11=�valid(�input(24,21,"==>",7,"0123456789",3),11,room%,edpuz%)
fI    p%?12=�valid(�input(24,22,"==>",7,"0123456789",3),12,obj%,edpuz%)
p?    p%?13=�stat(�input(24,23,"==>",7,"012345",1),13,edpuz%)
zJ    p%?14=�valid(�input(24,24,"==>",7,"0123456789",3),14,room%,edpuz%)
�I    p%?15=�valid(�input(24,25,"==>",7,"0123456789",3),15,obj%,edpuz%)
�?    p%?16=�stat(�input(24,26,"==>",7,"012345",1),16,edpuz%)
�J    p%?17=�valid(�input(24,27,"==>",7,"0123456789",3),17,room%,edpuz%)
�E    p%?18=�validb(�input(63,10,"==>",7,"0123456789",3),18,edpuz%)
�<    p%?19=�stat(�input(63,11,"==>",7,"012",3),19,edpuz%)
�E    p%?20=�validb(�input(63,12,"==>",7,"0123456789",3),20,edpuz%)
�<    p%?21=�stat(�input(63,13,"==>",7,"012",3),21,edpuz%)
�J    p%?22=�valid(�input(63,14,"==>",7,"0123456789",3),22,room%,edpuz%)
�@    p%?23=�stat(�input(63,15,"==>",7,"0123456",1),23,edpuz%)
�J    p%?24=�valid(�input(63,16,"==>",7,"0123456789",3),24,room%,edpuz%)
�J    p%?25=�valid(�input(63,17,"==>",7,"0123456789",3),25,room%,edpuz%)
�@    p%?26=�stat(�input(63,18,"==>",7,"0123456",1),26,edpuz%)
�J    p%?27=�valid(�input(63,19,"==>",7,"0123456789",3),27,room%,edpuz%)
J    p%?28=�valid(�input(63,20,"==>",7,"0123456789",3),28,text%,edpuz%)
J    p%?29=�valid(�input(63,21,"==>",7,"0123456789",3),29,room%,edpuz%)
I    p%?30=�valid(�input(63,22,"==>",7,"0123456789",3),30,obj%,edpuz%)
$=    p%?31=�stat(�input(63,23,"==>",7,"0123",1),31,edpuz%)
.E    p%?32=�validb(�input(63,24,"==>",7,"0123456789",3),32,edpuz%)
8I    p%?33=�valid(�input(63,25,"==>",7,"0123456789",3),33,obj%,edpuz%)
B=    p%?34=�stat(�input(63,26,"==>",7,"0123",1),34,edpuz%)
LE    p%?35=�validb(�input(63,27,"==>",7,"0123456789",3),35,edpuz%)
V#    � edpuz%>puz% � puz%=edpuz%
`  �
j� puzopt%=6
t�
~:
�ݤvalidb(n$,b%,ep%)
�� n$="" � �(n$)>255 �
�  =puzzle%?((ep%-1)*36+b%)
��
�
=�(n$)
�:
�ݤvalid(n$,b%,m%,ep%)
�� n$="" � �(n$)>m% �
�  =puzzle%?((ep%-1)*36+b%)
��
�
=�(n$)
�:
ݤstat(s$,b%,ep%)

&� s$="" � =puzzle%?((ep%-1)*36+b%)

=�(s$)
:
(��showpuzzle(edpuz%)
2�
<'�title("Edit puzzle line data",5,1)
FN� 7:�1,5);"Editing puzzle line ";edpuz%;" out of 255 (";puz%;" defined)."
P,� 5:�1,8);"CONDITIONS";�39,8);"ACTIONS"
Z�� 3:�1,10);"Verb ID  :";�1,11);"Link ID  :";�1,12);"Action ID:";�1,13);"Noun ID  :";�1,14);"Location :";�1,15);"Flag 1   :";�1,16);"Value 1  :";�1,17);"Flag 2   :";�1,18);"Value 2  :"
d�1,19);"Object 1 :"
n��1,20);"Attrib 1 :";�1,21);"Room 1   :";�1,22);"Object 2 :";�1,23);"Attrib 2 :";�1,24);"Room 2   :";�1,25);"Object 3 :";�1,26);"Attrib 3 :";�1,27);"Room 3   :"
x��39,10);"Flag 1    :";�39,11);"Status 1  :";�39,12);"Flag 2    :";�39,13);"Status 2  :";�39,14);"Room 1    :";�39,15);"Exit 1    :";�39,16);"New loc 1 :";�39,17);"Room 2    :";�39,18);"Exit 2    :";�39,19);"New loc 2 :"
���39,20);"Message   :";�39,21);"Location  :";�39,22);"Object 1  :";�39,23);"Action 1  :";�39,24);"Data 1    :";�39,25);"Object 2  :";�39,26);"Action 2  :";�39,27);"Data 2    :"
�� 2
�� I%=0 � 17
�,  �12,I%+10);puzzle%?(I%+(edpuz%-1)*36)
�/  �51,I%+10);puzzle%?(I%+(edpuz%-1)*36+18)
��
�� 5
�B�1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
��
�:
�
��text
��
�  �showtext(edtext%)
  �
    A$=�
  � �"NnPpFfLlEeDd",A$)>0
"(  textopt%=(�"NnPpFfLlEeDd",A$)+1)/2
,  Ȏ textopt% �
6
  � 1:
@,    edtext%+=1:� edtext%>255 � edtext%=1
J
  � 2:
T,    edtext%-=1:� edtext%<1 � edtext%=255
^
  � 3:
h    edtext%=1
r
  � 4:
|   edtext%=text%
�
  � 5:
�0    ntext$=�input(1,15,"==>",7,allchar$,255)
�,    � ntext$<>"" � text$(edtext%)=ntext$
�'    � edtext%>text% � text%=edtext%
�  �
�� textopt%=6
��
�:
���showtext(edtext%)
�$�title("Edit text messages",6,2)
�H�1,5);"Editing message ";edtext%;" out of 255 (";text%;" defined)."
�� 3
�� text$(edtext%)<>"" �
  �1,9);text$(edtext%)
�
(  �1,9);"** CURRENTLY UNDEFINED **"
&�
0� 5
:B�1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
D�
N:
X
��misc
b)�title("Edit miscellaneous data",5,4)
l� 3
v&�1,9);"Starting room: ";startloc%
�(�1,11);"Start message: ";startmess%
�)�1,13);"Carry limit:   ";carrylimit%
�$�1,15);"Winning score: ";winsc%
�/nsl%=�(�input(39,9,"==>",7,"0123456789",3))
�*� nsl%>room% � nsl%=0 � nsl%=startloc%
�0nsm%=�(�input(39,11,"==>",7,"0123456789",3))
�+� nsm%>text% � nsm%=0 � nsm%=startmess%
�0ncl%=�(�input(39,13,"==>",7,"0123456789",2))
�+� ncl%>obj% � ncl%=0 � ncl%=carrylimit%
�0nws%=�(�input(39,15,"==>",7,"0123456789",3))
�� nws%=0 � nws%=winsc%
�startloc%=nsl%
�startmess%=nsm%
carrylimit%=ncl%
winsc%=nws%
�
 :
*:
4��scores
>�
H  �showscore(edscore%)
R  �
\    A$=�
f  � �"NnPpFfLlEeDd",A$)>0
p&  scopt%=(�"NnPpFfLlEeDd",A$)+1)/2
z  Ȏ scopt% �
�
  � 1:
�/    edscore%+=1:� edscore%>255 � edscore%=1
�
  � 2:
�/    edscore%-=1:� edscore%<1 � edscore%=255
�
  � 3:
�    edscore%=1
�
  � 4:
�I    � numobjsc%>numflagsc% � edscore%=numobjsc% � edscore%=numflagsc%
�
  � 5:
�2    nflgn$=�input(49,9,"==>",7,"0123456789",3)
�3    nobjn$=�input(49,10,"==>",7,"0123456789",3)
�4    nflgsc$=�input(49,13,"==>",7,"0123456789",3)
�4    nobjsc$=�input(49,14,"==>",7,"0123456789",3)
E    � nflgn$<>"" � �(nflgn$)<255 � flagscnum%(edscore%)=�(nflgn$)
4    � nflgsc$<>"" � flagsc%(edscore%)=�(nflgsc$)
F    � nobjn$<>"" � �(nobjn$)<=obj% � objscnum%(edscore%)=�(nobjn$)
$3    � nobjsc$<>"" � objsc%(edscore%)=�(nobjsc$)
.1    � edscore%>numobjsc% � numobjsc%=edscore%
83    � edscore%>numflagsc% � numflagsc%=edscore%
B  �
L� scopt%=6
V�
`:
j��showscore(edscore%)
t�
~#�title("Edit scoring data",2,4)
�U� 7:�1,5);"Editing score block ";edscore%;" out of 255 (";numobjsc%;" defined)."
�"� 6:�1,9);"Flag number   : ";
�� 3
�� flagscnum%(edscore%)<>0 �
�  � ;flagscnum%(edscore%)
��
�"  �"** CURRENTLY UNDEFINED **"
��
�#� 6:�1,10);"Object number : ";
�� 3
�� objscnum%(edscore%)<>0 �
�  � ;objscnum%(edscore%)
�

"  �"** CURRENTLY UNDEFINED **"
�
"� 6:�1,13);"Flag score   : ";
(� 3:� ;flagsc%(edscore%)
2"� 6:�1,14);"Object score : ";
<� 3:� ;objsc%(edscore%)
F� 5
PB�1,29);"(N)ext, (P)revious, (F)irst, (L)ast, (E)dit, (D)one";
Z�
d:
n��utils
x�
�  �menu(2)
�<  choice%=�(�input(1,25,"Enter choice: ",6,"1234567",1))
�  Ȏ choice% �
�  � 1: �changefileslot
�  � 2: �changetitle
�  � 3: �loadfiles
�  � 4: �savefiles
�  � 5: �view
�  � 6: �reset
�  �
�� choice%=7
��
�:
��changefileslot
�
4�title("Change current adventure disc slot",6,5)
"1� 2:�1,6);"The current adventure slot is: ";
,� 3:� ;slot%
62� 2:�1,11);"New adventure slot           : ";
@/newslot%=�(�input(32,11,"",3,"12345678",1))
J$� newslot%=0 � Ȕ newslot%,slot%
TȔ newslot%,slot%
^�
h:
r��changetitle
|(�title("Change adventure title",6,2)
�� 5:�1,9);"Old title:"
��1,14);"New title:"
� � 3:�1,10);advtitle$(slot%)
�(nt$=�input(1,15,"==>",7,allchar$,64)
�$� nt$<>"" � advtitle$(slot%)=nt$
��
�:
���loadfiles
�Xok$=�input(1,25,"Are you sure you want to load a new adventure? (y/n): ",7,"YyNn",1)
�� ok$<>"y" � ok$<>"Y" � �
�advf%=�("ADV"+�slot%)
�� advf%=0 �
��  � 7:�1,27);"The file for this adventure slot has been removed from its proper place. Please select another slot"'"before attempting to load a data file."
   �32,30);"Press any key.";
  *FX15,0,0
	  A=�
&  �
0�
:�doreset
D7�#advf%,startloc%,startmess%,room%,carrylimit%,obj%
N%�#advf%,verb%,link%,action%,noun%
X0� I%=1 � verb%:�#advf%,verb$(I%),verb%(I%):�
b0� I%=1 � link%:�#advf%,link$(I%),link%(I%):�
l6� I%=1 � action%:�#advf%,action$(I%),action%(I%):�
v0� I%=1 � noun%:�#advf%,noun$(I%),noun%(I%):�
�2�#advf%,puz%,text%,numobjsc%,numflagsc%,winsc%
�� I%=1 � numobjsc%
�&  �#advf%,objscnum%(I%),objsc%(I%)
��
�� I%=1 � numflagsc%
�(  �#advf%,flagscnum%(I%),flagsc%(I%)
��
�$� I%=1 � room%:�#advf%,room$(I%)
�'  � J%=1 � 6:�#advf%,room%(I%,J%):�
��
�� I%=1 � obj%
�@  �#advf%,objloc%(I%),objstat%(I%),objdesc$(I%),examine$(I%)
�&  �#advf%,objact%(I%),objnoun%(I%)
�
� I%=0 � puz%-1
  � J%=0 � 35
 "    puzzle%?(I%*36+J%)=�#advf%
*  �
4�
>� I%=1 � text%
H  �#advf%,text$(I%)
R�
\�#advf%
f�
p:
z��savefiles
�Vok$=�input(1,25,"Are you sure you want to save the adventure? (y/n): ",7,"YyNn",1)
�� ok$<>"y" � ok$<>"Y" � �
��� � � �7:�1,27);"An error has occurred in the saving of the adventure. Please try another"'"data slot. Press any key.":ș"OS_Byte",15,0,0:A=�:�
�advf%=�("ADV"+�slot%)
�7�#advf%,startloc%,startmess%,room%,carrylimit%,obj%
�%�#advf%,verb%,link%,action%,noun%
�0� I%=1 � verb%:�#advf%,verb$(I%),verb%(I%):�
�0� I%=1 � link%:�#advf%,link$(I%),link%(I%):�
�6� I%=1 � action%:�#advf%,action$(I%),action%(I%):�
�0� I%=1 � noun%:�#advf%,noun$(I%),noun%(I%):�
�2�#advf%,puz%,text%,numobjsc%,numflagsc%,winsc%
�� I%=1 � numobjsc%
�&  �#advf%,objscnum%(I%),objsc%(I%)
�
� I%=1 � numflagsc%
(  �#advf%,flagscnum%(I%),flagsc%(I%)
$�
.$� I%=1 � room%:�#advf%,room$(I%)
8'  � J%=1 � 6:�#advf%,room%(I%,J%):�
B�
L� I%=1 � obj%
V@  �#advf%,objloc%(I%),objstat%(I%),objdesc$(I%),examine$(I%)
`&  �#advf%,objact%(I%),objnoun%(I%)
j�
t� I%=0 � puz%-1
~  � J%=0 � 35
�"    �#advf%,puzzle%?(I%*36+J%)
�  �
��
�� I%=1 � text%
�  �#advf%,text$(I%)
��
��#advf%
�$�"SETTYPE ADV"+�slot%+" ADVDATA"
��
�:
�
��view
��
[v$=�input(0,1,"Do you want the output sent to the printer as well? (y/n): ",7,"YNyn",1)

 �'''"Press SHIFT to scroll"'
� v$="Y" � v$="y" � �2
�14
(�''"Room descriptions:"'
2� I%=1 � room%
<��"Room ";I%;" - ";room$(I%);" : N - ";room%(I%,1);" : S - ";room%(I%,2);" : E - ";room%(I%,3);" : W - ";room%(I%,4);" : U - ";room%(I%,5);" : D - ";room%(I%,6)'
F�
P�''"Objects:"'
Z� I%=1 � obj%
d�  �"Object ";I%;": ";objdesc$(I%);" - Room: ";objloc%(I%);" - Status: ";objstat%(I%);" - Keys: ";action$(objact%(I%));" ";noun$(objnoun%(I%));" - Examine: ";examine$(I%)'
n�
x�''"Text messages:"'
�� I%=1 � text%
�$  �"Message ";I%;": ";text$(I%)'
��
��''"Vocabulary:"'
�� I%=1 � verb%
�4  �"Verb ";I%;": ";verb$(I%);" - ID: ";verb%(I%)
��
��
�� I%=1 � link%
�9  �"Link word ";I%;": ";link$(I%);" - ID: ";link%(I%)
��
��
�� I%=1 � action%
?  �"Action word ";I%;": ";action$(I%);" - ID: ";action%(I%)
�
�
"� I%=1 � noun%
,4  �"Noun ";I%;": ";noun$(I%);" - ID: ";noun%(I%)
6�
@�''"Puzzle Data:"
J� I%=0 � puz%-1
T  �';I%+1;": ";
^  � J%=0 � 17
h"    � ;puzzle%?(I%*36+J%);" ";
r  �
|  �"/// ";
�  � J%=18 � 35
�"    � ;puzzle%?(I%*36+J%);" ";
�  �
��
��''"Scoring Data:"'
�� I%=1 � numflagsc%
�>  �"Flag ";flagscnum%(I%);" scores ";flagsc%(I%);" points"
��
��
�� I%=1 � numobjsc%
�>  �"Object ";objscnum%(I%);" scores ";objsc%(I%);" points"
��
�-�"Bonus of ";winsc%;" points for winning"
 �''"Miscellaneous Data:"'
  �"Starting room: ";startloc%
 #�"Starting message ";startmess%
 & �"Carry limit: ";carrylimit%
 0�"Total rooms: ";room%
 :�"Total objects: ";obj%
 DQ�"Total Verbs,Links,Actions,Nouns: ";verb%;", ";link%;", ";action%;", ";noun%
 N"�"Total text messages: ";text%
 X �"Total puzzle lines: ";puz%
 b'�"Total scoring flags: ";numflagsc%
 l(�"Total scoring objects: ";numobjsc%
 v"�'"Press any key to continue."
 ��15
 �ș"OS_Byte",15,0,0
 �A=�
 ��
 �:
 ���reset
 ��0,25);�(80)
 �`choice$=�input(1,25,"Are you sure you want to reset the adventure data? (y/n): ",7,"YNyn",1)
 �*� choice$="Y" � choice$="y" � �doreset
 ��
 �:
 �
��doreset
 �Everb%=18:link%=1:action%=6:noun%=6:obj%=1:winsc%=0:puz%=1:text%=1
!?carrylimit%=3:room%=1:numobjsc%=1:numflagsc%=1:startmess%=1
!Jedroom%=1:edobj%=1:edpuz%=1:edscore%=1:edtext%=1:ednoun%=1:edaction%=1
!edlink%=1:edverb%=1
! � I%=0 � 35
!*  puzzle%?I%=255
!4�
!>� I%=36 � 255*36-1 � 4
!H  puzzle%!I%=0
!R� I%
!\�
!f� I%=1 � verb%
!p  � verb$(I%):verb%(I%)=I%
!z�
!�Hverb$(19)="TAKE":verb%(19)=9:verb$(20)="LEAVE":verb%(20)=10:verb%=20
!�� I%=1 � link%
!�  � link$(I%):link%(I%)=I%
!��
!�� I%=1 � action%
!�"  � action$(I%):action%(I%)=I%
!��
!�� I%=1 � noun%
!�  � noun$(I%):noun%(I%)=I%
!��
!�� I%=1 � 253
!�room$(I%)="":� J%=1 � 6
!�  room%(I%,J%)=0
"�
"� I%=1 � 255
"  text$(I%)=""
"$�
".� I%=1 � 255
"8B  objdesc$(I%)="":examine$(I%)="":objloc%(I%)=0:objstat%(I%)=0
"B�
"L� I%=1 � 255
"VA  flagscnum%(I%)=0:objscnum%(I%)=0:flagsc%(I%)=0:objsc%(I%)=0
"`�
"j�
"t:
"~
��quit
"��0,25);�(80)
"�Lchoice$=�input(1,25,"Are you sure you want to quit? (y/n): ",7,"YNyn",1)
"�!� choice$="Y" � choice$="y" �
"�  �1,25);�(60);
"�j  c$="Do you want to save the adventure (slot "+�slot%+")? (y/n): ":choice$=�input(1,25,c$,7,"YNyn",1)
"�#  � choice$="Y" � choice$="y" �
"�    �savefiles
"�  �
"�finished=�
"�*ș"OS_Byte",220,27,0:ș"OS_Byte",4,0,0
"��
"��
#:
#

��init
#+ș"OS_Byte",220,243,0:ș"OS_Byte",4,1,0
#� advtitle$(8)
#(
X=�"ADVS"
#2� I%=1 � 8
#<  �#X,advtitle$(I%)
#F�
#P�#X
#ZG� room$(253),room%(253,6),puzzle% 255*36,objloc%(255),objstat%(255)
#dH� text$(255),objsc%(255),objscnum%(255),flagsc%(255),flagscnum%(255)
#nA� verb$(255),link$(255),action$(255),noun$(255),examine$(255)
#x3� verb%(255),link%(255),action%(255),noun%(255)
#�.� objact%(255),objnoun%(255),objdesc$(255)
#�@verb%=18:link%=1:action%=6:noun%=6:startloc%=1:carrylimit%=3
#�2slot%=1:room%=1:puz%=1:obj%=1:text%=1:winsc%=0
#�numobjsc%=1:numflagsc%=1
#�Mallchar$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
#�;allchar$+="!@#$%^&*()_-=+FALSEFN`~\|]}[{';:/?.>,< "+�34
#��doreset
#�� menunum%
#�B� menuopt$(menunum%,9),menucol%(menunum%),menutitle$(menunum%)
#�B� menunumopt%(menunum%),menuspc%(menunum%),menuoptx%(menunum%)
#�A� menuopty%(menunum%),menutcol%(menunum%),menubcol%(menunum%)
#�� I%=1 � menunum%
#�L  � menutitle$(I%),menutcol%(I%),menubcol%(I%),menucol%(I%),menuspc%(I%)
$3  � menuoptx%(I%),menuopty%(I%),menunumopt%(I%)
$  � J%=1 � menunumopt%(I%)
$    � menuopt$(I%,J%)
$"  �
$,�
$6�
$@:
$Jh� NORTH,SOUTH,EAST,WEST,UP,DOWN,GO,LOOK,GET,DROP,INVENTORY,EXAMINE,HELP,WEAR,QUIT,SCORE,SAVE,RESTORE
$T
� INTO
$^#� NORTH,SOUTH,EAST,WEST,UP,DOWN
$h#� NORTH,SOUTH,EAST,WEST,UP,DOWN
$r:
$|� 3
$�� "Main Menu",7,1,3,2,8,5,9
$��� "1 .. Edit room descriptions and connections","2 .. Edit object descriptions and data","3 .. Edit vocabulary","4 .. Edit puzzle line data","5 .. Edit text messages","6 .. Edit miscellaneous data"
$�U� "7 .. Edit scoring parameters","8 .. File management and utilities","9 .. Quit"
$�$� "Utilities Menu",7,6,3,2,8,5,7
$��� "1 .. Change adventure data slot","2 .. Change adventure title","3 .. Load adventure from slot","4 .. Save adventure to slot","5 .. View all data","6 .. Reset adventure data","7 .. Return to main menu"
$�*� "Vocabulary edit Menu",2,5,3,2,8,5,5
$�t� "1 .. Edit verbs","2 .. Edit link words","3 .. Edit action words","4 .. Edit nouns","5 .. Return to main menu"
$�:
$���menu(menu%)
$�optnum%=menunumopt%(menu%)
$�optspc%=menuspc%(menu%)
$�optx%=menuoptx%(menu%)
$�opty%=menuopty%(menu%)
%optcol%=menucol%(menu%)
%?�title(menutitle$(menu%),menutcol%(menu%),menubcol%(menu%))
%
� optcol%
%&	on%=1
%0�
%:(  �optx%,opty%);menuopt$(menu%,on%)
%D  on%+=1
%N  opty%+=optspc%
%X� on%>optnum%
%b�
%l:
%v��title(title$,tcol%,bcol%)
%�=tl%=�(title$)*16:tp%=(80-�title$)/2-1:tx%=(1280-tl%)/2-16
%�%�:� bcol%:ȓ tx%-32,944,tl%+64,64
%�� tcol%:�tp%,1);title$
%��
%�:
%�0ݤinput(xpos%,ypos%,prompt$,col%,ok$,lngth%)
%�ș"OS_Byte",4,0,0
%�
� col%
%�inp$="":ln%=0:fin%=0
%��xpos%,ypos%);prompt$;
%��
%�  �
%�    a$=�
&    � a$=�8 � a$=�127
&%  � �ok$,a$)>0 � a$=�127 � a$=�13
&  � ln%=0 �
&     � a$<>�13 � a$<>�127 �
&*      inp$+=a$
&4      ln%+=1
&>&      �xpos%,ypos%);prompt$;inp$;
&H	    �
&R      � a$=�13 �
&\        fin%=-1
&f      �
&p	    �
&z  �
&�    � ln%>0 � ln%<lngth% �
&�      � a$=�13 �
&�        fin%=-1
&�      �
&�        � a$=�127 �
&�          inp$=�inp$,ln%-1)
&�          ln%-=1
&�1          �xpos%,ypos%);prompt$;inp$;" ";�8;
&�
        �
&�          ln%+=1
&�          inp$+=a$
&�*          �xpos%,ypos%);prompt$;inp$;
&�
        �
'      �
'	    �
'      � a$=�13 �
'$        fin%=-1
'.      �
'8        � a$=�127 �
'B          ln%-=1
'L          inp$=�inp$,ln%)
'V1          �xpos%,ypos%);prompt$;inp$;" ";�8;
'`
        �
'j      �
't	    �
'~  �
'�
� fin%
'�ș"OS_Byte",4,1,0
'�	=inp$
�
00000000  0d 00 0a 11 f4 20 3e 20  21 47 61 6d 65 45 64 69  |..... > !GameEdi|
00000010  74 0d 00 14 42 f4 20 56  65 72 73 69 6f 6e 20 32  |t...B. Version 2|
00000020  2e 33 30 20 6f 66 20 67  61 6d 65 20 45 64 69 74  |.30 of game Edit|
00000030  6f 72 2f 43 72 65 61 74  6f 72 20 66 6f 72 20 74  |or/Creator for t|
00000040  68 65 20 41 64 76 65 6e  74 75 72 65 20 53 79 73  |he Adventure Sys|
00000050  74 65 6d 0d 00 1e 4d f4  20 31 32 2d 30 38 2d 39  |tem...M. 12-08-9|
00000060  30 3a 20 49 6e 69 74 69  61 6c 20 6d 65 6e 75 20  |0: Initial menu |
00000070  64 69 73 70 6c 61 79 20  70 72 6f 63 65 64 75 72  |display procedur|
00000080  65 2c 20 74 65 78 74 20  65 6e 74 72 79 20 73 79  |e, text entry sy|
00000090  73 74 65 6d 2e 20 44 61  74 61 20 73 65 74 75 70  |stem. Data setup|
000000a0  0d 00 28 45 f4 20 20 20  20 20 20 20 20 20 20 20  |..(E.           |
000000b0  66 6f 72 20 6d 65 6e 75  20 6c 69 73 74 73 20 61  |for menu lists a|
000000c0  6e 64 20 65 6d 70 74 79  20 61 72 72 61 79 73 20  |nd empty arrays |
000000d0  74 6f 20 68 6f 6c 64 20  67 61 6d 65 20 64 61 74  |to hold game dat|
000000e0  61 20 61 6e 64 0d 00 32  4c f4 20 20 20 20 20 20  |a and..2L.      |
000000f0  20 20 20 20 20 74 68 65  20 64 61 74 61 20 64 69  |     the data di|
00000100  72 65 63 74 6f 72 79 2e  20 53 65 74 20 75 70 20  |rectory. Set up |
00000110  64 65 66 61 75 6c 74 20  76 61 6c 75 65 73 2e 20  |default values. |
00000120  44 69 73 70 6c 61 79 20  6d 61 69 6e 20 6d 65 6e  |Display main men|
00000130  75 0d 00 3c 2f f4 20 20  20 20 20 20 20 20 20 20  |u..</.          |
00000140  20 61 6e 64 20 67 65 74  20 69 6e 70 75 74 20 6f  | and get input o|
00000150  66 20 63 68 6f 69 63 65  2e 20 7b 31 2e 30 30 7d  |f choice. {1.00}|
00000160  0d 00 46 4b f4 20 31 33  2d 30 38 2d 39 30 3a 20  |..FK. 13-08-90: |
00000170  45 6d 70 74 79 20 70 72  6f 63 65 64 75 72 65 73  |Empty procedures|
00000180  20 66 6f 72 20 76 61 72  69 6f 75 73 20 6d 65 6e  | for various men|
00000190  75 20 61 63 74 69 6f 6e  73 2e 20 51 75 69 74 20  |u actions. Quit |
000001a0  72 6f 75 74 69 6e 65 20  61 6e 64 0d 00 50 4c f4  |routine and..PL.|
000001b0  20 20 20 20 20 20 20 20  20 20 20 75 74 69 6c 69  |           utili|
000001c0  74 79 20 73 75 62 2d 6d  65 6e 75 20 69 6d 70 6c  |ty sub-menu impl|
000001d0  65 6d 65 6e 74 65 64 2e  20 44 61 74 61 20 72 65  |emented. Data re|
000001e0  73 65 74 20 61 6e 64 20  6c 6f 61 64 2e 20 43 68  |set and load. Ch|
000001f0  61 6e 67 65 20 6f 66 0d  00 5a 26 f4 20 20 20 20  |ange of..Z&.    |
00000200  20 20 20 20 20 20 20 64  61 74 61 20 64 69 72 65  |       data dire|
00000210  63 74 6f 72 79 2e 20 7b  31 2e 33 30 7d 0d 00 64  |ctory. {1.30}..d|
00000220  4c f4 20 32 30 2d 30 38  2d 39 30 3a 20 52 65 66  |L. 20-08-90: Ref|
00000230  69 6e 65 6d 65 6e 74 73  20 74 6f 20 72 65 73 65  |inements to rese|
00000240  74 20 61 6e 64 20 63 68  61 6e 67 65 20 64 69 72  |t and change dir|
00000250  65 63 74 6f 72 79 2e 20  56 69 65 77 69 6e 67 20  |ectory. Viewing |
00000260  6f 66 20 65 6e 74 69 72  65 0d 00 6e 30 f4 20 20  |of entire..n0.  |
00000270  20 20 20 20 20 20 20 20  20 73 65 74 20 6f 66 20  |         set of |
00000280  64 61 74 61 20 66 69 6c  65 73 20 70 68 61 73 65  |data files phase|
00000290  20 31 20 7b 31 2e 33 35  7d 0d 00 78 49 f4 20 32  | 1 {1.35}..xI. 2|
000002a0  31 2d 30 38 2d 39 30 3a  20 56 69 65 77 69 6e 67  |1-08-90: Viewing|
000002b0  20 6f 66 20 64 61 74 61  20 70 68 61 73 65 20 32  | of data phase 2|
000002c0  2e 20 41 64 64 69 74 69  6f 6e 73 20 74 6f 20 52  |. Additions to R|
000002d0  65 73 65 74 2e 20 44 61  74 61 20 76 69 65 77 69  |eset. Data viewi|
000002e0  6e 67 0d 00 82 40 f4 20  20 20 20 20 20 20 20 20  |ng...@.         |
000002f0  20 20 70 68 61 73 65 20  33 2e 20 50 72 69 6d 61  |  phase 3. Prima|
00000300  72 79 20 6c 6f 63 61 74  69 6f 6e 20 65 64 69 74  |ry location edit|
00000310  69 6e 67 20 72 6f 75 74  69 6e 65 20 7b 31 2e 35  |ing routine {1.5|
00000320  31 7d 0d 00 8c 4b f4 20  32 32 2d 30 38 2d 39 30  |1}...K. 22-08-90|
00000330  3a 20 4c 6f 63 61 74 69  6f 6e 20 65 64 69 74 69  |: Location editi|
00000340  6e 67 20 72 6f 75 74 69  6e 65 20 66 69 6e 61 6c  |ng routine final|
00000350  69 73 65 64 2e 20 4f 62  6a 65 63 74 20 65 64 69  |ised. Object edi|
00000360  74 69 6e 67 20 72 6f 75  74 69 6e 65 2e 0d 00 96  |ting routine....|
00000370  4c f4 20 20 20 20 20 20  20 20 20 20 20 53 70 6c  |L.           Spl|
00000380  69 74 74 69 6e 67 20 6f  66 20 6d 65 6e 75 20 72  |itting of menu r|
00000390  6f 75 74 69 6e 65 20 69  6e 74 6f 20 6f 70 74 69  |outine into opti|
000003a0  6f 6e 73 20 61 6e 64 20  74 69 74 6c 65 20 41 6c  |ons and title Al|
000003b0  74 65 72 61 74 69 6f 6e  73 0d 00 a0 4d f4 20 20  |terations...M.  |
000003c0  20 20 20 20 20 20 20 20  20 74 6f 20 75 74 69 6c  |         to util|
000003d0  69 74 69 65 73 20 6d 65  6e 75 20 61 6e 64 20 74  |ities menu and t|
000003e0  6f 20 6d 61 69 6e 20 6d  65 6e 75 2e 20 53 61 76  |o main menu. Sav|
000003f0  65 20 72 6f 75 74 69 6e  65 20 69 6d 70 6c 65 6d  |e routine implem|
00000400  65 6e 74 65 64 2e 0d 00  aa 2f f4 20 20 20 20 20  |ented..../.     |
00000410  20 20 20 20 20 20 54 65  78 74 20 65 6e 74 72 79  |      Text entry|
00000420  20 72 6f 75 74 69 6e 65  20 61 64 64 65 64 20 7b  | routine added {|
00000430  31 2e 37 33 7d 0d 00 b4  4b f4 20 32 33 2d 30 38  |1.73}...K. 23-08|
00000440  2d 39 30 3a 20 47 65 6e  65 72 61 6c 20 64 65 62  |-90: General deb|
00000450  75 67 67 69 6e 67 20 61  6e 64 20 73 65 74 74 69  |ugging and setti|
00000460  6e 67 20 74 6f 20 72 69  67 68 74 73 20 6f 66 20  |ng to rights of |
00000470  72 6f 75 74 69 6e 65 73  20 77 72 69 74 74 65 6e  |routines written|
00000480  0d 00 be 33 f4 20 20 20  20 20 20 20 20 20 20 20  |...3.           |
00000490  74 6f 20 64 61 74 65 2e  20 56 6f 63 61 62 20 65  |to date. Vocab e|
000004a0  6e 74 72 79 20 72 6f 75  74 69 6e 65 20 7b 31 2e  |ntry routine {1.|
000004b0  38 31 7d 0d 00 c8 47 f4  20 32 36 2d 30 38 2d 39  |81}...G. 26-08-9|
000004c0  30 3a 20 46 75 72 74 68  65 72 20 64 65 62 75 67  |0: Further debug|
000004d0  67 69 6e 67 2e 20 43 61  74 61 6c 6f 67 75 65 20  |ging. Catalogue |
000004e0  63 75 72 72 65 6e 74 20  64 69 72 65 63 74 6f 72  |current director|
000004f0  79 20 72 6f 75 74 69 6e  65 2e 0d 00 d2 4a f4 20  |y routine....J. |
00000500  20 20 20 20 20 20 20 20  20 20 46 69 6e 69 73 68  |          Finish|
00000510  69 6e 67 20 6f 66 20 76  6f 63 61 62 20 65 6e 74  |ing of vocab ent|
00000520  72 79 20 72 6f 75 74 69  6e 65 2e 20 4d 69 73 63  |ry routine. Misc|
00000530  20 64 61 74 61 20 72 6f  75 74 69 6e 65 20 7b 31  | data routine {1|
00000540  2e 39 31 7d 0d 00 dc 4b  f4 20 32 37 2d 30 38 2d  |.91}...K. 27-08-|
00000550  39 30 3a 20 50 75 7a 7a  6c 65 20 64 61 74 61 20  |90: Puzzle data |
00000560  65 6e 74 72 79 20 72 6f  75 74 69 6e 65 2e 20 53  |entry routine. S|
00000570  63 6f 72 69 6e 67 20 64  61 74 61 20 72 6f 75 74  |coring data rout|
00000580  69 6e 65 2e 20 41 6c 74  65 72 61 74 69 6f 6e 0d  |ine. Alteration.|
00000590  00 e6 41 f4 20 20 20 20  20 20 20 20 20 20 20 6f  |..A.           o|
000005a0  66 20 63 68 61 6e 67 65  20 64 69 72 65 63 74 6f  |f change directo|
000005b0  72 79 20 61 6e 64 20 63  61 74 61 6c 6f 67 75 65  |ry and catalogue|
000005c0  20 72 6f 75 74 69 6e 65  73 20 7b 32 2e 30 37 7d  | routines {2.07}|
000005d0  0d 00 f0 46 f4 20 32 38  2d 30 38 2d 39 30 3a 20  |...F. 28-08-90: |
000005e0  4d 6f 72 65 20 64 65 62  75 67 67 69 6e 67 2e 20  |More debugging. |
000005f0  53 74 61 72 74 69 6e 67  20 6d 65 73 73 61 67 65  |Starting message|
00000600  20 61 6e 64 20 74 69 74  6c 65 20 65 64 69 74 20  | and title edit |
00000610  7b 32 2e 31 32 7d 0d 00  fa 35 f4 20 30 32 2d 30  |{2.12}...5. 02-0|
00000620  39 2d 39 30 3a 20 48 61  6e 64 6c 69 6e 67 20 6f  |9-90: Handling o|
00000630  66 20 73 79 6e 6f 6e 79  6d 73 20 66 6f 72 20 76  |f synonyms for v|
00000640  6f 63 61 62 20 7b 32 2e  31 38 7d 0d 01 04 4a f4  |ocab {2.18}...J.|
00000650  20 31 35 2d 31 31 2d 39  30 3a 20 43 6f 6d 62 69  | 15-11-90: Combi|
00000660  6e 69 6e 67 20 6f 66 20  64 69 72 65 63 74 6f 72  |ning of director|
00000670  79 20 61 6e 64 20 66 69  6c 65 73 20 69 6e 74 6f  |y and files into|
00000680  20 61 20 73 69 6e 67 6c  65 20 66 69 6c 65 20 7b  | a single file {|
00000690  32 2e 33 30 7d 0d 01 0e  26 f4 20 57 72 69 74 74  |2.30}...&. Writt|
000006a0  65 6e 20 62 79 20 47 72  61 68 61 6d 20 57 65 73  |en by Graham Wes|
000006b0  74 20 31 32 2d 38 2d 39  30 20 2d 0d 01 13 25 f4  |t 12-8-90 -...%.|
000006c0  20 43 6f 70 79 72 69 67  68 74 20 41 72 63 68 69  | Copyright Archi|
000006d0  6d 65 64 65 73 20 57 6f  72 6c 64 20 31 39 39 31  |medes World 1991|
000006e0  0d 01 18 08 eb 20 31 32  0d 01 22 09 f2 69 6e 69  |..... 12.."..ini|
000006f0  74 0d 01 2c 0e 66 69 6e  69 73 68 65 64 3d a3 0d  |t..,.finished=..|
00000700  01 36 05 f5 0d 01 40 0e  20 20 f2 6d 65 6e 75 28  |.6....@.  .menu(|
00000710  31 29 0d 01 4a 3e 20 20  63 68 6f 69 63 65 25 3d  |1)..J>  choice%=|
00000720  bb 28 a4 69 6e 70 75 74  28 31 2c 32 35 2c 22 45  |.(.input(1,25,"E|
00000730  6e 74 65 72 20 63 68 6f  69 63 65 3a 20 22 2c 36  |nter choice: ",6|
00000740  2c 22 31 32 33 34 35 36  37 38 39 22 2c 31 29 29  |,"123456789",1))|
00000750  0d 01 54 12 20 20 c8 8e  20 63 68 6f 69 63 65 25  |..T.  .. choice%|
00000760  20 ca 0d 01 5e 11 20 20  c9 20 31 3a 20 f2 72 6f  | ...^.  . 1: .ro|
00000770  6f 6d 73 0d 01 68 13 20  20 c9 20 32 3a 20 f2 6f  |oms..h.  . 2: .o|
00000780  62 6a 65 63 74 73 0d 01  72 11 20 20 c9 20 33 3a  |bjects..r.  . 3:|
00000790  20 f2 76 6f 63 61 62 0d  01 7c 13 20 20 c9 20 34  | .vocab..|.  . 4|
000007a0  3a 20 f2 70 75 7a 7a 6c  65 73 0d 01 86 10 20 20  |: .puzzles....  |
000007b0  c9 20 35 3a 20 f2 74 65  78 74 0d 01 90 10 20 20  |. 5: .text....  |
000007c0  c9 20 36 3a 20 f2 6d 69  73 63 0d 01 9a 12 20 20  |. 6: .misc....  |
000007d0  c9 20 37 3a 20 f2 73 63  6f 72 65 73 0d 01 a4 11  |. 7: .scores....|
000007e0  20 20 c9 20 38 3a 20 f2  75 74 69 6c 73 0d 01 ae  |  . 8: .utils...|
000007f0  10 20 20 c9 20 39 3a 20  f2 71 75 69 74 0d 01 b8  |.  . 9: .quit...|
00000800  07 20 20 cb 0d 01 c2 0e  fd 20 66 69 6e 69 73 68  |.  ...... finish|
00000810  65 64 0d 01 cc 10 74 25  3d ae 28 22 41 44 56 53  |ed....t%=.("ADVS|
00000820  22 29 0d 01 d6 0e e3 20  49 25 3d 31 20 b8 20 38  |")..... I%=1 . 8|
00000830  0d 01 e0 18 20 20 f1 23  74 25 2c 61 64 76 74 69  |....  .#t%,advti|
00000840  74 6c 65 24 28 49 25 29  0d 01 ea 05 ed 0d 01 f4  |tle$(I%)........|
00000850  08 d9 23 74 25 0d 01 fe  10 d7 22 21 52 75 6e 49  |..#t%....."!RunI|
00000860  6d 61 67 65 22 0d 02 08  05 3a 0d 02 12 0b dd f2  |mage"....:......|
00000870  72 6f 6f 6d 73 0d 02 1c  05 f5 0d 02 26 1c 20 20  |rooms.......&.  |
00000880  f2 73 68 6f 77 72 6f 6f  6d 64 61 74 61 28 65 64  |.showroomdata(ed|
00000890  72 6f 6f 6d 25 29 0d 02  30 07 20 20 f5 0d 02 3a  |room%)..0.  ...:|
000008a0  0c 20 20 20 20 41 24 3d  be 0d 02 44 1d 20 20 fd  |.    A$=...D.  .|
000008b0  20 a7 22 4e 6e 50 70 46  66 4c 6c 45 65 44 64 22  | ."NnPpFfLlEeDd"|
000008c0  2c 41 24 29 3e 30 0d 02  4e 28 20 20 72 6f 6f 6d  |,A$)>0..N(  room|
000008d0  6f 70 74 25 3d 28 a7 22  4e 6e 50 70 46 66 4c 6c  |opt%=(."NnPpFfLl|
000008e0  45 65 44 64 22 2c 41 24  29 2b 31 29 2f 32 0d 02  |EeDd",A$)+1)/2..|
000008f0  58 13 20 20 c8 8e 20 72  6f 6f 6d 6f 70 74 25 20  |X.  .. roomopt% |
00000900  ca 0d 02 62 0a 20 20 c9  20 31 3a 0d 02 6c 2c 20  |...b.  . 1:..l, |
00000910  20 20 20 65 64 72 6f 6f  6d 25 2b 3d 31 3a e7 20  |   edroom%+=1:. |
00000920  65 64 72 6f 6f 6d 25 3e  32 35 33 20 8c 20 65 64  |edroom%>253 . ed|
00000930  72 6f 6f 6d 25 3d 31 0d  02 76 0a 20 20 c9 20 32  |room%=1..v.  . 2|
00000940  3a 0d 02 80 2c 20 20 20  20 65 64 72 6f 6f 6d 25  |:...,    edroom%|
00000950  2d 3d 31 3a e7 20 65 64  72 6f 6f 6d 25 3c 31 20  |-=1:. edroom%<1 |
00000960  8c 20 65 64 72 6f 6f 6d  25 3d 32 35 33 0d 02 8a  |. edroom%=253...|
00000970  0a 20 20 c9 20 33 3a 0d  02 94 11 20 20 20 20 65  |.  . 3:....    e|
00000980  64 72 6f 6f 6d 25 3d 31  0d 02 9e 0a 20 20 c9 20  |droom%=1....  . |
00000990  34 3a 0d 02 a8 15 20 20  20 20 65 64 72 6f 6f 6d  |4:....    edroom|
000009a0  25 3d 72 6f 6f 6d 25 0d  02 b2 0a 20 20 c9 20 35  |%=room%....  . 5|
000009b0  3a 0d 02 bc 34 20 20 20  20 fb 20 33 3a 6e 72 6f  |:...4    . 3:nro|
000009c0  6f 6d 24 3d a4 69 6e 70  75 74 28 31 2c 31 31 2c  |om$=.input(1,11,|
000009d0  22 3d 3d 3e 22 2c 37 2c  61 6c 6c 63 68 61 72 24  |"==>",7,allchar$|
000009e0  2c 32 35 35 29 0d 02 c6  2b 20 20 20 20 e7 20 6e  |,255)...+    . n|
000009f0  72 6f 6f 6d 24 3d 22 22  20 8c 20 6e 72 6f 6f 6d  |room$="" . nroom|
00000a00  24 3d 72 6f 6f 6d 24 28  65 64 72 6f 6f 6d 25 29  |$=room$(edroom%)|
00000a10  0d 02 d0 1d 20 20 20 20  72 6f 6f 6d 24 28 65 64  |....    room$(ed|
00000a20  72 6f 6f 6d 25 29 3d 6e  72 6f 6f 6d 24 0d 02 da  |room%)=nroom$...|
00000a30  33 20 20 20 20 6e 6f 72  74 68 24 3d a4 69 6e 70  |3    north$=.inp|
00000a40  75 74 28 33 39 2c 31 36  2c 22 3d 3d 3e 22 2c 37  |ut(39,16,"==>",7|
00000a50  2c 22 30 31 32 33 34 35  36 37 38 39 22 2c 33 29  |,"0123456789",3)|
00000a60  0d 02 e4 33 20 20 20 20  73 6f 75 74 68 24 3d a4  |...3    south$=.|
00000a70  69 6e 70 75 74 28 33 39  2c 31 37 2c 22 3d 3d 3e  |input(39,17,"==>|
00000a80  22 2c 37 2c 22 30 31 32  33 34 35 36 37 38 39 22  |",7,"0123456789"|
00000a90  2c 33 29 0d 02 ee 32 20  20 20 20 65 61 73 74 24  |,3)...2    east$|
00000aa0  3d a4 69 6e 70 75 74 28  33 39 2c 31 38 2c 22 3d  |=.input(39,18,"=|
00000ab0  3d 3e 22 2c 37 2c 22 30  31 32 33 34 35 36 37 38  |=>",7,"012345678|
00000ac0  39 22 2c 33 29 0d 02 f8  32 20 20 20 20 77 65 73  |9",3)...2    wes|
00000ad0  74 24 3d a4 69 6e 70 75  74 28 33 39 2c 31 39 2c  |t$=.input(39,19,|
00000ae0  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 33 34 35 36  |"==>",7,"0123456|
00000af0  37 38 39 22 2c 33 29 0d  03 02 30 20 20 20 20 75  |789",3)...0    u|
00000b00  70 24 3d a4 69 6e 70 75  74 28 33 39 2c 32 30 2c  |p$=.input(39,20,|
00000b10  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 33 34 35 36  |"==>",7,"0123456|
00000b20  37 38 39 22 2c 33 29 0d  03 0c 32 20 20 20 20 64  |789",3)...2    d|
00000b30  6f 77 6e 24 3d a4 69 6e  70 75 74 28 33 39 2c 32  |own$=.input(39,2|
00000b40  31 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 34  |1,"==>",7,"01234|
00000b50  35 36 37 38 39 22 2c 33  29 0d 03 16 41 20 20 20  |56789",3)...A   |
00000b60  20 e7 20 6e 6f 72 74 68  24 3c 3e 22 22 20 80 20  | . north$<>"" . |
00000b70  bb 28 6e 6f 72 74 68 24  29 3c 32 35 34 20 8c 20  |.(north$)<254 . |
00000b80  72 6f 6f 6d 25 28 65 64  72 6f 6f 6d 25 2c 31 29  |room%(edroom%,1)|
00000b90  3d bb 28 6e 6f 72 74 68  24 29 0d 03 20 41 20 20  |=.(north$).. A  |
00000ba0  20 20 e7 20 73 6f 75 74  68 24 3c 3e 22 22 20 80  |  . south$<>"" .|
00000bb0  20 bb 28 73 6f 75 74 68  24 29 3c 32 35 34 20 8c  | .(south$)<254 .|
00000bc0  20 72 6f 6f 6d 25 28 65  64 72 6f 6f 6d 25 2c 32  | room%(edroom%,2|
00000bd0  29 3d bb 28 73 6f 75 74  68 24 29 0d 03 2a 3e 20  |)=.(south$)..*> |
00000be0  20 20 20 e7 20 65 61 73  74 24 3c 3e 22 22 20 80  |   . east$<>"" .|
00000bf0  20 bb 28 65 61 73 74 24  29 3c 32 35 34 20 8c 20  | .(east$)<254 . |
00000c00  72 6f 6f 6d 25 28 65 64  72 6f 6f 6d 25 2c 33 29  |room%(edroom%,3)|
00000c10  3d bb 28 65 61 73 74 24  29 0d 03 34 3e 20 20 20  |=.(east$)..4>   |
00000c20  20 e7 20 77 65 73 74 24  3c 3e 22 22 20 80 20 bb  | . west$<>"" . .|
00000c30  28 77 65 73 74 24 29 3c  32 35 34 20 8c 20 72 6f  |(west$)<254 . ro|
00000c40  6f 6d 25 28 65 64 72 6f  6f 6d 25 2c 34 29 3d bb  |om%(edroom%,4)=.|
00000c50  28 77 65 73 74 24 29 0d  03 3e 38 20 20 20 20 e7  |(west$)..>8    .|
00000c60  20 75 70 24 3c 3e 22 22  20 80 20 bb 28 75 70 24  | up$<>"" . .(up$|
00000c70  29 3c 32 35 34 20 8c 20  72 6f 6f 6d 25 28 65 64  |)<254 . room%(ed|
00000c80  72 6f 6f 6d 25 2c 35 29  3d bb 28 75 70 24 29 0d  |room%,5)=.(up$).|
00000c90  03 48 3e 20 20 20 20 e7  20 64 6f 77 6e 24 3c 3e  |.H>    . down$<>|
00000ca0  22 22 20 80 20 bb 28 64  6f 77 6e 24 29 3c 32 35  |"" . .(down$)<25|
00000cb0  34 20 8c 20 72 6f 6f 6d  25 28 65 64 72 6f 6f 6d  |4 . room%(edroom|
00000cc0  25 2c 36 29 3d bb 28 64  6f 77 6e 24 29 0d 03 52  |%,6)=.(down$)..R|
00000cd0  1e 20 20 20 20 f2 73 68  6f 77 72 6f 6f 6d 64 61  |.    .showroomda|
00000ce0  74 61 28 65 64 72 6f 6f  6d 25 29 0d 03 5c 27 20  |ta(edroom%)..\' |
00000cf0  20 20 20 e7 20 65 64 72  6f 6f 6d 25 3e 72 6f 6f  |   . edroom%>roo|
00000d00  6d 25 20 8c 20 72 6f 6f  6d 25 3d 65 64 72 6f 6f  |m% . room%=edroo|
00000d10  6d 25 0d 03 66 07 20 20  cb 0d 03 70 10 fd 20 72  |m%..f.  ...p.. r|
00000d20  6f 6f 6d 6f 70 74 25 3d  36 0d 03 7a 05 e1 0d 03  |oomopt%=6..z....|
00000d30  84 05 3a 0d 03 8e 1b dd  f2 73 68 6f 77 72 6f 6f  |..:......showroo|
00000d40  6d 64 61 74 61 28 65 64  72 6f 6f 6d 25 29 0d 03  |mdata(edroom%)..|
00000d50  98 05 db 0d 03 a2 20 f2  74 69 74 6c 65 28 22 45  |...... .title("E|
00000d60  64 69 74 20 72 6f 6f 6d  20 64 61 74 61 22 2c 36  |dit room data",6|
00000d70  2c 31 29 0d 03 ac 50 fb  20 37 3a f1 8a 31 2c 35  |,1)...P. 7:..1,5|
00000d80  29 3b 22 45 64 69 74 69  6e 67 20 72 6f 6f 6d 20  |);"Editing room |
00000d90  6e 75 6d 62 65 72 20 22  3b 65 64 72 6f 6f 6d 25  |number ";edroom%|
00000da0  3b 22 20 6f 75 74 20 6f  66 20 32 35 33 20 28 22  |;" out of 253 ("|
00000db0  3b 72 6f 6f 6d 25 3b 22  20 64 65 66 69 6e 65 64  |;room%;" defined|
00000dc0  29 2e 22 0d 03 b6 07 fb  20 33 0d 03 c0 1a e7 20  |)."..... 3..... |
00000dd0  72 6f 6f 6d 24 28 65 64  72 6f 6f 6d 25 29 3c 3e  |room$(edroom%)<>|
00000de0  22 22 20 8c 0d 03 ca 1b  20 20 f1 8a 31 2c 37 29  |"" .....  ..1,7)|
00000df0  3b 72 6f 6f 6d 24 28 65  64 72 6f 6f 6d 25 29 0d  |;room$(edroom%).|
00000e00  03 d4 05 cc 0d 03 de 28  20 20 f1 8a 31 2c 37 29  |.......(  ..1,7)|
00000e10  3b 22 2a 2a 20 43 55 52  52 45 4e 54 4c 59 20 55  |;"** CURRENTLY U|
00000e20  4e 44 45 46 49 4e 45 44  20 2a 2a 22 0d 03 e8 05  |NDEFINED **"....|
00000e30  cd 0d 03 f2 2b fb 20 36  3a f1 8a 31 2c 31 36 29  |....+. 6:..1,16)|
00000e40  3b 22 4e 6f 72 74 68 20  2d 20 22 3b 72 6f 6f 6d  |;"North - ";room|
00000e50  25 28 65 64 72 6f 6f 6d  25 2c 31 29 0d 03 fc 27  |%(edroom%,1)...'|
00000e60  f1 8a 31 2c 31 37 29 3b  22 53 6f 75 74 68 20 2d  |..1,17);"South -|
00000e70  20 22 3b 72 6f 6f 6d 25  28 65 64 72 6f 6f 6d 25  | ";room%(edroom%|
00000e80  2c 32 29 0d 04 06 27 f1  8a 31 2c 31 38 29 3b 22  |,2)...'..1,18);"|
00000e90  20 45 61 73 74 20 2d 20  22 3b 72 6f 6f 6d 25 28  | East - ";room%(|
00000ea0  65 64 72 6f 6f 6d 25 2c  33 29 0d 04 10 27 f1 8a  |edroom%,3)...'..|
00000eb0  31 2c 31 39 29 3b 22 20  57 65 73 74 20 2d 20 22  |1,19);" West - "|
00000ec0  3b 72 6f 6f 6d 25 28 65  64 72 6f 6f 6d 25 2c 34  |;room%(edroom%,4|
00000ed0  29 0d 04 1a 27 f1 8a 31  2c 32 30 29 3b 22 20 20  |)...'..1,20);"  |
00000ee0  20 55 70 20 2d 20 22 3b  72 6f 6f 6d 25 28 65 64  | Up - ";room%(ed|
00000ef0  72 6f 6f 6d 25 2c 35 29  0d 04 24 27 f1 8a 31 2c  |room%,5)..$'..1,|
00000f00  32 31 29 3b 22 20 44 6f  77 6e 20 2d 20 22 3b 72  |21);" Down - ";r|
00000f10  6f 6f 6d 25 28 65 64 72  6f 6f 6d 25 2c 36 29 0d  |oom%(edroom%,6).|
00000f20  04 2e 07 fb 20 35 0d 04  38 42 f1 8a 31 2c 32 39  |.... 5..8B..1,29|
00000f30  29 3b 22 28 4e 29 65 78  74 2c 20 28 50 29 72 65  |);"(N)ext, (P)re|
00000f40  76 69 6f 75 73 2c 20 28  46 29 69 72 73 74 2c 20  |vious, (F)irst, |
00000f50  28 4c 29 61 73 74 2c 20  28 45 29 64 69 74 2c 20  |(L)ast, (E)dit, |
00000f60  28 44 29 6f 6e 65 22 3b  0d 04 42 05 e1 0d 04 4c  |(D)one";..B....L|
00000f70  05 3a 0d 04 56 0d dd f2  6f 62 6a 65 63 74 73 0d  |.:..V...objects.|
00000f80  04 60 05 f5 0d 04 6a 1a  20 20 f2 73 68 6f 77 6f  |.`....j.  .showo|
00000f90  62 6a 64 61 74 61 28 65  64 6f 62 6a 25 29 0d 04  |bjdata(edobj%)..|
00000fa0  74 07 20 20 f5 0d 04 7e  0c 20 20 20 20 41 24 3d  |t.  ...~.    A$=|
00000fb0  be 0d 04 88 1d 20 20 fd  20 a7 22 4e 6e 50 70 46  |.....  . ."NnPpF|
00000fc0  66 4c 6c 45 65 44 64 22  2c 41 24 29 3e 30 0d 04  |fLlEeDd",A$)>0..|
00000fd0  92 27 20 20 6f 62 6a 6f  70 74 25 3d 28 a7 22 4e  |.'  objopt%=(."N|
00000fe0  6e 50 70 46 66 4c 6c 45  65 44 64 22 2c 41 24 29  |nPpFfLlEeDd",A$)|
00000ff0  2b 31 29 2f 32 0d 04 9c  12 20 20 c8 8e 20 6f 62  |+1)/2....  .. ob|
00001000  6a 6f 70 74 25 20 ca 0d  04 a6 0a 20 20 c9 20 31  |jopt% .....  . 1|
00001010  3a 0d 04 b0 11 20 20 20  20 65 64 6f 62 6a 25 2b  |:....    edobj%+|
00001020  3d 31 0d 04 ba 1f 20 20  20 20 e7 20 65 64 6f 62  |=1....    . edob|
00001030  6a 25 3e 32 35 35 20 8c  20 65 64 6f 62 6a 25 3d  |j%>255 . edobj%=|
00001040  31 0d 04 c4 0a 20 20 c9  20 32 3a 0d 04 ce 11 20  |1....  . 2:.... |
00001050  20 20 20 65 64 6f 62 6a  25 2d 3d 31 0d 04 d8 1f  |   edobj%-=1....|
00001060  20 20 20 20 e7 20 65 64  6f 62 6a 25 3c 31 20 8c  |    . edobj%<1 .|
00001070  20 65 64 6f 62 6a 25 3d  32 35 35 0d 04 e2 0a 20  | edobj%=255.... |
00001080  20 c9 20 33 3a 0d 04 ec  10 20 20 20 20 65 64 6f  | . 3:....    edo|
00001090  62 6a 25 3d 31 0d 04 f6  0a 20 20 c9 20 34 3a 0d  |bj%=1....  . 4:.|
000010a0  05 00 13 20 20 20 20 65  64 6f 62 6a 25 3d 6f 62  |...    edobj%=ob|
000010b0  6a 25 0d 05 0a 0a 20 20  c9 20 35 3a 0d 05 14 31  |j%....  . 5:...1|
000010c0  20 20 20 20 6e 6f 62 6a  64 65 73 63 24 3d a4 69  |    nobjdesc$=.i|
000010d0  6e 70 75 74 28 31 2c 39  2c 22 3d 3d 3e 22 2c 37  |nput(1,9,"==>",7|
000010e0  2c 61 6c 6c 63 68 61 72  24 2c 37 35 29 0d 05 1e  |,allchar$,75)...|
000010f0  33 20 20 20 20 e7 20 6e  6f 62 6a 64 65 73 63 24  |3    . nobjdesc$|
00001100  3d 22 22 20 8c 20 6e 6f  62 6a 64 65 73 63 24 3d  |="" . nobjdesc$=|
00001110  6f 62 6a 64 65 73 63 24  28 65 64 6f 62 6a 25 29  |objdesc$(edobj%)|
00001120  0d 05 28 30 20 20 20 20  6e 65 78 61 6d 24 3d a4  |..(0    nexam$=.|
00001130  69 6e 70 75 74 28 31 2c  31 36 2c 22 3d 3d 3e 22  |input(1,16,"==>"|
00001140  2c 37 2c 61 6c 6c 63 68  61 72 24 2c 32 35 35 29  |,7,allchar$,255)|
00001150  0d 05 32 2d 20 20 20 20  e7 20 6e 65 78 61 6d 24  |..2-    . nexam$|
00001160  3d 22 22 20 8c 20 6e 65  78 61 6d 24 3d 65 78 61  |="" . nexam$=exa|
00001170  6d 69 6e 65 24 28 65 64  6f 62 6a 25 29 0d 05 3c  |mine$(edobj%)..<|
00001180  2c 20 20 20 20 6e 73 74  61 74 24 3d a4 69 6e 70  |,    nstat$=.inp|
00001190  75 74 28 33 39 2c 32 31  2c 22 3d 3d 3e 22 2c 37  |ut(39,21,"==>",7|
000011a0  2c 22 30 31 32 22 2c 31  29 0d 05 46 40 20 20 20  |,"012",1)..F@   |
000011b0  20 e7 20 6e 73 74 61 74  24 3d 22 22 20 8c 20 6e  | . nstat$="" . n|
000011c0  73 74 61 74 25 3d 6f 62  6a 73 74 61 74 25 28 65  |stat%=objstat%(e|
000011d0  64 6f 62 6a 25 29 20 8b  20 6e 73 74 61 74 25 3d  |dobj%) . nstat%=|
000011e0  bb 28 6e 73 74 61 74 24  29 0d 05 50 32 20 20 20  |.(nstat$)..P2   |
000011f0  20 6e 6c 6f 63 24 3d a4  69 6e 70 75 74 28 33 39  | nloc$=.input(39|
00001200  2c 32 32 2c 22 3d 3d 3e  22 2c 37 2c 22 30 31 32  |,22,"==>",7,"012|
00001210  33 34 35 36 37 38 39 22  2c 33 29 0d 05 5a 23 20  |3456789",3)..Z# |
00001220  20 20 20 e7 20 6e 6c 6f  63 24 3d 22 22 20 84 20  |   . nloc$="" . |
00001230  bb 28 6e 6c 6f 63 24 29  3e 32 35 33 20 8c 0d 05  |.(nloc$)>253 ...|
00001240  64 1f 20 20 20 20 20 20  6e 6c 6f 63 25 3d 6f 62  |d.      nloc%=ob|
00001250  6a 6c 6f 63 25 28 65 64  6f 62 6a 25 29 0d 05 6e  |jloc%(edobj%)..n|
00001260  09 20 20 20 20 cc 0d 05  78 18 20 20 20 20 20 20  |.    ...x.      |
00001270  6e 6c 6f 63 25 3d bb 28  6e 6c 6f 63 24 29 0d 05  |nloc%=.(nloc$)..|
00001280  82 09 20 20 20 20 cd 0d  05 8c 32 20 20 20 20 6e  |..    ....2    n|
00001290  61 63 74 24 3d a4 69 6e  70 75 74 28 33 39 2c 32  |act$=.input(39,2|
000012a0  33 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 34  |3,"==>",7,"01234|
000012b0  35 36 37 38 39 22 2c 33  29 0d 05 96 23 20 20 20  |56789",3)...#   |
000012c0  20 e7 20 6e 61 63 74 24  3d 22 22 20 84 20 bb 28  | . nact$="" . .(|
000012d0  6e 61 63 74 24 29 3e 32  35 35 20 8c 0d 05 a0 1f  |nact$)>255 .....|
000012e0  20 20 20 20 20 20 6e 61  63 74 25 3d 6f 62 6a 61  |      nact%=obja|
000012f0  63 74 25 28 65 64 6f 62  6a 25 29 0d 05 aa 09 20  |ct%(edobj%).... |
00001300  20 20 20 cc 0d 05 b4 18  20 20 20 20 20 20 6e 61  |   .....      na|
00001310  63 74 25 3d bb 28 6e 61  63 74 24 29 0d 05 be 09  |ct%=.(nact$)....|
00001320  20 20 20 20 cd 0d 05 c8  33 20 20 20 20 6e 6e 6f  |    ....3    nno|
00001330  75 6e 24 3d a4 69 6e 70  75 74 28 33 39 2c 32 34  |un$=.input(39,24|
00001340  2c 22 3d 3d 3e 22 2c 37  2c 22 30 31 32 33 34 35  |,"==>",7,"012345|
00001350  36 37 38 39 22 2c 33 29  0d 05 d2 25 20 20 20 20  |6789",3)...%    |
00001360  e7 20 6e 6e 6f 75 6e 24  3d 22 22 20 84 20 bb 28  |. nnoun$="" . .(|
00001370  6e 6e 6f 75 6e 24 29 3e  32 35 35 20 8c 0d 05 dc  |nnoun$)>255 ....|
00001380  21 20 20 20 20 20 20 6e  6e 6f 75 6e 25 3d 6f 62  |!      nnoun%=ob|
00001390  6a 6e 6f 75 6e 25 28 65  64 6f 62 6a 25 29 0d 05  |jnoun%(edobj%)..|
000013a0  e6 09 20 20 20 20 cc 0d  05 f0 1a 20 20 20 20 20  |..    .....     |
000013b0  20 6e 6e 6f 75 6e 25 3d  bb 28 6e 6e 6f 75 6e 24  | nnoun%=.(nnoun$|
000013c0  29 0d 05 fa 09 20 20 20  20 cd 0d 06 04 22 20 20  |)....    ...."  |
000013d0  20 20 6f 62 6a 64 65 73  63 24 28 65 64 6f 62 6a  |  objdesc$(edobj|
000013e0  25 29 3d 6e 6f 62 6a 64  65 73 63 24 0d 06 0e 1f  |%)=nobjdesc$....|
000013f0  20 20 20 20 65 78 61 6d  69 6e 65 24 28 65 64 6f  |    examine$(edo|
00001400  62 6a 25 29 3d 6e 65 78  61 6d 24 0d 06 18 1f 20  |bj%)=nexam$.... |
00001410  20 20 20 6f 62 6a 73 74  61 74 25 28 65 64 6f 62  |   objstat%(edob|
00001420  6a 25 29 3d 6e 73 74 61  74 25 0d 06 22 1d 20 20  |j%)=nstat%..".  |
00001430  20 20 6f 62 6a 6c 6f 63  25 28 65 64 6f 62 6a 25  |  objloc%(edobj%|
00001440  29 3d 6e 6c 6f 63 25 0d  06 2c 1d 20 20 20 20 6f  |)=nloc%..,.    o|
00001450  62 6a 61 63 74 25 28 65  64 6f 62 6a 25 29 3d 6e  |bjact%(edobj%)=n|
00001460  61 63 74 25 0d 06 36 1f  20 20 20 20 6f 62 6a 6e  |act%..6.    objn|
00001470  6f 75 6e 25 28 65 64 6f  62 6a 25 29 3d 6e 6e 6f  |oun%(edobj%)=nno|
00001480  75 6e 25 0d 06 40 23 20  20 20 20 e7 20 65 64 6f  |un%..@#    . edo|
00001490  62 6a 25 3e 6f 62 6a 25  20 8c 20 6f 62 6a 25 3d  |bj%>obj% . obj%=|
000014a0  65 64 6f 62 6a 25 0d 06  4a 07 20 20 cb 0d 06 54  |edobj%..J.  ...T|
000014b0  0f fd 20 6f 62 6a 6f 70  74 25 3d 36 0d 06 5e 05  |.. objopt%=6..^.|
000014c0  e1 0d 06 68 05 3a 0d 06  72 19 dd f2 73 68 6f 77  |...h.:..r...show|
000014d0  6f 62 6a 64 61 74 61 28  65 64 6f 62 6a 25 29 0d  |objdata(edobj%).|
000014e0  06 7c 05 db 0d 06 86 22  f2 74 69 74 6c 65 28 22  |.|.....".title("|
000014f0  45 64 69 74 20 6f 62 6a  65 63 74 20 64 61 74 61  |Edit object data|
00001500  22 2c 33 2c 34 29 0d 06  90 50 fb 20 37 3a f1 8a  |",3,4)...P. 7:..|
00001510  31 2c 35 29 3b 22 45 64  69 74 69 6e 67 20 6f 62  |1,5);"Editing ob|
00001520  6a 65 63 74 20 6e 75 6d  62 65 72 20 22 3b 65 64  |ject number ";ed|
00001530  6f 62 6a 25 3b 22 20 6f  75 74 20 6f 66 20 32 35  |obj%;" out of 25|
00001540  35 20 28 22 3b 6f 62 6a  25 3b 22 20 64 65 66 69  |5 (";obj%;" defi|
00001550  6e 65 64 29 2e 22 0d 06  9a 07 fb 20 33 0d 06 a4  |ned)."..... 3...|
00001560  1c e7 20 6f 62 6a 64 65  73 63 24 28 65 64 6f 62  |.. objdesc$(edob|
00001570  6a 25 29 3c 3e 22 22 20  8c 0d 06 ae 1d 20 20 f1  |j%)<>"" .....  .|
00001580  8a 31 2c 37 29 3b 6f 62  6a 64 65 73 63 24 28 65  |.1,7);objdesc$(e|
00001590  64 6f 62 6a 25 29 0d 06  b8 05 cc 0d 06 c2 28 20  |dobj%)........( |
000015a0  20 f1 8a 31 2c 37 29 3b  22 2a 2a 20 43 55 52 52  | ..1,7);"** CURR|
000015b0  45 4e 54 4c 59 20 55 4e  44 45 46 49 4e 45 44 20  |ENTLY UNDEFINED |
000015c0  2a 2a 22 0d 06 cc 05 cd  0d 06 d6 07 fb 20 32 0d  |**".......... 2.|
000015d0  06 e0 1c f1 8a 31 2c 31  31 29 3b 65 78 61 6d 69  |.....1,11);exami|
000015e0  6e 65 24 28 65 64 6f 62  6a 25 29 0d 06 ea 07 fb  |ne$(edobj%).....|
000015f0  20 36 0d 06 f4 34 f1 8a  31 2c 32 31 29 3b 22 53  | 6...4..1,21);"S|
00001600  74 61 74 75 73 20 28 30  2d 32 29 20 2d 20 22 3b  |tatus (0-2) - ";|
00001610  6f 62 6a 73 74 61 74 25  28 65 64 6f 62 6a 25 29  |objstat%(edobj%)|
00001620  3b 22 20 28 22 3b 0d 06  fe 19 c8 8e 20 6f 62 6a  |;" (";...... obj|
00001630  73 74 61 74 25 28 65 64  6f 62 6a 25 29 20 ca 0d  |stat%(edobj%) ..|
00001640  07 08 08 c9 20 30 3a 0d  07 12 13 20 20 f1 22 49  |.... 0:....  ."I|
00001650  6d 6d 6f 76 61 62 6c 65  29 22 0d 07 1c 08 c9 20  |mmovable)"..... |
00001660  31 3a 0d 07 26 11 20 20  f1 22 47 65 74 61 62 6c  |1:..&.  ."Getabl|
00001670  65 29 22 0d 07 30 08 c9  20 32 3a 0d 07 3a 12 20  |e)"..0.. 2:..:. |
00001680  20 f1 22 57 65 61 72 61  62 6c 65 29 22 0d 07 44  | ."Wearable)"..D|
00001690  05 cb 0d 07 4e 2b f1 8a  31 2c 32 32 29 3b 22 53  |....N+..1,22);"S|
000016a0  74 61 72 74 20 72 6f 6f  6d 20 2d 20 22 3b 6f 62  |tart room - ";ob|
000016b0  6a 6c 6f 63 25 28 65 64  6f 62 6a 25 29 0d 07 58  |jloc%(edobj%)..X|
000016c0  2c f1 8a 31 2c 32 33 29  3b 22 41 63 74 69 6f 6e  |,..1,23);"Action|
000016d0  20 6b 65 79 20 2d 20 22  3b 6f 62 6a 61 63 74 25  | key - ";objact%|
000016e0  28 65 64 6f 62 6a 25 29  3b 0d 07 62 70 e3 20 49  |(edobj%);..bp. I|
000016f0  25 3d 31 20 b8 20 61 63  74 69 6f 6e 25 3a e7 20  |%=1 . action%:. |
00001700  61 63 74 69 6f 6e 25 28  49 25 29 3d 6f 62 6a 61  |action%(I%)=obja|
00001710  63 74 25 28 65 64 6f 62  6a 25 29 20 80 20 6f 62  |ct%(edobj%) . ob|
00001720  6a 61 63 74 25 28 65 64  6f 62 6a 25 29 3c 3e 30  |jact%(edobj%)<>0|
00001730  20 8c 20 f1 22 20 28 22  3b 61 63 74 69 6f 6e 24  | . ." (";action$|
00001740  28 49 25 29 3b 22 29 22  3a 49 25 3d 61 63 74 69  |(I%);")":I%=acti|
00001750  6f 6e 25 3a ed 20 8b 20  ed 0d 07 6c 2b f1 8a 31  |on%:. . ...l+..1|
00001760  2c 32 34 29 3b 22 4e 6f  75 6e 20 6b 65 79 20 2d  |,24);"Noun key -|
00001770  20 22 3b 6f 62 6a 6e 6f  75 6e 25 28 65 64 6f 62  | ";objnoun%(edob|
00001780  6a 25 29 3b 0d 07 76 6a  e3 20 49 25 3d 31 20 b8  |j%);..vj. I%=1 .|
00001790  20 6e 6f 75 6e 25 3a e7  20 6e 6f 75 6e 25 28 49  | noun%:. noun%(I|
000017a0  25 29 3d 6f 62 6a 6e 6f  75 6e 25 28 65 64 6f 62  |%)=objnoun%(edob|
000017b0  6a 25 29 20 80 20 6f 62  6a 6e 6f 75 6e 25 28 65  |j%) . objnoun%(e|
000017c0  64 6f 62 6a 25 29 3c 3e  30 20 8c 20 f1 22 20 28  |dobj%)<>0 . ." (|
000017d0  22 3b 6e 6f 75 6e 24 28  49 25 29 3b 22 29 22 3a  |";noun$(I%);")":|
000017e0  49 25 3d 6e 6f 75 6e 25  3a ed 20 8b 20 ed 0d 07  |I%=noun%:. . ...|
000017f0  80 07 fb 20 35 0d 07 8a  42 f1 8a 31 2c 32 39 29  |... 5...B..1,29)|
00001800  3b 22 28 4e 29 65 78 74  2c 20 28 50 29 72 65 76  |;"(N)ext, (P)rev|
00001810  69 6f 75 73 2c 20 28 46  29 69 72 73 74 2c 20 28  |ious, (F)irst, (|
00001820  4c 29 61 73 74 2c 20 28  45 29 64 69 74 2c 20 28  |L)ast, (E)dit, (|
00001830  44 29 6f 6e 65 22 3b 0d  07 94 05 e1 0d 07 9e 05  |D)one";.........|
00001840  3a 0d 07 a8 0b dd f2 76  6f 63 61 62 0d 07 b2 05  |:......vocab....|
00001850  f5 0d 07 bc 0e 20 20 f2  6d 65 6e 75 28 33 29 0d  |.....  .menu(3).|
00001860  07 c6 3a 20 20 63 68 6f  69 63 65 25 3d bb 28 a4  |..:  choice%=.(.|
00001870  69 6e 70 75 74 28 31 2c  32 35 2c 22 45 6e 74 65  |input(1,25,"Ente|
00001880  72 20 63 68 6f 69 63 65  3a 20 22 2c 36 2c 22 31  |r choice: ",6,"1|
00001890  32 33 34 35 22 2c 31 29  29 0d 07 d0 12 20 20 c8  |2345",1))....  .|
000018a0  8e 20 63 68 6f 69 63 65  25 20 ca 0d 07 da 0a 20  |. choice% ..... |
000018b0  20 c9 20 31 3a 0d 07 e4  10 20 20 20 20 f2 65 64  | . 1:....    .ed|
000018c0  76 65 72 62 73 0d 07 ee  0a 20 20 c9 20 32 3a 0d  |verbs....  . 2:.|
000018d0  07 f8 10 20 20 20 20 f2  65 64 6c 69 6e 6b 73 0d  |...    .edlinks.|
000018e0  08 02 0a 20 20 c9 20 33  3a 0d 08 0c 12 20 20 20  |...  . 3:....   |
000018f0  20 f2 65 64 61 63 74 69  6f 6e 73 0d 08 16 0a 20  | .edactions.... |
00001900  20 c9 20 34 3a 0d 08 20  10 20 20 20 20 f2 65 64  | . 4:.. .    .ed|
00001910  6e 6f 75 6e 73 0d 08 2a  07 20 20 cb 0d 08 34 0f  |nouns..*.  ...4.|
00001920  fd 20 63 68 6f 69 63 65  25 3d 35 0d 08 3e 05 e1  |. choice%=5..>..|
00001930  0d 08 48 05 3a 0d 08 52  0d dd f2 65 64 76 65 72  |..H.:..R...edver|
00001940  62 73 0d 08 5c 05 f5 0d  08 66 19 20 20 f2 73 68  |bs..\....f.  .sh|
00001950  6f 77 76 65 72 62 73 28  65 64 76 65 72 62 25 29  |owverbs(edverb%)|
00001960  0d 08 70 07 20 20 f5 0d  08 7a 0c 20 20 20 20 41  |..p.  ...z.    A|
00001970  24 3d be 0d 08 84 1d 20  20 fd 20 a7 22 4e 6e 50  |$=.....  . ."NnP|
00001980  70 46 66 42 62 45 65 44  64 22 2c 41 24 29 3e 30  |pFfBbEeDd",A$)>0|
00001990  0d 08 8e 26 20 20 76 62  6f 70 74 25 3d 28 a7 22  |...&  vbopt%=(."|
000019a0  4e 6e 50 70 46 66 42 62  45 65 44 64 22 2c 41 24  |NnPpFfBbEeDd",A$|
000019b0  29 2b 31 29 2f 32 0d 08  98 11 20 20 c8 8e 20 76  |)+1)/2....  .. v|
000019c0  62 6f 70 74 25 20 ca 0d  08 a2 0a 20 20 c9 20 31  |bopt% .....  . 1|
000019d0  3a 0d 08 ac 2c 20 20 20  20 65 64 76 65 72 62 25  |:...,    edverb%|
000019e0  2b 3d 31 3a e7 20 65 64  76 65 72 62 25 3e 32 35  |+=1:. edverb%>25|
000019f0  35 20 8c 20 65 64 76 65  72 62 25 3d 31 0d 08 b6  |5 . edverb%=1...|
00001a00  0a 20 20 c9 20 32 3a 0d  08 c0 2c 20 20 20 20 65  |.  . 2:...,    e|
00001a10  64 76 65 72 62 25 2d 3d  31 3a e7 20 65 64 76 65  |dverb%-=1:. edve|
00001a20  72 62 25 3c 31 20 8c 20  65 64 76 65 72 62 25 3d  |rb%<1 . edverb%=|
00001a30  32 35 35 0d 08 ca 0a 20  20 c9 20 33 3a 0d 08 d4  |255....  . 3:...|
00001a40  2d 20 20 20 20 65 64 76  65 72 62 25 2b 3d 31 35  |-    edverb%+=15|
00001a50  3a e7 20 65 64 76 65 72  62 25 3e 32 35 35 20 8c  |:. edverb%>255 .|
00001a60  20 65 64 76 65 72 62 25  3d 31 0d 08 de 0a 20 20  | edverb%=1....  |
00001a70  c9 20 34 3a 0d 08 e8 2d  20 20 20 20 65 64 76 65  |. 4:...-    edve|
00001a80  72 62 25 2d 3d 31 35 3a  e7 20 65 64 76 65 72 62  |rb%-=15:. edverb|
00001a90  25 3c 31 20 8c 20 65 64  76 65 72 62 25 3d 32 35  |%<1 . edverb%=25|
00001aa0  35 0d 08 f2 0a 20 20 c9  20 35 3a 0d 08 fc 5f 20  |5....  . 5:..._ |
00001ab0  20 20 20 76 65 72 62 24  3d a4 69 6e 70 75 74 28  |   verb$=.input(|
00001ac0  33 39 2c 38 2b 28 28 65  64 76 65 72 62 25 2d 31  |39,8+((edverb%-1|
00001ad0  29 20 83 20 31 35 29 2c  22 3d 3d 3e 22 2c 37 2c  |) . 15),"==>",7,|
00001ae0  22 30 31 32 33 34 35 36  37 38 39 41 42 43 44 45  |"0123456789ABCDE|
00001af0  46 47 48 49 4a 4b 4c 4d  4e 4f 50 51 52 53 54 55  |FGHIJKLMNOPQRSTU|
00001b00  56 57 58 59 5a 22 2c 32  30 29 0d 09 06 43 20 20  |VWXYZ",20)...C  |
00001b10  20 20 6e 76 73 24 3d a4  69 6e 70 75 74 28 36 39  |  nvs$=.input(69|
00001b20  2c 38 2b 28 28 65 64 76  65 72 62 25 2d 31 29 20  |,8+((edverb%-1) |
00001b30  83 20 31 35 29 2c 22 3d  3d 3e 22 2c 37 2c 22 30  |. 15),"==>",7,"0|
00001b40  31 32 33 34 35 36 37 38  39 22 2c 33 29 0d 09 10  |123456789",3)...|
00001b50  29 20 20 20 20 e7 20 76  65 72 62 24 3d 22 22 20  |)    . verb$="" |
00001b60  8c 20 76 65 72 62 24 3d  76 65 72 62 24 28 65 64  |. verb$=verb$(ed|
00001b70  76 65 72 62 25 29 0d 09  1a 44 20 20 20 20 e7 20  |verb%)...D    . |
00001b80  6e 76 73 24 3d 22 22 20  84 20 bb 28 6e 76 73 24  |nvs$="" . .(nvs$|
00001b90  29 3e 32 35 35 20 8c 20  6e 76 73 25 3d 76 65 72  |)>255 . nvs%=ver|
00001ba0  62 25 28 65 64 76 65 72  62 25 29 20 8b 20 6e 76  |b%(edverb%) . nv|
00001bb0  73 25 3d bb 28 6e 76 73  24 29 0d 09 24 30 20 20  |s%=.(nvs$)..$0  |
00001bc0  20 20 76 65 72 62 24 28  65 64 76 65 72 62 25 29  |  verb$(edverb%)|
00001bd0  3d 76 65 72 62 24 3a 76  65 72 62 25 28 65 64 76  |=verb$:verb%(edv|
00001be0  65 72 62 25 29 3d 6e 76  73 25 0d 09 2e 2e 20 20  |erb%)=nvs%....  |
00001bf0  20 20 e7 20 76 65 72 62  24 28 65 64 76 65 72 62  |  . verb$(edverb|
00001c00  25 29 3d 22 22 20 8c 20  76 65 72 62 25 28 65 64  |%)="" . verb%(ed|
00001c10  76 65 72 62 25 29 3d 30  0d 09 38 27 20 20 20 20  |verb%)=0..8'    |
00001c20  e7 20 65 64 76 65 72 62  25 3e 76 65 72 62 25 20  |. edverb%>verb% |
00001c30  8c 20 76 65 72 62 25 3d  65 64 76 65 72 62 25 0d  |. verb%=edverb%.|
00001c40  09 42 07 20 20 cb 0d 09  4c 0e fd 20 76 62 6f 70  |.B.  ...L.. vbop|
00001c50  74 25 3d 36 0d 09 56 05  e1 0d 09 60 05 3a 0d 09  |t%=6..V....`.:..|
00001c60  6a 18 dd f2 73 68 6f 77  76 65 72 62 73 28 65 64  |j...showverbs(ed|
00001c70  76 65 72 62 25 29 0d 09  74 20 76 62 62 6c 6b 25  |verb%)..t vbblk%|
00001c80  3d 28 28 65 64 76 65 72  62 25 2d 31 29 20 81 20  |=((edverb%-1) . |
00001c90  31 35 29 2a 31 35 0d 09  7e 05 db 0d 09 88 20 f2  |15)*15..~..... .|
00001ca0  74 69 74 6c 65 28 22 45  64 69 74 20 76 65 72 62  |title("Edit verb|
00001cb0  20 6c 69 73 74 22 2c 37  2c 32 29 0d 09 92 49 fb  | list",7,2)...I.|
00001cc0  20 37 3a f1 8a 31 2c 34  29 3b 22 45 64 69 74 69  | 7:..1,4);"Editi|
00001cd0  6e 67 20 76 65 72 62 20  22 3b 65 64 76 65 72 62  |ng verb ";edverb|
00001ce0  25 3b 22 20 6f 75 74 20  6f 66 20 32 35 35 20 28  |%;" out of 255 (|
00001cf0  22 3b 76 65 72 62 25 3b  22 20 64 65 66 69 6e 65  |";verb%;" define|
00001d00  64 29 2e 22 0d 09 9c 47  f1 8a 35 2c 37 29 3b 22  |d)."...G..5,7);"|
00001d10  4f 6c 64 20 76 65 72 62  22 3b 8a 32 39 2c 37 29  |Old verb";.29,7)|
00001d20  3b 22 4f 6c 64 20 49 44  22 3b 8a 34 34 2c 37 29  |;"Old ID";.44,7)|
00001d30  3b 22 4e 65 77 20 76 65  72 62 22 3b 8a 36 39 2c  |;"New verb";.69,|
00001d40  37 29 3b 22 4e 65 77 20  49 44 22 0d 09 a6 07 fb  |7);"New ID".....|
00001d50  20 33 0d 09 b0 0f e3 20  49 25 3d 31 20 b8 20 31  | 3..... I%=1 . 1|
00001d60  35 0d 09 ba 0b 20 20 fb  20 31 32 38 0d 09 c4 21  |5....  . 128...!|
00001d70  20 20 f1 8a 32 39 2c 49  25 2b 37 29 3b 76 65 72  |  ..29,I%+7);ver|
00001d80  62 25 28 76 62 62 6c 6b  25 2b 49 25 29 0d 09 ce  |b%(vbblk%+I%)...|
00001d90  1b 20 20 e7 20 76 62 62  6c 6b 25 2b 49 25 3d 65  |.  . vbblk%+I%=e|
00001da0  64 76 65 72 62 25 20 8c  0d 09 d8 18 20 20 20 20  |dverb% .....    |
00001db0  fb 20 31 33 32 3a f1 8a  32 2c 49 25 2b 37 29 3b  |. 132:..2,I%+7);|
00001dc0  0d 09 e2 1e 20 20 20 20  e7 20 76 65 72 62 24 28  |....    . verb$(|
00001dd0  65 64 76 65 72 62 25 29  3c 3e 22 22 20 8c 0d 09  |edverb%)<>"" ...|
00001de0  ec 3a 20 20 20 20 20 20  f1 20 89 28 a9 28 76 65  |.:      . .(.(ve|
00001df0  72 62 24 28 65 64 76 65  72 62 25 29 29 2b 36 29  |rb$(edverb%))+6)|
00001e00  3b 8a 35 2c 49 25 2b 37  29 3b 76 65 72 62 24 28  |;.5,I%+7);verb$(|
00001e10  65 64 76 65 72 62 25 29  0d 09 f6 09 20 20 20 20  |edverb%)....    |
00001e20  cc 0d 0a 00 36 20 20 20  20 20 20 f1 20 89 28 33  |....6      . .(3|
00001e30  31 29 3b 8a 35 2c 49 25  2b 37 29 3b 22 2a 2a 20  |1);.5,I%+7);"** |
00001e40  43 55 52 52 45 4e 54 4c  59 20 55 4e 44 45 46 49  |CURRENTLY UNDEFI|
00001e50  4e 45 44 20 2a 2a 22 0d  0a 0a 09 20 20 20 20 cd  |NED **"....    .|
00001e60  0d 0a 14 07 20 20 cc 0d  0a 1e 20 20 20 20 20 e7  |....  ....     .|
00001e70  20 76 65 72 62 24 28 76  62 62 6c 6b 25 2b 49 25  | verb$(vbblk%+I%|
00001e80  29 3c 3e 22 22 20 8c 0d  0a 28 24 20 20 20 20 20  |)<>"" ...($     |
00001e90  20 f1 8a 35 2c 49 25 2b  37 29 3b 76 65 72 62 24  | ..5,I%+7);verb$|
00001ea0  28 76 62 62 6c 6b 25 2b  49 25 29 0d 0a 32 09 20  |(vbblk%+I%)..2. |
00001eb0  20 20 20 cc 0d 0a 3c 2f  20 20 20 20 20 20 f1 8a  |   ...</      ..|
00001ec0  35 2c 49 25 2b 37 29 3b  22 2a 2a 20 43 55 52 52  |5,I%+7);"** CURR|
00001ed0  45 4e 54 4c 59 20 55 4e  44 45 46 49 4e 45 44 20  |ENTLY UNDEFINED |
00001ee0  2a 2a 22 0d 0a 46 09 20  20 20 20 cd 0d 0a 50 07  |**"..F.    ...P.|
00001ef0  20 20 cd 0d 0a 5a 05 ed  0d 0a 64 0d fb 20 35 3a  |  ...Z....d.. 5:|
00001f00  fb 20 31 32 38 0d 0a 6e  52 f1 8a 31 2c 32 39 29  |. 128..nR..1,29)|
00001f10  3b 22 28 4e 29 65 78 74  2c 20 28 50 29 72 65 76  |;"(N)ext, (P)rev|
00001f20  69 6f 75 73 2c 20 28 46  29 6f 72 77 61 72 64 20  |ious, (F)orward |
00001f30  61 20 70 61 67 65 2c 20  28 42 29 61 63 6b 20 61  |a page, (B)ack a|
00001f40  20 70 61 67 65 2c 20 28  45 29 64 69 74 2c 20 28  | page, (E)dit, (|
00001f50  44 29 6f 6e 65 22 3b 0d  0a 78 05 e1 0d 0a 82 05  |D)one";..x......|
00001f60  3a 0d 0a 8c 0d dd f2 65  64 6c 69 6e 6b 73 0d 0a  |:......edlinks..|
00001f70  96 05 f5 0d 0a a0 19 20  20 f2 73 68 6f 77 6c 69  |.......  .showli|
00001f80  6e 6b 73 28 65 64 6c 69  6e 6b 25 29 0d 0a aa 07  |nks(edlink%)....|
00001f90  20 20 f5 0d 0a b4 0c 20  20 20 20 41 24 3d be 0d  |  .....    A$=..|
00001fa0  0a be 1d 20 20 fd 20 a7  22 4e 6e 50 70 46 66 42  |...  . ."NnPpFfB|
00001fb0  62 45 65 44 64 22 2c 41  24 29 3e 30 0d 0a c8 26  |bEeDd",A$)>0...&|
00001fc0  20 20 6c 6b 6f 70 74 25  3d 28 a7 22 4e 6e 50 70  |  lkopt%=(."NnPp|
00001fd0  46 66 42 62 45 65 44 64  22 2c 41 24 29 2b 31 29  |FfBbEeDd",A$)+1)|
00001fe0  2f 32 0d 0a d2 11 20 20  c8 8e 20 6c 6b 6f 70 74  |/2....  .. lkopt|
00001ff0  25 20 ca 0d 0a dc 0a 20  20 c9 20 31 3a 0d 0a e6  |% .....  . 1:...|
00002000  2c 20 20 20 20 65 64 6c  69 6e 6b 25 2b 3d 31 3a  |,    edlink%+=1:|
00002010  e7 20 65 64 6c 69 6e 6b  25 3e 32 35 35 20 8c 20  |. edlink%>255 . |
00002020  65 64 6c 69 6e 6b 25 3d  31 0d 0a f0 0a 20 20 c9  |edlink%=1....  .|
00002030  20 32 3a 0d 0a fa 2c 20  20 20 20 65 64 6c 69 6e  | 2:...,    edlin|
00002040  6b 25 2d 3d 31 3a e7 20  65 64 6c 69 6e 6b 25 3c  |k%-=1:. edlink%<|
00002050  31 20 8c 20 65 64 6c 69  6e 6b 25 3d 32 35 35 0d  |1 . edlink%=255.|
00002060  0b 04 0a 20 20 c9 20 33  3a 0d 0b 0e 2d 20 20 20  |...  . 3:...-   |
00002070  20 65 64 6c 69 6e 6b 25  2b 3d 31 35 3a e7 20 65  | edlink%+=15:. e|
00002080  64 6c 69 6e 6b 25 3e 32  35 35 20 8c 20 65 64 6c  |dlink%>255 . edl|
00002090  69 6e 6b 25 3d 31 0d 0b  18 0a 20 20 c9 20 34 3a  |ink%=1....  . 4:|
000020a0  0d 0b 22 2d 20 20 20 20  65 64 6c 69 6e 6b 25 2d  |.."-    edlink%-|
000020b0  3d 31 35 3a e7 20 65 64  6c 69 6e 6b 25 3c 31 20  |=15:. edlink%<1 |
000020c0  8c 20 65 64 6c 69 6e 6b  25 3d 32 35 35 0d 0b 2c  |. edlink%=255..,|
000020d0  0a 20 20 c9 20 35 3a 0d  0b 36 5f 20 20 20 20 6c  |.  . 5:..6_    l|
000020e0  69 6e 6b 24 3d a4 69 6e  70 75 74 28 33 39 2c 38  |ink$=.input(39,8|
000020f0  2b 28 28 65 64 6c 69 6e  6b 25 2d 31 29 20 83 20  |+((edlink%-1) . |
00002100  31 35 29 2c 22 3d 3d 3e  22 2c 37 2c 22 30 31 32  |15),"==>",7,"012|
00002110  33 34 35 36 37 38 39 41  42 43 44 45 46 47 48 49  |3456789ABCDEFGHI|
00002120  4a 4b 4c 4d 4e 4f 50 51  52 53 54 55 56 57 58 59  |JKLMNOPQRSTUVWXY|
00002130  5a 22 2c 32 30 29 0d 0b  40 43 20 20 20 20 6e 6c  |Z",20)..@C    nl|
00002140  73 24 3d a4 69 6e 70 75  74 28 36 39 2c 38 2b 28  |s$=.input(69,8+(|
00002150  28 65 64 6c 69 6e 6b 25  2d 31 29 20 83 20 31 35  |(edlink%-1) . 15|
00002160  29 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 34  |),"==>",7,"01234|
00002170  35 36 37 38 39 22 2c 33  29 0d 0b 4a 29 20 20 20  |56789",3)..J)   |
00002180  20 e7 20 6c 69 6e 6b 24  3d 22 22 20 8c 20 6c 69  | . link$="" . li|
00002190  6e 6b 24 3d 6c 69 6e 6b  24 28 65 64 6c 69 6e 6b  |nk$=link$(edlink|
000021a0  25 29 0d 0b 54 44 20 20  20 20 e7 20 6e 6c 73 24  |%)..TD    . nls$|
000021b0  3d 22 22 20 84 20 bb 28  6e 6c 73 24 29 3e 32 35  |="" . .(nls$)>25|
000021c0  35 20 8c 20 6e 6c 73 25  3d 6c 69 6e 6b 25 28 65  |5 . nls%=link%(e|
000021d0  64 6c 69 6e 6b 25 29 20  8b 20 6e 6c 73 25 3d bb  |dlink%) . nls%=.|
000021e0  28 6e 6c 73 24 29 0d 0b  5e 30 20 20 20 20 6c 69  |(nls$)..^0    li|
000021f0  6e 6b 24 28 65 64 6c 69  6e 6b 25 29 3d 6c 69 6e  |nk$(edlink%)=lin|
00002200  6b 24 3a 6c 69 6e 6b 25  28 65 64 6c 69 6e 6b 25  |k$:link%(edlink%|
00002210  29 3d 6e 6c 73 25 0d 0b  68 2e 20 20 20 20 e7 20  |)=nls%..h.    . |
00002220  6c 69 6e 6b 24 28 65 64  6c 69 6e 6b 25 29 3d 22  |link$(edlink%)="|
00002230  22 20 8c 20 6c 69 6e 6b  25 28 65 64 6c 69 6e 6b  |" . link%(edlink|
00002240  25 29 3d 30 0d 0b 72 27  20 20 20 20 e7 20 65 64  |%)=0..r'    . ed|
00002250  6c 69 6e 6b 25 3e 6c 69  6e 6b 25 20 8c 20 6c 69  |link%>link% . li|
00002260  6e 6b 25 3d 65 64 6c 69  6e 6b 25 0d 0b 7c 07 20  |nk%=edlink%..|. |
00002270  20 cb 0d 0b 86 0e fd 20  6c 6b 6f 70 74 25 3d 36  | ...... lkopt%=6|
00002280  0d 0b 90 05 e1 0d 0b 9a  05 3a 0d 0b a4 18 dd f2  |.........:......|
00002290  73 68 6f 77 6c 69 6e 6b  73 28 65 64 6c 69 6e 6b  |showlinks(edlink|
000022a0  25 29 0d 0b ae 20 6c 6b  62 6c 6b 25 3d 28 28 65  |%)... lkblk%=((e|
000022b0  64 6c 69 6e 6b 25 2d 31  29 20 81 20 31 35 29 2a  |dlink%-1) . 15)*|
000022c0  31 35 0d 0b b8 05 db 0d  0b c2 25 f2 74 69 74 6c  |15........%.titl|
000022d0  65 28 22 45 64 69 74 20  6c 69 6e 6b 20 77 6f 72  |e("Edit link wor|
000022e0  64 20 6c 69 73 74 22 2c  37 2c 32 29 0d 0b cc 4e  |d list",7,2)...N|
000022f0  fb 20 37 3a f1 8a 31 2c  34 29 3b 22 45 64 69 74  |. 7:..1,4);"Edit|
00002300  69 6e 67 20 6c 69 6e 6b  20 77 6f 72 64 20 22 3b  |ing link word ";|
00002310  65 64 6c 69 6e 6b 25 3b  22 20 6f 75 74 20 6f 66  |edlink%;" out of|
00002320  20 32 35 35 20 28 22 3b  6c 69 6e 6b 25 3b 22 20  | 255 (";link%;" |
00002330  64 65 66 69 6e 65 64 29  2e 22 0d 0b d6 51 f1 8a  |defined)."...Q..|
00002340  35 2c 37 29 3b 22 4f 6c  64 20 6c 69 6e 6b 20 77  |5,7);"Old link w|
00002350  6f 72 64 22 3b 8a 32 39  2c 37 29 3b 22 4f 6c 64  |ord";.29,7);"Old|
00002360  20 49 44 22 3b 8a 34 34  2c 37 29 3b 22 4e 65 77  | ID";.44,7);"New|
00002370  20 6c 69 6e 6b 20 77 6f  72 64 22 3b 8a 36 39 2c  | link word";.69,|
00002380  37 29 3b 22 4e 65 77 20  49 44 22 0d 0b e0 07 fb  |7);"New ID".....|
00002390  20 33 0d 0b ea 0f e3 20  49 25 3d 31 20 b8 20 31  | 3..... I%=1 . 1|
000023a0  35 0d 0b f4 0b 20 20 fb  20 31 32 38 0d 0b fe 21  |5....  . 128...!|
000023b0  20 20 f1 8a 32 39 2c 49  25 2b 37 29 3b 6c 69 6e  |  ..29,I%+7);lin|
000023c0  6b 25 28 6c 6b 62 6c 6b  25 2b 49 25 29 0d 0c 08  |k%(lkblk%+I%)...|
000023d0  1b 20 20 e7 20 6c 6b 62  6c 6b 25 2b 49 25 3d 65  |.  . lkblk%+I%=e|
000023e0  64 6c 69 6e 6b 25 20 8c  0d 0c 12 18 20 20 20 20  |dlink% .....    |
000023f0  fb 20 31 33 32 3a f1 8a  32 2c 49 25 2b 37 29 3b  |. 132:..2,I%+7);|
00002400  0d 0c 1c 1e 20 20 20 20  e7 20 6c 69 6e 6b 24 28  |....    . link$(|
00002410  65 64 6c 69 6e 6b 25 29  3c 3e 22 22 20 8c 0d 0c  |edlink%)<>"" ...|
00002420  26 3a 20 20 20 20 20 20  f1 20 89 28 a9 28 6c 69  |&:      . .(.(li|
00002430  6e 6b 24 28 65 64 6c 69  6e 6b 25 29 29 2b 36 29  |nk$(edlink%))+6)|
00002440  3b 8a 35 2c 49 25 2b 37  29 3b 6c 69 6e 6b 24 28  |;.5,I%+7);link$(|
00002450  65 64 6c 69 6e 6b 25 29  0d 0c 30 09 20 20 20 20  |edlink%)..0.    |
00002460  cc 0d 0c 3a 36 20 20 20  20 20 20 f1 20 89 28 33  |...:6      . .(3|
00002470  31 29 3b 8a 35 2c 49 25  2b 37 29 3b 22 2a 2a 20  |1);.5,I%+7);"** |
00002480  43 55 52 52 45 4e 54 4c  59 20 55 4e 44 45 46 49  |CURRENTLY UNDEFI|
00002490  4e 45 44 20 2a 2a 22 0d  0c 44 09 20 20 20 20 cd  |NED **"..D.    .|
000024a0  0d 0c 4e 07 20 20 cc 0d  0c 58 20 20 20 20 20 e7  |..N.  ...X     .|
000024b0  20 6c 69 6e 6b 24 28 6c  6b 62 6c 6b 25 2b 49 25  | link$(lkblk%+I%|
000024c0  29 3c 3e 22 22 20 8c 0d  0c 62 24 20 20 20 20 20  |)<>"" ...b$     |
000024d0  20 f1 8a 35 2c 49 25 2b  37 29 3b 6c 69 6e 6b 24  | ..5,I%+7);link$|
000024e0  28 6c 6b 62 6c 6b 25 2b  49 25 29 0d 0c 6c 09 20  |(lkblk%+I%)..l. |
000024f0  20 20 20 cc 0d 0c 76 2f  20 20 20 20 20 20 f1 8a  |   ...v/      ..|
00002500  35 2c 49 25 2b 37 29 3b  22 2a 2a 20 43 55 52 52  |5,I%+7);"** CURR|
00002510  45 4e 54 4c 59 20 55 4e  44 45 46 49 4e 45 44 20  |ENTLY UNDEFINED |
00002520  2a 2a 22 0d 0c 80 09 20  20 20 20 cd 0d 0c 8a 07  |**"....    .....|
00002530  20 20 cd 0d 0c 94 05 ed  0d 0c 9e 0d fb 20 35 3a  |  ........... 5:|
00002540  fb 20 31 32 38 0d 0c a8  52 f1 8a 31 2c 32 39 29  |. 128...R..1,29)|
00002550  3b 22 28 4e 29 65 78 74  2c 20 28 50 29 72 65 76  |;"(N)ext, (P)rev|
00002560  69 6f 75 73 2c 20 28 46  29 6f 72 77 61 72 64 20  |ious, (F)orward |
00002570  61 20 70 61 67 65 2c 20  28 42 29 61 63 6b 20 61  |a page, (B)ack a|
00002580  20 70 61 67 65 2c 20 28  45 29 64 69 74 2c 20 28  | page, (E)dit, (|
00002590  44 29 6f 6e 65 22 3b 0d  0c b2 05 e1 0d 0c bc 05  |D)one";.........|
000025a0  3a 0d 0c c6 0f dd f2 65  64 61 63 74 69 6f 6e 73  |:......edactions|
000025b0  0d 0c d0 05 f5 0d 0c da  1d 20 20 f2 73 68 6f 77  |.........  .show|
000025c0  61 63 74 69 6f 6e 73 28  65 64 61 63 74 69 6f 6e  |actions(edaction|
000025d0  25 29 0d 0c e4 07 20 20  f5 0d 0c ee 0c 20 20 20  |%)....  .....   |
000025e0  20 41 24 3d be 0d 0c f8  1d 20 20 fd 20 a7 22 4e  | A$=.....  . ."N|
000025f0  6e 50 70 46 66 42 62 45  65 44 64 22 2c 41 24 29  |nPpFfBbEeDd",A$)|
00002600  3e 30 0d 0d 02 26 20 20  61 63 6f 70 74 25 3d 28  |>0...&  acopt%=(|
00002610  a7 22 4e 6e 50 70 46 66  42 62 45 65 44 64 22 2c  |."NnPpFfBbEeDd",|
00002620  41 24 29 2b 31 29 2f 32  0d 0d 0c 11 20 20 c8 8e  |A$)+1)/2....  ..|
00002630  20 61 63 6f 70 74 25 20  ca 0d 0d 16 0a 20 20 c9  | acopt% .....  .|
00002640  20 31 3a 0d 0d 20 32 20  20 20 20 65 64 61 63 74  | 1:.. 2    edact|
00002650  69 6f 6e 25 2b 3d 31 3a  e7 20 65 64 61 63 74 69  |ion%+=1:. edacti|
00002660  6f 6e 25 3e 32 35 35 20  8c 20 65 64 61 63 74 69  |on%>255 . edacti|
00002670  6f 6e 25 3d 31 0d 0d 2a  0a 20 20 c9 20 32 3a 0d  |on%=1..*.  . 2:.|
00002680  0d 34 32 20 20 20 20 65  64 61 63 74 69 6f 6e 25  |.42    edaction%|
00002690  2d 3d 31 3a e7 20 65 64  61 63 74 69 6f 6e 25 3c  |-=1:. edaction%<|
000026a0  31 20 8c 20 65 64 61 63  74 69 6f 6e 25 3d 32 35  |1 . edaction%=25|
000026b0  35 0d 0d 3e 0a 20 20 c9  20 33 3a 0d 0d 48 33 20  |5..>.  . 3:..H3 |
000026c0  20 20 20 65 64 61 63 74  69 6f 6e 25 2b 3d 31 35  |   edaction%+=15|
000026d0  3a e7 20 65 64 61 63 74  69 6f 6e 25 3e 32 35 35  |:. edaction%>255|
000026e0  20 8c 20 65 64 61 63 74  69 6f 6e 25 3d 31 0d 0d  | . edaction%=1..|
000026f0  52 0a 20 20 c9 20 34 3a  0d 0d 5c 33 20 20 20 20  |R.  . 4:..\3    |
00002700  65 64 61 63 74 69 6f 6e  25 2d 3d 31 35 3a e7 20  |edaction%-=15:. |
00002710  65 64 61 63 74 69 6f 6e  25 3c 31 20 8c 20 65 64  |edaction%<1 . ed|
00002720  61 63 74 69 6f 6e 25 3d  32 35 35 0d 0d 66 0a 20  |action%=255..f. |
00002730  20 c9 20 35 3a 0d 0d 70  63 20 20 20 20 61 63 74  | . 5:..pc    act|
00002740  69 6f 6e 24 3d a4 69 6e  70 75 74 28 33 39 2c 38  |ion$=.input(39,8|
00002750  2b 28 28 65 64 61 63 74  69 6f 6e 25 2d 31 29 20  |+((edaction%-1) |
00002760  83 20 31 35 29 2c 22 3d  3d 3e 22 2c 37 2c 22 30  |. 15),"==>",7,"0|
00002770  31 32 33 34 35 36 37 38  39 41 42 43 44 45 46 47  |123456789ABCDEFG|
00002780  48 49 4a 4b 4c 4d 4e 4f  50 51 52 53 54 55 56 57  |HIJKLMNOPQRSTUVW|
00002790  58 59 5a 22 2c 32 30 29  0d 0d 7a 45 20 20 20 20  |XYZ",20)..zE    |
000027a0  6e 61 73 24 3d a4 69 6e  70 75 74 28 36 39 2c 38  |nas$=.input(69,8|
000027b0  2b 28 28 65 64 61 63 74  69 6f 6e 25 2d 31 29 20  |+((edaction%-1) |
000027c0  83 20 31 35 29 2c 22 3d  3d 3e 22 2c 37 2c 22 30  |. 15),"==>",7,"0|
000027d0  31 32 33 34 35 36 37 38  39 22 2c 33 29 0d 0d 84  |123456789",3)...|
000027e0  31 20 20 20 20 e7 20 61  63 74 69 6f 6e 24 3d 22  |1    . action$="|
000027f0  22 20 8c 20 61 63 74 69  6f 6e 24 3d 61 63 74 69  |" . action$=acti|
00002800  6f 6e 24 28 65 64 61 63  74 69 6f 6e 25 29 0d 0d  |on$(edaction%)..|
00002810  8e 48 20 20 20 20 e7 20  6e 61 73 24 3d 22 22 20  |.H    . nas$="" |
00002820  84 20 bb 28 6e 61 73 24  29 3e 32 35 35 20 8c 20  |. .(nas$)>255 . |
00002830  6e 61 73 25 3d 61 63 74  69 6f 6e 25 28 65 64 61  |nas%=action%(eda|
00002840  63 74 69 6f 6e 25 29 20  8b 20 6e 61 73 25 3d bb  |ction%) . nas%=.|
00002850  28 6e 61 73 24 29 0d 0d  98 3a 20 20 20 20 61 63  |(nas$)...:    ac|
00002860  74 69 6f 6e 24 28 65 64  61 63 74 69 6f 6e 25 29  |tion$(edaction%)|
00002870  3d 61 63 74 69 6f 6e 24  3a 61 63 74 69 6f 6e 25  |=action$:action%|
00002880  28 65 64 61 63 74 69 6f  6e 25 29 3d 6e 61 73 25  |(edaction%)=nas%|
00002890  0d 0d a2 36 20 20 20 20  e7 20 61 63 74 69 6f 6e  |...6    . action|
000028a0  24 28 65 64 61 63 74 69  6f 6e 25 29 3d 22 22 20  |$(edaction%)="" |
000028b0  8c 20 61 63 74 69 6f 6e  25 28 65 64 61 63 74 69  |. action%(edacti|
000028c0  6f 6e 25 29 3d 30 0d 0d  ac 2f 20 20 20 20 e7 20  |on%)=0.../    . |
000028d0  65 64 61 63 74 69 6f 6e  25 3e 61 63 74 69 6f 6e  |edaction%>action|
000028e0  25 20 8c 20 61 63 74 69  6f 6e 25 3d 65 64 61 63  |% . action%=edac|
000028f0  74 69 6f 6e 25 0d 0d b6  07 20 20 cb 0d 0d c0 0e  |tion%....  .....|
00002900  fd 20 61 63 6f 70 74 25  3d 36 0d 0d ca 05 e1 0d  |. acopt%=6......|
00002910  0d d4 05 3a 0d 0d de 19  dd f2 73 68 6f 77 61 63  |...:......showac|
00002920  74 69 6f 6e 73 28 65 64  61 63 74 25 29 0d 0d e8  |tions(edact%)...|
00002930  22 61 63 62 6c 6b 25 3d  28 28 65 64 61 63 74 69  |"acblk%=((edacti|
00002940  6f 6e 25 2d 31 29 20 81  20 31 35 29 2a 31 35 0d  |on%-1) . 15)*15.|
00002950  0d f2 05 db 0d 0d fc 27  f2 74 69 74 6c 65 28 22  |.......'.title("|
00002960  45 64 69 74 20 61 63 74  69 6f 6e 20 77 6f 72 64  |Edit action word|
00002970  20 6c 69 73 74 22 2c 37  2c 32 29 0d 0e 06 54 fb  | list",7,2)...T.|
00002980  20 37 3a f1 8a 31 2c 34  29 3b 22 45 64 69 74 69  | 7:..1,4);"Editi|
00002990  6e 67 20 61 63 74 69 6f  6e 20 77 6f 72 64 20 22  |ng action word "|
000029a0  3b 65 64 61 63 74 69 6f  6e 25 3b 22 20 6f 75 74  |;edaction%;" out|
000029b0  20 6f 66 20 32 35 35 20  28 22 3b 61 63 74 69 6f  | of 255 (";actio|
000029c0  6e 25 3b 22 20 64 65 66  69 6e 65 64 29 2e 22 0d  |n%;" defined).".|
000029d0  0e 10 55 f1 8a 35 2c 37  29 3b 22 4f 6c 64 20 61  |..U..5,7);"Old a|
000029e0  63 74 69 6f 6e 20 77 6f  72 64 22 3b 8a 32 39 2c  |ction word";.29,|
000029f0  37 29 3b 22 4f 6c 64 20  49 44 22 3b 8a 34 34 2c  |7);"Old ID";.44,|
00002a00  37 29 3b 22 4e 65 77 20  61 63 74 69 6f 6e 20 77  |7);"New action w|
00002a10  6f 72 64 22 3b 8a 36 39  2c 37 29 3b 22 4e 65 77  |ord";.69,7);"New|
00002a20  20 49 44 22 0d 0e 1a 07  fb 20 33 0d 0e 24 0f e3  | ID"..... 3..$..|
00002a30  20 49 25 3d 31 20 b8 20  31 35 0d 0e 2e 0b 20 20  | I%=1 . 15....  |
00002a40  fb 20 31 32 38 0d 0e 38  23 20 20 f1 8a 32 39 2c  |. 128..8#  ..29,|
00002a50  49 25 2b 37 29 3b 61 63  74 69 6f 6e 25 28 61 63  |I%+7);action%(ac|
00002a60  62 6c 6b 25 2b 49 25 29  0d 0e 42 1d 20 20 e7 20  |blk%+I%)..B.  . |
00002a70  61 63 62 6c 6b 25 2b 49  25 3d 65 64 61 63 74 69  |acblk%+I%=edacti|
00002a80  6f 6e 25 20 8c 0d 0e 4c  18 20 20 20 20 fb 20 31  |on% ...L.    . 1|
00002a90  33 32 3a f1 8a 32 2c 49  25 2b 37 29 3b 0d 0e 56  |32:..2,I%+7);..V|
00002aa0  22 20 20 20 20 e7 20 61  63 74 69 6f 6e 24 28 65  |"    . action$(e|
00002ab0  64 61 63 74 69 6f 6e 25  29 3c 3e 22 22 20 8c 0d  |daction%)<>"" ..|
00002ac0  0e 60 42 20 20 20 20 20  20 f1 20 89 28 a9 28 61  |.`B      . .(.(a|
00002ad0  63 74 69 6f 6e 24 28 65  64 61 63 74 69 6f 6e 25  |ction$(edaction%|
00002ae0  29 29 2b 36 29 3b 8a 35  2c 49 25 2b 37 29 3b 61  |))+6);.5,I%+7);a|
00002af0  63 74 69 6f 6e 24 28 65  64 61 63 74 69 6f 6e 25  |ction$(edaction%|
00002b00  29 0d 0e 6a 09 20 20 20  20 cc 0d 0e 74 36 20 20  |)..j.    ...t6  |
00002b10  20 20 20 20 f1 20 89 28  33 31 29 3b 8a 35 2c 49  |    . .(31);.5,I|
00002b20  25 2b 37 29 3b 22 2a 2a  20 43 55 52 52 45 4e 54  |%+7);"** CURRENT|
00002b30  4c 59 20 55 4e 44 45 46  49 4e 45 44 20 2a 2a 22  |LY UNDEFINED **"|
00002b40  0d 0e 7e 09 20 20 20 20  cd 0d 0e 88 07 20 20 cc  |..~.    .....  .|
00002b50  0d 0e 92 22 20 20 20 20  e7 20 61 63 74 69 6f 6e  |..."    . action|
00002b60  24 28 61 63 62 6c 6b 25  2b 49 25 29 3c 3e 22 22  |$(acblk%+I%)<>""|
00002b70  20 8c 0d 0e 9c 26 20 20  20 20 20 20 f1 8a 35 2c  | ....&      ..5,|
00002b80  49 25 2b 37 29 3b 61 63  74 69 6f 6e 24 28 61 63  |I%+7);action$(ac|
00002b90  62 6c 6b 25 2b 49 25 29  0d 0e a6 09 20 20 20 20  |blk%+I%)....    |
00002ba0  cc 0d 0e b0 2f 20 20 20  20 20 20 f1 8a 35 2c 49  |..../      ..5,I|
00002bb0  25 2b 37 29 3b 22 2a 2a  20 43 55 52 52 45 4e 54  |%+7);"** CURRENT|
00002bc0  4c 59 20 55 4e 44 45 46  49 4e 45 44 20 2a 2a 22  |LY UNDEFINED **"|
00002bd0  0d 0e ba 09 20 20 20 20  cd 0d 0e c4 07 20 20 cd  |....    .....  .|
00002be0  0d 0e ce 05 ed 0d 0e d8  0d fb 20 35 3a fb 20 31  |.......... 5:. 1|
00002bf0  32 38 0d 0e e2 52 f1 8a  31 2c 32 39 29 3b 22 28  |28...R..1,29);"(|
00002c00  4e 29 65 78 74 2c 20 28  50 29 72 65 76 69 6f 75  |N)ext, (P)reviou|
00002c10  73 2c 20 28 46 29 6f 72  77 61 72 64 20 61 20 70  |s, (F)orward a p|
00002c20  61 67 65 2c 20 28 42 29  61 63 6b 20 61 20 70 61  |age, (B)ack a pa|
00002c30  67 65 2c 20 28 45 29 64  69 74 2c 20 28 44 29 6f  |ge, (E)dit, (D)o|
00002c40  6e 65 22 3b 0d 0e ec 05  e1 0d 0e f6 05 3a 0d 0f  |ne";.........:..|
00002c50  00 0d dd f2 65 64 6e 6f  75 6e 73 0d 0f 0a 05 f5  |....ednouns.....|
00002c60  0d 0f 14 19 20 20 f2 73  68 6f 77 6e 6f 75 6e 73  |....  .shownouns|
00002c70  28 65 64 6e 6f 75 6e 25  29 0d 0f 1e 07 20 20 f5  |(ednoun%)....  .|
00002c80  0d 0f 28 0c 20 20 20 20  41 24 3d be 0d 0f 32 1d  |..(.    A$=...2.|
00002c90  20 20 fd 20 a7 22 4e 6e  50 70 46 66 42 62 45 65  |  . ."NnPpFfBbEe|
00002ca0  44 64 22 2c 41 24 29 3e  30 0d 0f 3c 26 20 20 6e  |Dd",A$)>0..<&  n|
00002cb0  6e 6f 70 74 25 3d 28 a7  22 4e 6e 50 70 46 66 42  |nopt%=(."NnPpFfB|
00002cc0  62 45 65 44 64 22 2c 41  24 29 2b 31 29 2f 32 0d  |bEeDd",A$)+1)/2.|
00002cd0  0f 46 11 20 20 c8 8e 20  6e 6e 6f 70 74 25 20 ca  |.F.  .. nnopt% .|
00002ce0  0d 0f 50 0a 20 20 c9 20  31 3a 0d 0f 5a 2c 20 20  |..P.  . 1:..Z,  |
00002cf0  20 20 65 64 6e 6f 75 6e  25 2b 3d 31 3a e7 20 65  |  ednoun%+=1:. e|
00002d00  64 6e 6f 75 6e 25 3e 32  35 35 20 8c 20 65 64 6e  |dnoun%>255 . edn|
00002d10  6f 75 6e 25 3d 31 0d 0f  64 0a 20 20 c9 20 32 3a  |oun%=1..d.  . 2:|
00002d20  0d 0f 6e 2c 20 20 20 20  65 64 6e 6f 75 6e 25 2d  |..n,    ednoun%-|
00002d30  3d 31 3a e7 20 65 64 6e  6f 75 6e 25 3c 31 20 8c  |=1:. ednoun%<1 .|
00002d40  20 65 64 6e 6f 75 6e 25  3d 32 35 35 0d 0f 78 0a  | ednoun%=255..x.|
00002d50  20 20 c9 20 33 3a 0d 0f  82 2d 20 20 20 20 65 64  |  . 3:...-    ed|
00002d60  6e 6f 75 6e 25 2b 3d 31  35 3a e7 20 65 64 6e 6f  |noun%+=15:. edno|
00002d70  75 6e 25 3e 32 35 35 20  8c 20 65 64 6e 6f 75 6e  |un%>255 . ednoun|
00002d80  25 3d 31 0d 0f 8c 0a 20  20 c9 20 34 3a 0d 0f 96  |%=1....  . 4:...|
00002d90  2d 20 20 20 20 65 64 6e  6f 75 6e 25 2d 3d 31 35  |-    ednoun%-=15|
00002da0  3a e7 20 65 64 6e 6f 75  6e 25 3c 31 20 8c 20 65  |:. ednoun%<1 . e|
00002db0  64 6e 6f 75 6e 25 3d 32  35 35 0d 0f a0 0a 20 20  |dnoun%=255....  |
00002dc0  c9 20 35 3a 0d 0f aa 5f  20 20 20 20 6e 6f 75 6e  |. 5:..._    noun|
00002dd0  24 3d a4 69 6e 70 75 74  28 33 39 2c 38 2b 28 28  |$=.input(39,8+((|
00002de0  65 64 6e 6f 75 6e 25 2d  31 29 20 83 20 31 35 29  |ednoun%-1) . 15)|
00002df0  2c 22 3d 3d 3e 22 2c 37  2c 22 30 31 32 33 34 35  |,"==>",7,"012345|
00002e00  36 37 38 39 41 42 43 44  45 46 47 48 49 4a 4b 4c  |6789ABCDEFGHIJKL|
00002e10  4d 4e 4f 50 51 52 53 54  55 56 57 58 59 5a 22 2c  |MNOPQRSTUVWXYZ",|
00002e20  32 30 29 0d 0f b4 43 20  20 20 20 6e 6e 73 24 3d  |20)...C    nns$=|
00002e30  a4 69 6e 70 75 74 28 36  39 2c 38 2b 28 28 65 64  |.input(69,8+((ed|
00002e40  6e 6f 75 6e 25 2d 31 29  20 83 20 31 35 29 2c 22  |noun%-1) . 15),"|
00002e50  3d 3d 3e 22 2c 37 2c 22  30 31 32 33 34 35 36 37  |==>",7,"01234567|
00002e60  38 39 22 2c 33 29 0d 0f  be 29 20 20 20 20 e7 20  |89",3)...)    . |
00002e70  6e 6f 75 6e 24 3d 22 22  20 8c 20 6e 6f 75 6e 24  |noun$="" . noun$|
00002e80  3d 6e 6f 75 6e 24 28 65  64 6e 6f 75 6e 25 29 0d  |=noun$(ednoun%).|
00002e90  0f c8 44 20 20 20 20 e7  20 6e 6e 73 24 3d 22 22  |..D    . nns$=""|
00002ea0  20 84 20 bb 28 6e 6e 73  24 29 3e 32 35 35 20 8c  | . .(nns$)>255 .|
00002eb0  20 6e 6e 73 25 3d 6e 6f  75 6e 25 28 65 64 6e 6f  | nns%=noun%(edno|
00002ec0  75 6e 25 29 20 8b 20 6e  6e 73 25 3d bb 28 6e 6e  |un%) . nns%=.(nn|
00002ed0  73 24 29 0d 0f d2 30 20  20 20 20 6e 6f 75 6e 24  |s$)...0    noun$|
00002ee0  28 65 64 6e 6f 75 6e 25  29 3d 6e 6f 75 6e 24 3a  |(ednoun%)=noun$:|
00002ef0  6e 6f 75 6e 25 28 65 64  6e 6f 75 6e 25 29 3d 6e  |noun%(ednoun%)=n|
00002f00  6e 73 25 0d 0f dc 2e 20  20 20 20 e7 20 6e 6f 75  |ns%....    . nou|
00002f10  6e 24 28 65 64 6e 6f 75  6e 25 29 3d 22 22 20 8c  |n$(ednoun%)="" .|
00002f20  20 6e 6f 75 6e 25 28 65  64 6e 6f 75 6e 25 29 3d  | noun%(ednoun%)=|
00002f30  30 0d 0f e6 27 20 20 20  20 e7 20 65 64 6e 6f 75  |0...'    . ednou|
00002f40  6e 25 3e 6e 6f 75 6e 25  20 8c 20 6e 6f 75 6e 25  |n%>noun% . noun%|
00002f50  3d 65 64 6e 6f 75 6e 25  0d 0f f0 07 20 20 cb 0d  |=ednoun%....  ..|
00002f60  0f fa 0e fd 20 6e 6e 6f  70 74 25 3d 36 0d 10 04  |.... nnopt%=6...|
00002f70  05 e1 0d 10 0e 05 3a 0d  10 18 18 dd f2 73 68 6f  |......:......sho|
00002f80  77 6e 6f 75 6e 73 28 65  64 6e 6f 75 6e 25 29 0d  |wnouns(ednoun%).|
00002f90  10 22 20 6e 6e 62 6c 6b  25 3d 28 28 65 64 6e 6f  |." nnblk%=((edno|
00002fa0  75 6e 25 2d 31 29 20 81  20 31 35 29 2a 31 35 0d  |un%-1) . 15)*15.|
00002fb0  10 2c 05 db 0d 10 36 25  f2 74 69 74 6c 65 28 22  |.,....6%.title("|
00002fc0  45 64 69 74 20 6e 6f 75  6e 20 77 6f 72 64 20 6c  |Edit noun word l|
00002fd0  69 73 74 22 2c 37 2c 32  29 0d 10 40 4e fb 20 37  |ist",7,2)..@N. 7|
00002fe0  3a f1 8a 31 2c 34 29 3b  22 45 64 69 74 69 6e 67  |:..1,4);"Editing|
00002ff0  20 6e 6f 75 6e 20 77 6f  72 64 20 22 3b 65 64 6e  | noun word ";edn|
00003000  6f 75 6e 25 3b 22 20 6f  75 74 20 6f 66 20 32 35  |oun%;" out of 25|
00003010  35 20 28 22 3b 6e 6f 75  6e 25 3b 22 20 64 65 66  |5 (";noun%;" def|
00003020  69 6e 65 64 29 2e 22 0d  10 4a 47 f1 8a 35 2c 37  |ined)."..JG..5,7|
00003030  29 3b 22 4f 6c 64 20 6e  6f 75 6e 22 3b 8a 32 39  |);"Old noun";.29|
00003040  2c 37 29 3b 22 4f 6c 64  20 49 44 22 3b 8a 34 34  |,7);"Old ID";.44|
00003050  2c 37 29 3b 22 4e 65 77  20 6e 6f 75 6e 22 3b 8a  |,7);"New noun";.|
00003060  36 39 2c 37 29 3b 22 4e  65 77 20 49 44 22 0d 10  |69,7);"New ID"..|
00003070  54 07 fb 20 33 0d 10 5e  0f e3 20 49 25 3d 31 20  |T.. 3..^.. I%=1 |
00003080  b8 20 31 35 0d 10 68 0b  20 20 fb 20 31 32 38 0d  |. 15..h.  . 128.|
00003090  10 72 21 20 20 f1 8a 32  39 2c 49 25 2b 37 29 3b  |.r!  ..29,I%+7);|
000030a0  6e 6f 75 6e 25 28 6e 6e  62 6c 6b 25 2b 49 25 29  |noun%(nnblk%+I%)|
000030b0  0d 10 7c 1b 20 20 e7 20  6e 6e 62 6c 6b 25 2b 49  |..|.  . nnblk%+I|
000030c0  25 3d 65 64 6e 6f 75 6e  25 20 8c 0d 10 86 18 20  |%=ednoun% ..... |
000030d0  20 20 20 fb 20 31 33 32  3a f1 8a 32 2c 49 25 2b  |   . 132:..2,I%+|
000030e0  37 29 3b 0d 10 90 1e 20  20 20 20 e7 20 6e 6f 75  |7);....    . nou|
000030f0  6e 24 28 65 64 6e 6f 75  6e 25 29 3c 3e 22 22 20  |n$(ednoun%)<>"" |
00003100  8c 0d 10 9a 3a 20 20 20  20 20 20 f1 20 89 28 a9  |....:      . .(.|
00003110  28 6e 6f 75 6e 24 28 65  64 6e 6f 75 6e 25 29 29  |(noun$(ednoun%))|
00003120  2b 36 29 3b 8a 35 2c 49  25 2b 37 29 3b 6e 6f 75  |+6);.5,I%+7);nou|
00003130  6e 24 28 65 64 6e 6f 75  6e 25 29 0d 10 a4 09 20  |n$(ednoun%).... |
00003140  20 20 20 cc 0d 10 ae 36  20 20 20 20 20 20 f1 20  |   ....6      . |
00003150  89 28 33 31 29 3b 8a 35  2c 49 25 2b 37 29 3b 22  |.(31);.5,I%+7);"|
00003160  2a 2a 20 43 55 52 52 45  4e 54 4c 59 20 55 4e 44  |** CURRENTLY UND|
00003170  45 46 49 4e 45 44 20 2a  2a 22 0d 10 b8 09 20 20  |EFINED **"....  |
00003180  20 20 cd 0d 10 c2 07 20  20 cc 0d 10 cc 20 20 20  |  .....  ....   |
00003190  20 20 e7 20 6e 6f 75 6e  24 28 6e 6e 62 6c 6b 25  |  . noun$(nnblk%|
000031a0  2b 49 25 29 3c 3e 22 22  20 8c 0d 10 d6 24 20 20  |+I%)<>"" ....$  |
000031b0  20 20 20 20 f1 8a 35 2c  49 25 2b 37 29 3b 6e 6f  |    ..5,I%+7);no|
000031c0  75 6e 24 28 6e 6e 62 6c  6b 25 2b 49 25 29 0d 10  |un$(nnblk%+I%)..|
000031d0  e0 09 20 20 20 20 cc 0d  10 ea 2f 20 20 20 20 20  |..    ..../     |
000031e0  20 f1 8a 35 2c 49 25 2b  37 29 3b 22 2a 2a 20 43  | ..5,I%+7);"** C|
000031f0  55 52 52 45 4e 54 4c 59  20 55 4e 44 45 46 49 4e  |URRENTLY UNDEFIN|
00003200  45 44 20 2a 2a 22 0d 10  f4 09 20 20 20 20 cd 0d  |ED **"....    ..|
00003210  10 fe 07 20 20 cd 0d 11  08 05 ed 0d 11 12 0d fb  |...  ...........|
00003220  20 35 3a fb 20 31 32 38  0d 11 1c 52 f1 8a 31 2c  | 5:. 128...R..1,|
00003230  32 39 29 3b 22 28 4e 29  65 78 74 2c 20 28 50 29  |29);"(N)ext, (P)|
00003240  72 65 76 69 6f 75 73 2c  20 28 46 29 6f 72 77 61  |revious, (F)orwa|
00003250  72 64 20 61 20 70 61 67  65 2c 20 28 42 29 61 63  |rd a page, (B)ac|
00003260  6b 20 61 20 70 61 67 65  2c 20 28 45 29 64 69 74  |k a page, (E)dit|
00003270  2c 20 28 44 29 6f 6e 65  22 3b 0d 11 26 05 e1 0d  |, (D)one";..&...|
00003280  11 30 05 3a 0d 11 3a 0d  dd f2 70 75 7a 7a 6c 65  |.0.:..:...puzzle|
00003290  73 0d 11 44 05 f5 0d 11  4e 19 20 20 f2 73 68 6f  |s..D....N.  .sho|
000032a0  77 70 75 7a 7a 6c 65 28  65 64 70 75 7a 25 29 0d  |wpuzzle(edpuz%).|
000032b0  11 58 07 20 20 f5 0d 11  62 0c 20 20 20 20 41 24  |.X.  ...b.    A$|
000032c0  3d be 0d 11 6c 1d 20 20  fd 20 a7 22 4e 6e 50 70  |=...l.  . ."NnPp|
000032d0  46 66 4c 6c 45 65 44 64  22 2c 41 24 29 3e 30 0d  |FfLlEeDd",A$)>0.|
000032e0  11 76 27 20 20 70 75 7a  6f 70 74 25 3d 28 a7 22  |.v'  puzopt%=(."|
000032f0  4e 6e 50 70 46 66 4c 6c  45 65 44 64 22 2c 41 24  |NnPpFfLlEeDd",A$|
00003300  29 2b 31 29 2f 32 0d 11  80 12 20 20 c8 8e 20 70  |)+1)/2....  .. p|
00003310  75 7a 6f 70 74 25 20 ca  0d 11 8a 0a 20 20 c9 20  |uzopt% .....  . |
00003320  31 3a 0d 11 94 29 20 20  20 20 65 64 70 75 7a 25  |1:...)    edpuz%|
00003330  2b 3d 31 3a e7 20 65 64  70 75 7a 25 3e 32 35 35  |+=1:. edpuz%>255|
00003340  20 8c 20 65 64 70 75 7a  25 3d 31 0d 11 9e 0a 20  | . edpuz%=1.... |
00003350  20 c9 20 32 3a 0d 11 a8  29 20 20 20 20 65 64 70  | . 2:...)    edp|
00003360  75 7a 25 2d 3d 31 3a e7  20 65 64 70 75 7a 25 3c  |uz%-=1:. edpuz%<|
00003370  31 20 8c 20 65 64 70 75  7a 25 3d 32 35 35 0d 11  |1 . edpuz%=255..|
00003380  b2 0a 20 20 c9 20 33 3a  0d 11 bc 10 20 20 20 20  |..  . 3:....    |
00003390  65 64 70 75 7a 25 3d 31  0d 11 c6 0a 20 20 c9 20  |edpuz%=1....  . |
000033a0  34 3a 0d 11 d0 13 20 20  20 20 65 64 70 75 7a 25  |4:....    edpuz%|
000033b0  3d 70 75 7a 25 0d 11 da  0a 20 20 c9 20 35 3a 0d  |=puz%....  . 5:.|
000033c0  11 e4 20 20 20 20 20 70  25 3d 70 75 7a 7a 6c 65  |..     p%=puzzle|
000033d0  25 2b 28 65 64 70 75 7a  25 2d 31 29 2a 33 36 0d  |%+(edpuz%-1)*36.|
000033e0  11 ee 43 20 20 20 20 70  25 3f 30 3d a4 76 61 6c  |..C    p%?0=.val|
000033f0  69 64 62 28 a4 69 6e 70  75 74 28 32 34 2c 31 30  |idb(.input(24,10|
00003400  2c 22 3d 3d 3e 22 2c 37  2c 22 30 31 32 33 34 35  |,"==>",7,"012345|
00003410  36 37 38 39 22 2c 33 29  2c 30 2c 65 64 70 75 7a  |6789",3),0,edpuz|
00003420  25 29 0d 11 f8 43 20 20  20 20 70 25 3f 31 3d a4  |%)...C    p%?1=.|
00003430  76 61 6c 69 64 62 28 a4  69 6e 70 75 74 28 32 34  |validb(.input(24|
00003440  2c 31 31 2c 22 3d 3d 3e  22 2c 37 2c 22 30 31 32  |,11,"==>",7,"012|
00003450  33 34 35 36 37 38 39 22  2c 33 29 2c 31 2c 65 64  |3456789",3),1,ed|
00003460  70 75 7a 25 29 0d 12 02  43 20 20 20 20 70 25 3f  |puz%)...C    p%?|
00003470  32 3d a4 76 61 6c 69 64  62 28 a4 69 6e 70 75 74  |2=.validb(.input|
00003480  28 32 34 2c 31 32 2c 22  3d 3d 3e 22 2c 37 2c 22  |(24,12,"==>",7,"|
00003490  30 31 32 33 34 35 36 37  38 39 22 2c 33 29 2c 32  |0123456789",3),2|
000034a0  2c 65 64 70 75 7a 25 29  0d 12 0c 43 20 20 20 20  |,edpuz%)...C    |
000034b0  70 25 3f 33 3d a4 76 61  6c 69 64 62 28 a4 69 6e  |p%?3=.validb(.in|
000034c0  70 75 74 28 32 34 2c 31  33 2c 22 3d 3d 3e 22 2c  |put(24,13,"==>",|
000034d0  37 2c 22 30 31 32 33 34  35 36 37 38 39 22 2c 33  |7,"0123456789",3|
000034e0  29 2c 33 2c 65 64 70 75  7a 25 29 0d 12 16 43 20  |),3,edpuz%)...C |
000034f0  20 20 20 70 25 3f 34 3d  a4 76 61 6c 69 64 62 28  |   p%?4=.validb(|
00003500  a4 69 6e 70 75 74 28 32  34 2c 31 34 2c 22 3d 3d  |.input(24,14,"==|
00003510  3e 22 2c 37 2c 22 30 31  32 33 34 35 36 37 38 39  |>",7,"0123456789|
00003520  22 2c 33 29 2c 34 2c 65  64 70 75 7a 25 29 0d 12  |",3),4,edpuz%)..|
00003530  20 43 20 20 20 20 70 25  3f 35 3d a4 76 61 6c 69  | C    p%?5=.vali|
00003540  64 62 28 a4 69 6e 70 75  74 28 32 34 2c 31 35 2c  |db(.input(24,15,|
00003550  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 33 34 35 36  |"==>",7,"0123456|
00003560  37 38 39 22 2c 33 29 2c  35 2c 65 64 70 75 7a 25  |789",3),5,edpuz%|
00003570  29 0d 12 2a 39 20 20 20  20 70 25 3f 36 3d a4 73  |)..*9    p%?6=.s|
00003580  74 61 74 28 a4 69 6e 70  75 74 28 32 34 2c 31 36  |tat(.input(24,16|
00003590  2c 22 3d 3d 3e 22 2c 37  2c 22 30 31 22 2c 31 29  |,"==>",7,"01",1)|
000035a0  2c 36 2c 65 64 70 75 7a  25 29 0d 12 34 43 20 20  |,6,edpuz%)..4C  |
000035b0  20 20 70 25 3f 37 3d a4  76 61 6c 69 64 62 28 a4  |  p%?7=.validb(.|
000035c0  69 6e 70 75 74 28 32 34  2c 31 37 2c 22 3d 3d 3e  |input(24,17,"==>|
000035d0  22 2c 37 2c 22 30 31 32  33 34 35 36 37 38 39 22  |",7,"0123456789"|
000035e0  2c 33 29 2c 37 2c 65 64  70 75 7a 25 29 0d 12 3e  |,3),7,edpuz%)..>|
000035f0  39 20 20 20 20 70 25 3f  38 3d a4 73 74 61 74 28  |9    p%?8=.stat(|
00003600  a4 69 6e 70 75 74 28 32  34 2c 31 38 2c 22 3d 3d  |.input(24,18,"==|
00003610  3e 22 2c 37 2c 22 30 31  22 2c 31 29 2c 38 2c 65  |>",7,"01",1),8,e|
00003620  64 70 75 7a 25 29 0d 12  48 47 20 20 20 20 70 25  |dpuz%)..HG    p%|
00003630  3f 39 3d a4 76 61 6c 69  64 28 a4 69 6e 70 75 74  |?9=.valid(.input|
00003640  28 32 34 2c 31 39 2c 22  3d 3d 3e 22 2c 37 2c 22  |(24,19,"==>",7,"|
00003650  30 31 32 33 34 35 36 37  38 39 22 2c 33 29 2c 39  |0123456789",3),9|
00003660  2c 6f 62 6a 25 2c 65 64  70 75 7a 25 29 0d 12 52  |,obj%,edpuz%)..R|
00003670  3f 20 20 20 20 70 25 3f  31 30 3d a4 73 74 61 74  |?    p%?10=.stat|
00003680  28 a4 69 6e 70 75 74 28  32 34 2c 32 30 2c 22 3d  |(.input(24,20,"=|
00003690  3d 3e 22 2c 37 2c 22 30  31 32 33 34 35 22 2c 31  |=>",7,"012345",1|
000036a0  29 2c 31 30 2c 65 64 70  75 7a 25 29 0d 12 5c 4a  |),10,edpuz%)..\J|
000036b0  20 20 20 20 70 25 3f 31  31 3d a4 76 61 6c 69 64  |    p%?11=.valid|
000036c0  28 a4 69 6e 70 75 74 28  32 34 2c 32 31 2c 22 3d  |(.input(24,21,"=|
000036d0  3d 3e 22 2c 37 2c 22 30  31 32 33 34 35 36 37 38  |=>",7,"012345678|
000036e0  39 22 2c 33 29 2c 31 31  2c 72 6f 6f 6d 25 2c 65  |9",3),11,room%,e|
000036f0  64 70 75 7a 25 29 0d 12  66 49 20 20 20 20 70 25  |dpuz%)..fI    p%|
00003700  3f 31 32 3d a4 76 61 6c  69 64 28 a4 69 6e 70 75  |?12=.valid(.inpu|
00003710  74 28 32 34 2c 32 32 2c  22 3d 3d 3e 22 2c 37 2c  |t(24,22,"==>",7,|
00003720  22 30 31 32 33 34 35 36  37 38 39 22 2c 33 29 2c  |"0123456789",3),|
00003730  31 32 2c 6f 62 6a 25 2c  65 64 70 75 7a 25 29 0d  |12,obj%,edpuz%).|
00003740  12 70 3f 20 20 20 20 70  25 3f 31 33 3d a4 73 74  |.p?    p%?13=.st|
00003750  61 74 28 a4 69 6e 70 75  74 28 32 34 2c 32 33 2c  |at(.input(24,23,|
00003760  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 33 34 35 22  |"==>",7,"012345"|
00003770  2c 31 29 2c 31 33 2c 65  64 70 75 7a 25 29 0d 12  |,1),13,edpuz%)..|
00003780  7a 4a 20 20 20 20 70 25  3f 31 34 3d a4 76 61 6c  |zJ    p%?14=.val|
00003790  69 64 28 a4 69 6e 70 75  74 28 32 34 2c 32 34 2c  |id(.input(24,24,|
000037a0  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 33 34 35 36  |"==>",7,"0123456|
000037b0  37 38 39 22 2c 33 29 2c  31 34 2c 72 6f 6f 6d 25  |789",3),14,room%|
000037c0  2c 65 64 70 75 7a 25 29  0d 12 84 49 20 20 20 20  |,edpuz%)...I    |
000037d0  70 25 3f 31 35 3d a4 76  61 6c 69 64 28 a4 69 6e  |p%?15=.valid(.in|
000037e0  70 75 74 28 32 34 2c 32  35 2c 22 3d 3d 3e 22 2c  |put(24,25,"==>",|
000037f0  37 2c 22 30 31 32 33 34  35 36 37 38 39 22 2c 33  |7,"0123456789",3|
00003800  29 2c 31 35 2c 6f 62 6a  25 2c 65 64 70 75 7a 25  |),15,obj%,edpuz%|
00003810  29 0d 12 8e 3f 20 20 20  20 70 25 3f 31 36 3d a4  |)...?    p%?16=.|
00003820  73 74 61 74 28 a4 69 6e  70 75 74 28 32 34 2c 32  |stat(.input(24,2|
00003830  36 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 34  |6,"==>",7,"01234|
00003840  35 22 2c 31 29 2c 31 36  2c 65 64 70 75 7a 25 29  |5",1),16,edpuz%)|
00003850  0d 12 98 4a 20 20 20 20  70 25 3f 31 37 3d a4 76  |...J    p%?17=.v|
00003860  61 6c 69 64 28 a4 69 6e  70 75 74 28 32 34 2c 32  |alid(.input(24,2|
00003870  37 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 34  |7,"==>",7,"01234|
00003880  35 36 37 38 39 22 2c 33  29 2c 31 37 2c 72 6f 6f  |56789",3),17,roo|
00003890  6d 25 2c 65 64 70 75 7a  25 29 0d 12 a2 45 20 20  |m%,edpuz%)...E  |
000038a0  20 20 70 25 3f 31 38 3d  a4 76 61 6c 69 64 62 28  |  p%?18=.validb(|
000038b0  a4 69 6e 70 75 74 28 36  33 2c 31 30 2c 22 3d 3d  |.input(63,10,"==|
000038c0  3e 22 2c 37 2c 22 30 31  32 33 34 35 36 37 38 39  |>",7,"0123456789|
000038d0  22 2c 33 29 2c 31 38 2c  65 64 70 75 7a 25 29 0d  |",3),18,edpuz%).|
000038e0  12 ac 3c 20 20 20 20 70  25 3f 31 39 3d a4 73 74  |..<    p%?19=.st|
000038f0  61 74 28 a4 69 6e 70 75  74 28 36 33 2c 31 31 2c  |at(.input(63,11,|
00003900  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 22 2c 33 29  |"==>",7,"012",3)|
00003910  2c 31 39 2c 65 64 70 75  7a 25 29 0d 12 b6 45 20  |,19,edpuz%)...E |
00003920  20 20 20 70 25 3f 32 30  3d a4 76 61 6c 69 64 62  |   p%?20=.validb|
00003930  28 a4 69 6e 70 75 74 28  36 33 2c 31 32 2c 22 3d  |(.input(63,12,"=|
00003940  3d 3e 22 2c 37 2c 22 30  31 32 33 34 35 36 37 38  |=>",7,"012345678|
00003950  39 22 2c 33 29 2c 32 30  2c 65 64 70 75 7a 25 29  |9",3),20,edpuz%)|
00003960  0d 12 c0 3c 20 20 20 20  70 25 3f 32 31 3d a4 73  |...<    p%?21=.s|
00003970  74 61 74 28 a4 69 6e 70  75 74 28 36 33 2c 31 33  |tat(.input(63,13|
00003980  2c 22 3d 3d 3e 22 2c 37  2c 22 30 31 32 22 2c 33  |,"==>",7,"012",3|
00003990  29 2c 32 31 2c 65 64 70  75 7a 25 29 0d 12 ca 4a  |),21,edpuz%)...J|
000039a0  20 20 20 20 70 25 3f 32  32 3d a4 76 61 6c 69 64  |    p%?22=.valid|
000039b0  28 a4 69 6e 70 75 74 28  36 33 2c 31 34 2c 22 3d  |(.input(63,14,"=|
000039c0  3d 3e 22 2c 37 2c 22 30  31 32 33 34 35 36 37 38  |=>",7,"012345678|
000039d0  39 22 2c 33 29 2c 32 32  2c 72 6f 6f 6d 25 2c 65  |9",3),22,room%,e|
000039e0  64 70 75 7a 25 29 0d 12  d4 40 20 20 20 20 70 25  |dpuz%)...@    p%|
000039f0  3f 32 33 3d a4 73 74 61  74 28 a4 69 6e 70 75 74  |?23=.stat(.input|
00003a00  28 36 33 2c 31 35 2c 22  3d 3d 3e 22 2c 37 2c 22  |(63,15,"==>",7,"|
00003a10  30 31 32 33 34 35 36 22  2c 31 29 2c 32 33 2c 65  |0123456",1),23,e|
00003a20  64 70 75 7a 25 29 0d 12  de 4a 20 20 20 20 70 25  |dpuz%)...J    p%|
00003a30  3f 32 34 3d a4 76 61 6c  69 64 28 a4 69 6e 70 75  |?24=.valid(.inpu|
00003a40  74 28 36 33 2c 31 36 2c  22 3d 3d 3e 22 2c 37 2c  |t(63,16,"==>",7,|
00003a50  22 30 31 32 33 34 35 36  37 38 39 22 2c 33 29 2c  |"0123456789",3),|
00003a60  32 34 2c 72 6f 6f 6d 25  2c 65 64 70 75 7a 25 29  |24,room%,edpuz%)|
00003a70  0d 12 e8 4a 20 20 20 20  70 25 3f 32 35 3d a4 76  |...J    p%?25=.v|
00003a80  61 6c 69 64 28 a4 69 6e  70 75 74 28 36 33 2c 31  |alid(.input(63,1|
00003a90  37 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 34  |7,"==>",7,"01234|
00003aa0  35 36 37 38 39 22 2c 33  29 2c 32 35 2c 72 6f 6f  |56789",3),25,roo|
00003ab0  6d 25 2c 65 64 70 75 7a  25 29 0d 12 f2 40 20 20  |m%,edpuz%)...@  |
00003ac0  20 20 70 25 3f 32 36 3d  a4 73 74 61 74 28 a4 69  |  p%?26=.stat(.i|
00003ad0  6e 70 75 74 28 36 33 2c  31 38 2c 22 3d 3d 3e 22  |nput(63,18,"==>"|
00003ae0  2c 37 2c 22 30 31 32 33  34 35 36 22 2c 31 29 2c  |,7,"0123456",1),|
00003af0  32 36 2c 65 64 70 75 7a  25 29 0d 12 fc 4a 20 20  |26,edpuz%)...J  |
00003b00  20 20 70 25 3f 32 37 3d  a4 76 61 6c 69 64 28 a4  |  p%?27=.valid(.|
00003b10  69 6e 70 75 74 28 36 33  2c 31 39 2c 22 3d 3d 3e  |input(63,19,"==>|
00003b20  22 2c 37 2c 22 30 31 32  33 34 35 36 37 38 39 22  |",7,"0123456789"|
00003b30  2c 33 29 2c 32 37 2c 72  6f 6f 6d 25 2c 65 64 70  |,3),27,room%,edp|
00003b40  75 7a 25 29 0d 13 06 4a  20 20 20 20 70 25 3f 32  |uz%)...J    p%?2|
00003b50  38 3d a4 76 61 6c 69 64  28 a4 69 6e 70 75 74 28  |8=.valid(.input(|
00003b60  36 33 2c 32 30 2c 22 3d  3d 3e 22 2c 37 2c 22 30  |63,20,"==>",7,"0|
00003b70  31 32 33 34 35 36 37 38  39 22 2c 33 29 2c 32 38  |123456789",3),28|
00003b80  2c 74 65 78 74 25 2c 65  64 70 75 7a 25 29 0d 13  |,text%,edpuz%)..|
00003b90  10 4a 20 20 20 20 70 25  3f 32 39 3d a4 76 61 6c  |.J    p%?29=.val|
00003ba0  69 64 28 a4 69 6e 70 75  74 28 36 33 2c 32 31 2c  |id(.input(63,21,|
00003bb0  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 33 34 35 36  |"==>",7,"0123456|
00003bc0  37 38 39 22 2c 33 29 2c  32 39 2c 72 6f 6f 6d 25  |789",3),29,room%|
00003bd0  2c 65 64 70 75 7a 25 29  0d 13 1a 49 20 20 20 20  |,edpuz%)...I    |
00003be0  70 25 3f 33 30 3d a4 76  61 6c 69 64 28 a4 69 6e  |p%?30=.valid(.in|
00003bf0  70 75 74 28 36 33 2c 32  32 2c 22 3d 3d 3e 22 2c  |put(63,22,"==>",|
00003c00  37 2c 22 30 31 32 33 34  35 36 37 38 39 22 2c 33  |7,"0123456789",3|
00003c10  29 2c 33 30 2c 6f 62 6a  25 2c 65 64 70 75 7a 25  |),30,obj%,edpuz%|
00003c20  29 0d 13 24 3d 20 20 20  20 70 25 3f 33 31 3d a4  |)..$=    p%?31=.|
00003c30  73 74 61 74 28 a4 69 6e  70 75 74 28 36 33 2c 32  |stat(.input(63,2|
00003c40  33 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 22  |3,"==>",7,"0123"|
00003c50  2c 31 29 2c 33 31 2c 65  64 70 75 7a 25 29 0d 13  |,1),31,edpuz%)..|
00003c60  2e 45 20 20 20 20 70 25  3f 33 32 3d a4 76 61 6c  |.E    p%?32=.val|
00003c70  69 64 62 28 a4 69 6e 70  75 74 28 36 33 2c 32 34  |idb(.input(63,24|
00003c80  2c 22 3d 3d 3e 22 2c 37  2c 22 30 31 32 33 34 35  |,"==>",7,"012345|
00003c90  36 37 38 39 22 2c 33 29  2c 33 32 2c 65 64 70 75  |6789",3),32,edpu|
00003ca0  7a 25 29 0d 13 38 49 20  20 20 20 70 25 3f 33 33  |z%)..8I    p%?33|
00003cb0  3d a4 76 61 6c 69 64 28  a4 69 6e 70 75 74 28 36  |=.valid(.input(6|
00003cc0  33 2c 32 35 2c 22 3d 3d  3e 22 2c 37 2c 22 30 31  |3,25,"==>",7,"01|
00003cd0  32 33 34 35 36 37 38 39  22 2c 33 29 2c 33 33 2c  |23456789",3),33,|
00003ce0  6f 62 6a 25 2c 65 64 70  75 7a 25 29 0d 13 42 3d  |obj%,edpuz%)..B=|
00003cf0  20 20 20 20 70 25 3f 33  34 3d a4 73 74 61 74 28  |    p%?34=.stat(|
00003d00  a4 69 6e 70 75 74 28 36  33 2c 32 36 2c 22 3d 3d  |.input(63,26,"==|
00003d10  3e 22 2c 37 2c 22 30 31  32 33 22 2c 31 29 2c 33  |>",7,"0123",1),3|
00003d20  34 2c 65 64 70 75 7a 25  29 0d 13 4c 45 20 20 20  |4,edpuz%)..LE   |
00003d30  20 70 25 3f 33 35 3d a4  76 61 6c 69 64 62 28 a4  | p%?35=.validb(.|
00003d40  69 6e 70 75 74 28 36 33  2c 32 37 2c 22 3d 3d 3e  |input(63,27,"==>|
00003d50  22 2c 37 2c 22 30 31 32  33 34 35 36 37 38 39 22  |",7,"0123456789"|
00003d60  2c 33 29 2c 33 35 2c 65  64 70 75 7a 25 29 0d 13  |,3),35,edpuz%)..|
00003d70  56 23 20 20 20 20 e7 20  65 64 70 75 7a 25 3e 70  |V#    . edpuz%>p|
00003d80  75 7a 25 20 8c 20 70 75  7a 25 3d 65 64 70 75 7a  |uz% . puz%=edpuz|
00003d90  25 0d 13 60 07 20 20 cb  0d 13 6a 0f fd 20 70 75  |%..`.  ...j.. pu|
00003da0  7a 6f 70 74 25 3d 36 0d  13 74 05 e1 0d 13 7e 05  |zopt%=6..t....~.|
00003db0  3a 0d 13 88 17 dd a4 76  61 6c 69 64 62 28 6e 24  |:......validb(n$|
00003dc0  2c 62 25 2c 65 70 25 29  0d 13 92 19 e7 20 6e 24  |,b%,ep%)..... n$|
00003dd0  3d 22 22 20 84 20 bb 28  6e 24 29 3e 32 35 35 20  |="" . .(n$)>255 |
00003de0  8c 0d 13 9c 1e 20 20 3d  70 75 7a 7a 6c 65 25 3f  |.....  =puzzle%?|
00003df0  28 28 65 70 25 2d 31 29  2a 33 36 2b 62 25 29 0d  |((ep%-1)*36+b%).|
00003e00  13 a6 05 cd 0d 13 b0 0a  3d bb 28 6e 24 29 0d 13  |........=.(n$)..|
00003e10  ba 05 3a 0d 13 c4 19 dd  a4 76 61 6c 69 64 28 6e  |..:......valid(n|
00003e20  24 2c 62 25 2c 6d 25 2c  65 70 25 29 0d 13 ce 18  |$,b%,m%,ep%)....|
00003e30  e7 20 6e 24 3d 22 22 20  84 20 bb 28 6e 24 29 3e  |. n$="" . .(n$)>|
00003e40  6d 25 20 8c 0d 13 d8 1e  20 20 3d 70 75 7a 7a 6c  |m% .....  =puzzl|
00003e50  65 25 3f 28 28 65 70 25  2d 31 29 2a 33 36 2b 62  |e%?((ep%-1)*36+b|
00003e60  25 29 0d 13 e2 05 cd 0d  13 ec 0a 3d bb 28 6e 24  |%).........=.(n$|
00003e70  29 0d 13 f6 05 3a 0d 14  00 15 dd a4 73 74 61 74  |)....:......stat|
00003e80  28 73 24 2c 62 25 2c 65  70 25 29 0d 14 0a 26 e7  |(s$,b%,ep%)...&.|
00003e90  20 73 24 3d 22 22 20 8c  20 3d 70 75 7a 7a 6c 65  | s$="" . =puzzle|
00003ea0  25 3f 28 28 65 70 25 2d  31 29 2a 33 36 2b 62 25  |%?((ep%-1)*36+b%|
00003eb0  29 0d 14 14 0a 3d bb 28  73 24 29 0d 14 1e 05 3a  |)....=.(s$)....:|
00003ec0  0d 14 28 18 dd f2 73 68  6f 77 70 75 7a 7a 6c 65  |..(...showpuzzle|
00003ed0  28 65 64 70 75 7a 25 29  0d 14 32 05 db 0d 14 3c  |(edpuz%)..2....<|
00003ee0  27 f2 74 69 74 6c 65 28  22 45 64 69 74 20 70 75  |'.title("Edit pu|
00003ef0  7a 7a 6c 65 20 6c 69 6e  65 20 64 61 74 61 22 2c  |zzle line data",|
00003f00  35 2c 31 29 0d 14 46 4e  fb 20 37 3a f1 8a 31 2c  |5,1)..FN. 7:..1,|
00003f10  35 29 3b 22 45 64 69 74  69 6e 67 20 70 75 7a 7a  |5);"Editing puzz|
00003f20  6c 65 20 6c 69 6e 65 20  22 3b 65 64 70 75 7a 25  |le line ";edpuz%|
00003f30  3b 22 20 6f 75 74 20 6f  66 20 32 35 35 20 28 22  |;" out of 255 ("|
00003f40  3b 70 75 7a 25 3b 22 20  64 65 66 69 6e 65 64 29  |;puz%;" defined)|
00003f50  2e 22 0d 14 50 2c fb 20  35 3a f1 8a 31 2c 38 29  |."..P,. 5:..1,8)|
00003f60  3b 22 43 4f 4e 44 49 54  49 4f 4e 53 22 3b 8a 33  |;"CONDITIONS";.3|
00003f70  39 2c 38 29 3b 22 41 43  54 49 4f 4e 53 22 0d 14  |9,8);"ACTIONS"..|
00003f80  5a bc fb 20 33 3a f1 8a  31 2c 31 30 29 3b 22 56  |Z.. 3:..1,10);"V|
00003f90  65 72 62 20 49 44 20 20  3a 22 3b 8a 31 2c 31 31  |erb ID  :";.1,11|
00003fa0  29 3b 22 4c 69 6e 6b 20  49 44 20 20 3a 22 3b 8a  |);"Link ID  :";.|
00003fb0  31 2c 31 32 29 3b 22 41  63 74 69 6f 6e 20 49 44  |1,12);"Action ID|
00003fc0  3a 22 3b 8a 31 2c 31 33  29 3b 22 4e 6f 75 6e 20  |:";.1,13);"Noun |
00003fd0  49 44 20 20 3a 22 3b 8a  31 2c 31 34 29 3b 22 4c  |ID  :";.1,14);"L|
00003fe0  6f 63 61 74 69 6f 6e 20  3a 22 3b 8a 31 2c 31 35  |ocation :";.1,15|
00003ff0  29 3b 22 46 6c 61 67 20  31 20 20 20 3a 22 3b 8a  |);"Flag 1   :";.|
00004000  31 2c 31 36 29 3b 22 56  61 6c 75 65 20 31 20 20  |1,16);"Value 1  |
00004010  3a 22 3b 8a 31 2c 31 37  29 3b 22 46 6c 61 67 20  |:";.1,17);"Flag |
00004020  32 20 20 20 3a 22 3b 8a  31 2c 31 38 29 3b 22 56  |2   :";.1,18);"V|
00004030  61 6c 75 65 20 32 20 20  3a 22 0d 14 64 18 f1 8a  |alue 2  :"..d...|
00004040  31 2c 31 39 29 3b 22 4f  62 6a 65 63 74 20 31 20  |1,19);"Object 1 |
00004050  3a 22 0d 14 6e a4 f1 8a  31 2c 32 30 29 3b 22 41  |:"..n...1,20);"A|
00004060  74 74 72 69 62 20 31 20  3a 22 3b 8a 31 2c 32 31  |ttrib 1 :";.1,21|
00004070  29 3b 22 52 6f 6f 6d 20  31 20 20 20 3a 22 3b 8a  |);"Room 1   :";.|
00004080  31 2c 32 32 29 3b 22 4f  62 6a 65 63 74 20 32 20  |1,22);"Object 2 |
00004090  3a 22 3b 8a 31 2c 32 33  29 3b 22 41 74 74 72 69  |:";.1,23);"Attri|
000040a0  62 20 32 20 3a 22 3b 8a  31 2c 32 34 29 3b 22 52  |b 2 :";.1,24);"R|
000040b0  6f 6f 6d 20 32 20 20 20  3a 22 3b 8a 31 2c 32 35  |oom 2   :";.1,25|
000040c0  29 3b 22 4f 62 6a 65 63  74 20 33 20 3a 22 3b 8a  |);"Object 3 :";.|
000040d0  31 2c 32 36 29 3b 22 41  74 74 72 69 62 20 33 20  |1,26);"Attrib 3 |
000040e0  3a 22 3b 8a 31 2c 32 37  29 3b 22 52 6f 6f 6d 20  |:";.1,27);"Room |
000040f0  33 20 20 20 3a 22 0d 14  78 e0 f1 8a 33 39 2c 31  |3   :"..x...39,1|
00004100  30 29 3b 22 46 6c 61 67  20 31 20 20 20 20 3a 22  |0);"Flag 1    :"|
00004110  3b 8a 33 39 2c 31 31 29  3b 22 53 74 61 74 75 73  |;.39,11);"Status|
00004120  20 31 20 20 3a 22 3b 8a  33 39 2c 31 32 29 3b 22  | 1  :";.39,12);"|
00004130  46 6c 61 67 20 32 20 20  20 20 3a 22 3b 8a 33 39  |Flag 2    :";.39|
00004140  2c 31 33 29 3b 22 53 74  61 74 75 73 20 32 20 20  |,13);"Status 2  |
00004150  3a 22 3b 8a 33 39 2c 31  34 29 3b 22 52 6f 6f 6d  |:";.39,14);"Room|
00004160  20 31 20 20 20 20 3a 22  3b 8a 33 39 2c 31 35 29  | 1    :";.39,15)|
00004170  3b 22 45 78 69 74 20 31  20 20 20 20 3a 22 3b 8a  |;"Exit 1    :";.|
00004180  33 39 2c 31 36 29 3b 22  4e 65 77 20 6c 6f 63 20  |39,16);"New loc |
00004190  31 20 3a 22 3b 8a 33 39  2c 31 37 29 3b 22 52 6f  |1 :";.39,17);"Ro|
000041a0  6f 6d 20 32 20 20 20 20  3a 22 3b 8a 33 39 2c 31  |om 2    :";.39,1|
000041b0  38 29 3b 22 45 78 69 74  20 32 20 20 20 20 3a 22  |8);"Exit 2    :"|
000041c0  3b 8a 33 39 2c 31 39 29  3b 22 4e 65 77 20 6c 6f  |;.39,19);"New lo|
000041d0  63 20 32 20 3a 22 0d 14  82 b4 f1 8a 33 39 2c 32  |c 2 :"......39,2|
000041e0  30 29 3b 22 4d 65 73 73  61 67 65 20 20 20 3a 22  |0);"Message   :"|
000041f0  3b 8a 33 39 2c 32 31 29  3b 22 4c 6f 63 61 74 69  |;.39,21);"Locati|
00004200  6f 6e 20 20 3a 22 3b 8a  33 39 2c 32 32 29 3b 22  |on  :";.39,22);"|
00004210  4f 62 6a 65 63 74 20 31  20 20 3a 22 3b 8a 33 39  |Object 1  :";.39|
00004220  2c 32 33 29 3b 22 41 63  74 69 6f 6e 20 31 20 20  |,23);"Action 1  |
00004230  3a 22 3b 8a 33 39 2c 32  34 29 3b 22 44 61 74 61  |:";.39,24);"Data|
00004240  20 31 20 20 20 20 3a 22  3b 8a 33 39 2c 32 35 29  | 1    :";.39,25)|
00004250  3b 22 4f 62 6a 65 63 74  20 32 20 20 3a 22 3b 8a  |;"Object 2  :";.|
00004260  33 39 2c 32 36 29 3b 22  41 63 74 69 6f 6e 20 32  |39,26);"Action 2|
00004270  20 20 3a 22 3b 8a 33 39  2c 32 37 29 3b 22 44 61  |  :";.39,27);"Da|
00004280  74 61 20 32 20 20 20 20  3a 22 0d 14 8c 07 fb 20  |ta 2    :"..... |
00004290  32 0d 14 96 0f e3 20 49  25 3d 30 20 b8 20 31 37  |2..... I%=0 . 17|
000042a0  0d 14 a0 2c 20 20 f1 8a  31 32 2c 49 25 2b 31 30  |...,  ..12,I%+10|
000042b0  29 3b 70 75 7a 7a 6c 65  25 3f 28 49 25 2b 28 65  |);puzzle%?(I%+(e|
000042c0  64 70 75 7a 25 2d 31 29  2a 33 36 29 0d 14 aa 2f  |dpuz%-1)*36).../|
000042d0  20 20 f1 8a 35 31 2c 49  25 2b 31 30 29 3b 70 75  |  ..51,I%+10);pu|
000042e0  7a 7a 6c 65 25 3f 28 49  25 2b 28 65 64 70 75 7a  |zzle%?(I%+(edpuz|
000042f0  25 2d 31 29 2a 33 36 2b  31 38 29 0d 14 b4 05 ed  |%-1)*36+18).....|
00004300  0d 14 be 07 fb 20 35 0d  14 c8 42 f1 8a 31 2c 32  |..... 5...B..1,2|
00004310  39 29 3b 22 28 4e 29 65  78 74 2c 20 28 50 29 72  |9);"(N)ext, (P)r|
00004320  65 76 69 6f 75 73 2c 20  28 46 29 69 72 73 74 2c  |evious, (F)irst,|
00004330  20 28 4c 29 61 73 74 2c  20 28 45 29 64 69 74 2c  | (L)ast, (E)dit,|
00004340  20 28 44 29 6f 6e 65 22  3b 0d 14 d2 05 e1 0d 14  | (D)one";.......|
00004350  dc 05 3a 0d 14 e6 0a dd  f2 74 65 78 74 0d 14 f0  |..:......text...|
00004360  05 f5 0d 14 fa 18 20 20  f2 73 68 6f 77 74 65 78  |......  .showtex|
00004370  74 28 65 64 74 65 78 74  25 29 0d 15 04 07 20 20  |t(edtext%)....  |
00004380  f5 0d 15 0e 0c 20 20 20  20 41 24 3d be 0d 15 18  |.....    A$=....|
00004390  1d 20 20 fd 20 a7 22 4e  6e 50 70 46 66 4c 6c 45  |.  . ."NnPpFfLlE|
000043a0  65 44 64 22 2c 41 24 29  3e 30 0d 15 22 28 20 20  |eDd",A$)>0.."(  |
000043b0  74 65 78 74 6f 70 74 25  3d 28 a7 22 4e 6e 50 70  |textopt%=(."NnPp|
000043c0  46 66 4c 6c 45 65 44 64  22 2c 41 24 29 2b 31 29  |FfLlEeDd",A$)+1)|
000043d0  2f 32 0d 15 2c 13 20 20  c8 8e 20 74 65 78 74 6f  |/2..,.  .. texto|
000043e0  70 74 25 20 ca 0d 15 36  0a 20 20 c9 20 31 3a 0d  |pt% ...6.  . 1:.|
000043f0  15 40 2c 20 20 20 20 65  64 74 65 78 74 25 2b 3d  |.@,    edtext%+=|
00004400  31 3a e7 20 65 64 74 65  78 74 25 3e 32 35 35 20  |1:. edtext%>255 |
00004410  8c 20 65 64 74 65 78 74  25 3d 31 0d 15 4a 0a 20  |. edtext%=1..J. |
00004420  20 c9 20 32 3a 0d 15 54  2c 20 20 20 20 65 64 74  | . 2:..T,    edt|
00004430  65 78 74 25 2d 3d 31 3a  e7 20 65 64 74 65 78 74  |ext%-=1:. edtext|
00004440  25 3c 31 20 8c 20 65 64  74 65 78 74 25 3d 32 35  |%<1 . edtext%=25|
00004450  35 0d 15 5e 0a 20 20 c9  20 33 3a 0d 15 68 11 20  |5..^.  . 3:..h. |
00004460  20 20 20 65 64 74 65 78  74 25 3d 31 0d 15 72 0a  |   edtext%=1..r.|
00004470  20 20 c9 20 34 3a 0d 15  7c 14 20 20 20 65 64 74  |  . 4:..|.   edt|
00004480  65 78 74 25 3d 74 65 78  74 25 0d 15 86 0a 20 20  |ext%=text%....  |
00004490  c9 20 35 3a 0d 15 90 30  20 20 20 20 6e 74 65 78  |. 5:...0    ntex|
000044a0  74 24 3d a4 69 6e 70 75  74 28 31 2c 31 35 2c 22  |t$=.input(1,15,"|
000044b0  3d 3d 3e 22 2c 37 2c 61  6c 6c 63 68 61 72 24 2c  |==>",7,allchar$,|
000044c0  32 35 35 29 0d 15 9a 2c  20 20 20 20 e7 20 6e 74  |255)...,    . nt|
000044d0  65 78 74 24 3c 3e 22 22  20 8c 20 74 65 78 74 24  |ext$<>"" . text$|
000044e0  28 65 64 74 65 78 74 25  29 3d 6e 74 65 78 74 24  |(edtext%)=ntext$|
000044f0  0d 15 a4 27 20 20 20 20  e7 20 65 64 74 65 78 74  |...'    . edtext|
00004500  25 3e 74 65 78 74 25 20  8c 20 74 65 78 74 25 3d  |%>text% . text%=|
00004510  65 64 74 65 78 74 25 0d  15 ae 07 20 20 cb 0d 15  |edtext%....  ...|
00004520  b8 10 fd 20 74 65 78 74  6f 70 74 25 3d 36 0d 15  |... textopt%=6..|
00004530  c2 05 e1 0d 15 cc 05 3a  0d 15 d6 17 dd f2 73 68  |.......:......sh|
00004540  6f 77 74 65 78 74 28 65  64 74 65 78 74 25 29 0d  |owtext(edtext%).|
00004550  15 e0 24 f2 74 69 74 6c  65 28 22 45 64 69 74 20  |..$.title("Edit |
00004560  74 65 78 74 20 6d 65 73  73 61 67 65 73 22 2c 36  |text messages",6|
00004570  2c 32 29 0d 15 ea 48 f1  8a 31 2c 35 29 3b 22 45  |,2)...H..1,5);"E|
00004580  64 69 74 69 6e 67 20 6d  65 73 73 61 67 65 20 22  |diting message "|
00004590  3b 65 64 74 65 78 74 25  3b 22 20 6f 75 74 20 6f  |;edtext%;" out o|
000045a0  66 20 32 35 35 20 28 22  3b 74 65 78 74 25 3b 22  |f 255 (";text%;"|
000045b0  20 64 65 66 69 6e 65 64  29 2e 22 0d 15 f4 07 fb  | defined).".....|
000045c0  20 33 0d 15 fe 1a e7 20  74 65 78 74 24 28 65 64  | 3..... text$(ed|
000045d0  74 65 78 74 25 29 3c 3e  22 22 20 8c 0d 16 08 1b  |text%)<>"" .....|
000045e0  20 20 f1 8a 31 2c 39 29  3b 74 65 78 74 24 28 65  |  ..1,9);text$(e|
000045f0  64 74 65 78 74 25 29 0d  16 12 05 cc 0d 16 1c 28  |dtext%)........(|
00004600  20 20 f1 8a 31 2c 39 29  3b 22 2a 2a 20 43 55 52  |  ..1,9);"** CUR|
00004610  52 45 4e 54 4c 59 20 55  4e 44 45 46 49 4e 45 44  |RENTLY UNDEFINED|
00004620  20 2a 2a 22 0d 16 26 05  cd 0d 16 30 07 fb 20 35  | **"..&....0.. 5|
00004630  0d 16 3a 42 f1 8a 31 2c  32 39 29 3b 22 28 4e 29  |..:B..1,29);"(N)|
00004640  65 78 74 2c 20 28 50 29  72 65 76 69 6f 75 73 2c  |ext, (P)revious,|
00004650  20 28 46 29 69 72 73 74  2c 20 28 4c 29 61 73 74  | (F)irst, (L)ast|
00004660  2c 20 28 45 29 64 69 74  2c 20 28 44 29 6f 6e 65  |, (E)dit, (D)one|
00004670  22 3b 0d 16 44 05 e1 0d  16 4e 05 3a 0d 16 58 0a  |";..D....N.:..X.|
00004680  dd f2 6d 69 73 63 0d 16  62 29 f2 74 69 74 6c 65  |..misc..b).title|
00004690  28 22 45 64 69 74 20 6d  69 73 63 65 6c 6c 61 6e  |("Edit miscellan|
000046a0  65 6f 75 73 20 64 61 74  61 22 2c 35 2c 34 29 0d  |eous data",5,4).|
000046b0  16 6c 07 fb 20 33 0d 16  76 26 f1 8a 31 2c 39 29  |.l.. 3..v&..1,9)|
000046c0  3b 22 53 74 61 72 74 69  6e 67 20 72 6f 6f 6d 3a  |;"Starting room:|
000046d0  20 22 3b 73 74 61 72 74  6c 6f 63 25 0d 16 80 28  | ";startloc%...(|
000046e0  f1 8a 31 2c 31 31 29 3b  22 53 74 61 72 74 20 6d  |..1,11);"Start m|
000046f0  65 73 73 61 67 65 3a 20  22 3b 73 74 61 72 74 6d  |essage: ";startm|
00004700  65 73 73 25 0d 16 8a 29  f1 8a 31 2c 31 33 29 3b  |ess%...)..1,13);|
00004710  22 43 61 72 72 79 20 6c  69 6d 69 74 3a 20 20 20  |"Carry limit:   |
00004720  22 3b 63 61 72 72 79 6c  69 6d 69 74 25 0d 16 94  |";carrylimit%...|
00004730  24 f1 8a 31 2c 31 35 29  3b 22 57 69 6e 6e 69 6e  |$..1,15);"Winnin|
00004740  67 20 73 63 6f 72 65 3a  20 22 3b 77 69 6e 73 63  |g score: ";winsc|
00004750  25 0d 16 9e 2f 6e 73 6c  25 3d bb 28 a4 69 6e 70  |%.../nsl%=.(.inp|
00004760  75 74 28 33 39 2c 39 2c  22 3d 3d 3e 22 2c 37 2c  |ut(39,9,"==>",7,|
00004770  22 30 31 32 33 34 35 36  37 38 39 22 2c 33 29 29  |"0123456789",3))|
00004780  0d 16 a8 2a e7 20 6e 73  6c 25 3e 72 6f 6f 6d 25  |...*. nsl%>room%|
00004790  20 84 20 6e 73 6c 25 3d  30 20 8c 20 6e 73 6c 25  | . nsl%=0 . nsl%|
000047a0  3d 73 74 61 72 74 6c 6f  63 25 0d 16 b2 30 6e 73  |=startloc%...0ns|
000047b0  6d 25 3d bb 28 a4 69 6e  70 75 74 28 33 39 2c 31  |m%=.(.input(39,1|
000047c0  31 2c 22 3d 3d 3e 22 2c  37 2c 22 30 31 32 33 34  |1,"==>",7,"01234|
000047d0  35 36 37 38 39 22 2c 33  29 29 0d 16 bc 2b e7 20  |56789",3))...+. |
000047e0  6e 73 6d 25 3e 74 65 78  74 25 20 84 20 6e 73 6d  |nsm%>text% . nsm|
000047f0  25 3d 30 20 8c 20 6e 73  6d 25 3d 73 74 61 72 74  |%=0 . nsm%=start|
00004800  6d 65 73 73 25 0d 16 c6  30 6e 63 6c 25 3d bb 28  |mess%...0ncl%=.(|
00004810  a4 69 6e 70 75 74 28 33  39 2c 31 33 2c 22 3d 3d  |.input(39,13,"==|
00004820  3e 22 2c 37 2c 22 30 31  32 33 34 35 36 37 38 39  |>",7,"0123456789|
00004830  22 2c 32 29 29 0d 16 d0  2b e7 20 6e 63 6c 25 3e  |",2))...+. ncl%>|
00004840  6f 62 6a 25 20 84 20 6e  63 6c 25 3d 30 20 8c 20  |obj% . ncl%=0 . |
00004850  6e 63 6c 25 3d 63 61 72  72 79 6c 69 6d 69 74 25  |ncl%=carrylimit%|
00004860  0d 16 da 30 6e 77 73 25  3d bb 28 a4 69 6e 70 75  |...0nws%=.(.inpu|
00004870  74 28 33 39 2c 31 35 2c  22 3d 3d 3e 22 2c 37 2c  |t(39,15,"==>",7,|
00004880  22 30 31 32 33 34 35 36  37 38 39 22 2c 33 29 29  |"0123456789",3))|
00004890  0d 16 e4 1a e7 20 6e 77  73 25 3d 30 20 8c 20 6e  |..... nws%=0 . n|
000048a0  77 73 25 3d 77 69 6e 73  63 25 0d 16 ee 12 73 74  |ws%=winsc%....st|
000048b0  61 72 74 6c 6f 63 25 3d  6e 73 6c 25 0d 16 f8 13  |artloc%=nsl%....|
000048c0  73 74 61 72 74 6d 65 73  73 25 3d 6e 73 6d 25 0d  |startmess%=nsm%.|
000048d0  17 02 14 63 61 72 72 79  6c 69 6d 69 74 25 3d 6e  |...carrylimit%=n|
000048e0  63 6c 25 0d 17 0c 0f 77  69 6e 73 63 25 3d 6e 77  |cl%....winsc%=nw|
000048f0  73 25 0d 17 16 05 e1 0d  17 20 05 3a 0d 17 2a 05  |s%....... .:..*.|
00004900  3a 0d 17 34 0c dd f2 73  63 6f 72 65 73 0d 17 3e  |:..4...scores..>|
00004910  05 f5 0d 17 48 1a 20 20  f2 73 68 6f 77 73 63 6f  |....H.  .showsco|
00004920  72 65 28 65 64 73 63 6f  72 65 25 29 0d 17 52 07  |re(edscore%)..R.|
00004930  20 20 f5 0d 17 5c 0c 20  20 20 20 41 24 3d be 0d  |  ...\.    A$=..|
00004940  17 66 1d 20 20 fd 20 a7  22 4e 6e 50 70 46 66 4c  |.f.  . ."NnPpFfL|
00004950  6c 45 65 44 64 22 2c 41  24 29 3e 30 0d 17 70 26  |lEeDd",A$)>0..p&|
00004960  20 20 73 63 6f 70 74 25  3d 28 a7 22 4e 6e 50 70  |  scopt%=(."NnPp|
00004970  46 66 4c 6c 45 65 44 64  22 2c 41 24 29 2b 31 29  |FfLlEeDd",A$)+1)|
00004980  2f 32 0d 17 7a 11 20 20  c8 8e 20 73 63 6f 70 74  |/2..z.  .. scopt|
00004990  25 20 ca 0d 17 84 0a 20  20 c9 20 31 3a 0d 17 8e  |% .....  . 1:...|
000049a0  2f 20 20 20 20 65 64 73  63 6f 72 65 25 2b 3d 31  |/    edscore%+=1|
000049b0  3a e7 20 65 64 73 63 6f  72 65 25 3e 32 35 35 20  |:. edscore%>255 |
000049c0  8c 20 65 64 73 63 6f 72  65 25 3d 31 0d 17 98 0a  |. edscore%=1....|
000049d0  20 20 c9 20 32 3a 0d 17  a2 2f 20 20 20 20 65 64  |  . 2:.../    ed|
000049e0  73 63 6f 72 65 25 2d 3d  31 3a e7 20 65 64 73 63  |score%-=1:. edsc|
000049f0  6f 72 65 25 3c 31 20 8c  20 65 64 73 63 6f 72 65  |ore%<1 . edscore|
00004a00  25 3d 32 35 35 0d 17 ac  0a 20 20 c9 20 33 3a 0d  |%=255....  . 3:.|
00004a10  17 b6 12 20 20 20 20 65  64 73 63 6f 72 65 25 3d  |...    edscore%=|
00004a20  31 0d 17 c0 0a 20 20 c9  20 34 3a 0d 17 ca 49 20  |1....  . 4:...I |
00004a30  20 20 20 e7 20 6e 75 6d  6f 62 6a 73 63 25 3e 6e  |   . numobjsc%>n|
00004a40  75 6d 66 6c 61 67 73 63  25 20 8c 20 65 64 73 63  |umflagsc% . edsc|
00004a50  6f 72 65 25 3d 6e 75 6d  6f 62 6a 73 63 25 20 8b  |ore%=numobjsc% .|
00004a60  20 65 64 73 63 6f 72 65  25 3d 6e 75 6d 66 6c 61  | edscore%=numfla|
00004a70  67 73 63 25 0d 17 d4 0a  20 20 c9 20 35 3a 0d 17  |gsc%....  . 5:..|
00004a80  de 32 20 20 20 20 6e 66  6c 67 6e 24 3d a4 69 6e  |.2    nflgn$=.in|
00004a90  70 75 74 28 34 39 2c 39  2c 22 3d 3d 3e 22 2c 37  |put(49,9,"==>",7|
00004aa0  2c 22 30 31 32 33 34 35  36 37 38 39 22 2c 33 29  |,"0123456789",3)|
00004ab0  0d 17 e8 33 20 20 20 20  6e 6f 62 6a 6e 24 3d a4  |...3    nobjn$=.|
00004ac0  69 6e 70 75 74 28 34 39  2c 31 30 2c 22 3d 3d 3e  |input(49,10,"==>|
00004ad0  22 2c 37 2c 22 30 31 32  33 34 35 36 37 38 39 22  |",7,"0123456789"|
00004ae0  2c 33 29 0d 17 f2 34 20  20 20 20 6e 66 6c 67 73  |,3)...4    nflgs|
00004af0  63 24 3d a4 69 6e 70 75  74 28 34 39 2c 31 33 2c  |c$=.input(49,13,|
00004b00  22 3d 3d 3e 22 2c 37 2c  22 30 31 32 33 34 35 36  |"==>",7,"0123456|
00004b10  37 38 39 22 2c 33 29 0d  17 fc 34 20 20 20 20 6e  |789",3)...4    n|
00004b20  6f 62 6a 73 63 24 3d a4  69 6e 70 75 74 28 34 39  |objsc$=.input(49|
00004b30  2c 31 34 2c 22 3d 3d 3e  22 2c 37 2c 22 30 31 32  |,14,"==>",7,"012|
00004b40  33 34 35 36 37 38 39 22  2c 33 29 0d 18 06 45 20  |3456789",3)...E |
00004b50  20 20 20 e7 20 6e 66 6c  67 6e 24 3c 3e 22 22 20  |   . nflgn$<>"" |
00004b60  80 20 bb 28 6e 66 6c 67  6e 24 29 3c 32 35 35 20  |. .(nflgn$)<255 |
00004b70  8c 20 66 6c 61 67 73 63  6e 75 6d 25 28 65 64 73  |. flagscnum%(eds|
00004b80  63 6f 72 65 25 29 3d bb  28 6e 66 6c 67 6e 24 29  |core%)=.(nflgn$)|
00004b90  0d 18 10 34 20 20 20 20  e7 20 6e 66 6c 67 73 63  |...4    . nflgsc|
00004ba0  24 3c 3e 22 22 20 8c 20  66 6c 61 67 73 63 25 28  |$<>"" . flagsc%(|
00004bb0  65 64 73 63 6f 72 65 25  29 3d bb 28 6e 66 6c 67  |edscore%)=.(nflg|
00004bc0  73 63 24 29 0d 18 1a 46  20 20 20 20 e7 20 6e 6f  |sc$)...F    . no|
00004bd0  62 6a 6e 24 3c 3e 22 22  20 80 20 bb 28 6e 6f 62  |bjn$<>"" . .(nob|
00004be0  6a 6e 24 29 3c 3d 6f 62  6a 25 20 8c 20 6f 62 6a  |jn$)<=obj% . obj|
00004bf0  73 63 6e 75 6d 25 28 65  64 73 63 6f 72 65 25 29  |scnum%(edscore%)|
00004c00  3d bb 28 6e 6f 62 6a 6e  24 29 0d 18 24 33 20 20  |=.(nobjn$)..$3  |
00004c10  20 20 e7 20 6e 6f 62 6a  73 63 24 3c 3e 22 22 20  |  . nobjsc$<>"" |
00004c20  8c 20 6f 62 6a 73 63 25  28 65 64 73 63 6f 72 65  |. objsc%(edscore|
00004c30  25 29 3d bb 28 6e 6f 62  6a 73 63 24 29 0d 18 2e  |%)=.(nobjsc$)...|
00004c40  31 20 20 20 20 e7 20 65  64 73 63 6f 72 65 25 3e  |1    . edscore%>|
00004c50  6e 75 6d 6f 62 6a 73 63  25 20 8c 20 6e 75 6d 6f  |numobjsc% . numo|
00004c60  62 6a 73 63 25 3d 65 64  73 63 6f 72 65 25 0d 18  |bjsc%=edscore%..|
00004c70  38 33 20 20 20 20 e7 20  65 64 73 63 6f 72 65 25  |83    . edscore%|
00004c80  3e 6e 75 6d 66 6c 61 67  73 63 25 20 8c 20 6e 75  |>numflagsc% . nu|
00004c90  6d 66 6c 61 67 73 63 25  3d 65 64 73 63 6f 72 65  |mflagsc%=edscore|
00004ca0  25 0d 18 42 07 20 20 cb  0d 18 4c 0e fd 20 73 63  |%..B.  ...L.. sc|
00004cb0  6f 70 74 25 3d 36 0d 18  56 05 e1 0d 18 60 05 3a  |opt%=6..V....`.:|
00004cc0  0d 18 6a 19 dd f2 73 68  6f 77 73 63 6f 72 65 28  |..j...showscore(|
00004cd0  65 64 73 63 6f 72 65 25  29 0d 18 74 05 db 0d 18  |edscore%)..t....|
00004ce0  7e 23 f2 74 69 74 6c 65  28 22 45 64 69 74 20 73  |~#.title("Edit s|
00004cf0  63 6f 72 69 6e 67 20 64  61 74 61 22 2c 32 2c 34  |coring data",2,4|
00004d00  29 0d 18 88 55 fb 20 37  3a f1 8a 31 2c 35 29 3b  |)...U. 7:..1,5);|
00004d10  22 45 64 69 74 69 6e 67  20 73 63 6f 72 65 20 62  |"Editing score b|
00004d20  6c 6f 63 6b 20 22 3b 65  64 73 63 6f 72 65 25 3b  |lock ";edscore%;|
00004d30  22 20 6f 75 74 20 6f 66  20 32 35 35 20 28 22 3b  |" out of 255 (";|
00004d40  6e 75 6d 6f 62 6a 73 63  25 3b 22 20 64 65 66 69  |numobjsc%;" defi|
00004d50  6e 65 64 29 2e 22 0d 18  92 22 fb 20 36 3a f1 8a  |ned)."...". 6:..|
00004d60  31 2c 39 29 3b 22 46 6c  61 67 20 6e 75 6d 62 65  |1,9);"Flag numbe|
00004d70  72 20 20 20 3a 20 22 3b  0d 18 9c 07 fb 20 33 0d  |r   : ";..... 3.|
00004d80  18 a6 1f e7 20 66 6c 61  67 73 63 6e 75 6d 25 28  |.... flagscnum%(|
00004d90  65 64 73 63 6f 72 65 25  29 3c 3e 30 20 8c 0d 18  |edscore%)<>0 ...|
00004da0  b0 1d 20 20 f1 20 3b 66  6c 61 67 73 63 6e 75 6d  |..  . ;flagscnum|
00004db0  25 28 65 64 73 63 6f 72  65 25 29 0d 18 ba 05 cc  |%(edscore%).....|
00004dc0  0d 18 c4 22 20 20 f1 22  2a 2a 20 43 55 52 52 45  |..."  ."** CURRE|
00004dd0  4e 54 4c 59 20 55 4e 44  45 46 49 4e 45 44 20 2a  |NTLY UNDEFINED *|
00004de0  2a 22 0d 18 ce 05 cd 0d  18 d8 23 fb 20 36 3a f1  |*"........#. 6:.|
00004df0  8a 31 2c 31 30 29 3b 22  4f 62 6a 65 63 74 20 6e  |.1,10);"Object n|
00004e00  75 6d 62 65 72 20 3a 20  22 3b 0d 18 e2 07 fb 20  |umber : ";..... |
00004e10  33 0d 18 ec 1e e7 20 6f  62 6a 73 63 6e 75 6d 25  |3..... objscnum%|
00004e20  28 65 64 73 63 6f 72 65  25 29 3c 3e 30 20 8c 0d  |(edscore%)<>0 ..|
00004e30  18 f6 1c 20 20 f1 20 3b  6f 62 6a 73 63 6e 75 6d  |...  . ;objscnum|
00004e40  25 28 65 64 73 63 6f 72  65 25 29 0d 19 00 05 cc  |%(edscore%).....|
00004e50  0d 19 0a 22 20 20 f1 22  2a 2a 20 43 55 52 52 45  |..."  ."** CURRE|
00004e60  4e 54 4c 59 20 55 4e 44  45 46 49 4e 45 44 20 2a  |NTLY UNDEFINED *|
00004e70  2a 22 0d 19 14 05 cd 0d  19 1e 22 fb 20 36 3a f1  |*"........". 6:.|
00004e80  8a 31 2c 31 33 29 3b 22  46 6c 61 67 20 73 63 6f  |.1,13);"Flag sco|
00004e90  72 65 20 20 20 3a 20 22  3b 0d 19 28 1c fb 20 33  |re   : ";..(.. 3|
00004ea0  3a f1 20 3b 66 6c 61 67  73 63 25 28 65 64 73 63  |:. ;flagsc%(edsc|
00004eb0  6f 72 65 25 29 0d 19 32  22 fb 20 36 3a f1 8a 31  |ore%)..2". 6:..1|
00004ec0  2c 31 34 29 3b 22 4f 62  6a 65 63 74 20 73 63 6f  |,14);"Object sco|
00004ed0  72 65 20 3a 20 22 3b 0d  19 3c 1b fb 20 33 3a f1  |re : ";..<.. 3:.|
00004ee0  20 3b 6f 62 6a 73 63 25  28 65 64 73 63 6f 72 65  | ;objsc%(edscore|
00004ef0  25 29 0d 19 46 07 fb 20  35 0d 19 50 42 f1 8a 31  |%)..F.. 5..PB..1|
00004f00  2c 32 39 29 3b 22 28 4e  29 65 78 74 2c 20 28 50  |,29);"(N)ext, (P|
00004f10  29 72 65 76 69 6f 75 73  2c 20 28 46 29 69 72 73  |)revious, (F)irs|
00004f20  74 2c 20 28 4c 29 61 73  74 2c 20 28 45 29 64 69  |t, (L)ast, (E)di|
00004f30  74 2c 20 28 44 29 6f 6e  65 22 3b 0d 19 5a 05 e1  |t, (D)one";..Z..|
00004f40  0d 19 64 05 3a 0d 19 6e  0b dd f2 75 74 69 6c 73  |..d.:..n...utils|
00004f50  0d 19 78 05 f5 0d 19 82  0e 20 20 f2 6d 65 6e 75  |..x......  .menu|
00004f60  28 32 29 0d 19 8c 3c 20  20 63 68 6f 69 63 65 25  |(2)...<  choice%|
00004f70  3d bb 28 a4 69 6e 70 75  74 28 31 2c 32 35 2c 22  |=.(.input(1,25,"|
00004f80  45 6e 74 65 72 20 63 68  6f 69 63 65 3a 20 22 2c  |Enter choice: ",|
00004f90  36 2c 22 31 32 33 34 35  36 37 22 2c 31 29 29 0d  |6,"1234567",1)).|
00004fa0  19 96 12 20 20 c8 8e 20  63 68 6f 69 63 65 25 20  |...  .. choice% |
00004fb0  ca 0d 19 a0 1a 20 20 c9  20 31 3a 20 f2 63 68 61  |.....  . 1: .cha|
00004fc0  6e 67 65 66 69 6c 65 73  6c 6f 74 0d 19 aa 17 20  |ngefileslot.... |
00004fd0  20 c9 20 32 3a 20 f2 63  68 61 6e 67 65 74 69 74  | . 2: .changetit|
00004fe0  6c 65 0d 19 b4 15 20 20  c9 20 33 3a 20 f2 6c 6f  |le....  . 3: .lo|
00004ff0  61 64 66 69 6c 65 73 0d  19 be 15 20 20 c9 20 34  |adfiles....  . 4|
00005000  3a 20 f2 73 61 76 65 66  69 6c 65 73 0d 19 c8 10  |: .savefiles....|
00005010  20 20 c9 20 35 3a 20 f2  76 69 65 77 0d 19 d2 11  |  . 5: .view....|
00005020  20 20 c9 20 36 3a 20 f2  72 65 73 65 74 0d 19 dc  |  . 6: .reset...|
00005030  07 20 20 cb 0d 19 e6 0f  fd 20 63 68 6f 69 63 65  |.  ...... choice|
00005040  25 3d 37 0d 19 f0 05 e1  0d 19 fa 05 3a 0d 1a 04  |%=7.........:...|
00005050  14 dd f2 63 68 61 6e 67  65 66 69 6c 65 73 6c 6f  |...changefileslo|
00005060  74 0d 1a 0e 05 db 0d 1a  18 34 f2 74 69 74 6c 65  |t........4.title|
00005070  28 22 43 68 61 6e 67 65  20 63 75 72 72 65 6e 74  |("Change current|
00005080  20 61 64 76 65 6e 74 75  72 65 20 64 69 73 63 20  | adventure disc |
00005090  73 6c 6f 74 22 2c 36 2c  35 29 0d 1a 22 31 fb 20  |slot",6,5).."1. |
000050a0  32 3a f1 8a 31 2c 36 29  3b 22 54 68 65 20 63 75  |2:..1,6);"The cu|
000050b0  72 72 65 6e 74 20 61 64  76 65 6e 74 75 72 65 20  |rrent adventure |
000050c0  73 6c 6f 74 20 69 73 3a  20 22 3b 0d 1a 2c 10 fb  |slot is: ";..,..|
000050d0  20 33 3a f1 20 3b 73 6c  6f 74 25 0d 1a 36 32 fb  | 3:. ;slot%..62.|
000050e0  20 32 3a f1 8a 31 2c 31  31 29 3b 22 4e 65 77 20  | 2:..1,11);"New |
000050f0  61 64 76 65 6e 74 75 72  65 20 73 6c 6f 74 20 20  |adventure slot  |
00005100  20 20 20 20 20 20 20 20  20 3a 20 22 3b 0d 1a 40  |         : ";..@|
00005110  2f 6e 65 77 73 6c 6f 74  25 3d bb 28 a4 69 6e 70  |/newslot%=.(.inp|
00005120  75 74 28 33 32 2c 31 31  2c 22 22 2c 33 2c 22 31  |ut(32,11,"",3,"1|
00005130  32 33 34 35 36 37 38 22  2c 31 29 29 0d 1a 4a 24  |2345678",1))..J$|
00005140  e7 20 6e 65 77 73 6c 6f  74 25 3d 30 20 8c 20 c8  |. newslot%=0 . .|
00005150  94 20 6e 65 77 73 6c 6f  74 25 2c 73 6c 6f 74 25  |. newslot%,slot%|
00005160  0d 1a 54 15 c8 94 20 6e  65 77 73 6c 6f 74 25 2c  |..T... newslot%,|
00005170  73 6c 6f 74 25 0d 1a 5e  05 e1 0d 1a 68 05 3a 0d  |slot%..^....h.:.|
00005180  1a 72 11 dd f2 63 68 61  6e 67 65 74 69 74 6c 65  |.r...changetitle|
00005190  0d 1a 7c 28 f2 74 69 74  6c 65 28 22 43 68 61 6e  |..|(.title("Chan|
000051a0  67 65 20 61 64 76 65 6e  74 75 72 65 20 74 69 74  |ge adventure tit|
000051b0  6c 65 22 2c 36 2c 32 29  0d 1a 86 1b fb 20 35 3a  |le",6,2)..... 5:|
000051c0  f1 8a 31 2c 39 29 3b 22  4f 6c 64 20 74 69 74 6c  |..1,9);"Old titl|
000051d0  65 3a 22 0d 1a 90 18 f1  8a 31 2c 31 34 29 3b 22  |e:"......1,14);"|
000051e0  4e 65 77 20 74 69 74 6c  65 3a 22 0d 1a 9a 20 fb  |New title:"... .|
000051f0  20 33 3a f1 8a 31 2c 31  30 29 3b 61 64 76 74 69  | 3:..1,10);advti|
00005200  74 6c 65 24 28 73 6c 6f  74 25 29 0d 1a a4 28 6e  |tle$(slot%)...(n|
00005210  74 24 3d a4 69 6e 70 75  74 28 31 2c 31 35 2c 22  |t$=.input(1,15,"|
00005220  3d 3d 3e 22 2c 37 2c 61  6c 6c 63 68 61 72 24 2c  |==>",7,allchar$,|
00005230  36 34 29 0d 1a ae 24 e7  20 6e 74 24 3c 3e 22 22  |64)...$. nt$<>""|
00005240  20 8c 20 61 64 76 74 69  74 6c 65 24 28 73 6c 6f  | . advtitle$(slo|
00005250  74 25 29 3d 6e 74 24 0d  1a b8 05 e1 0d 1a c2 05  |t%)=nt$.........|
00005260  3a 0d 1a cc 0f dd f2 6c  6f 61 64 66 69 6c 65 73  |:......loadfiles|
00005270  0d 1a d6 58 6f 6b 24 3d  a4 69 6e 70 75 74 28 31  |...Xok$=.input(1|
00005280  2c 32 35 2c 22 41 72 65  20 79 6f 75 20 73 75 72  |,25,"Are you sur|
00005290  65 20 79 6f 75 20 77 61  6e 74 20 74 6f 20 6c 6f  |e you want to lo|
000052a0  61 64 20 61 20 6e 65 77  20 61 64 76 65 6e 74 75  |ad a new adventu|
000052b0  72 65 3f 20 28 79 2f 6e  29 3a 20 22 2c 37 2c 22  |re? (y/n): ",7,"|
000052c0  59 79 4e 6e 22 2c 31 29  0d 1a e0 1d e7 20 6f 6b  |YyNn",1)..... ok|
000052d0  24 3c 3e 22 79 22 20 80  20 6f 6b 24 3c 3e 22 59  |$<>"y" . ok$<>"Y|
000052e0  22 20 8c 20 e1 0d 1a ea  19 61 64 76 66 25 3d ad  |" . .....advf%=.|
000052f0  28 22 41 44 56 22 2b c3  73 6c 6f 74 25 29 0d 1a  |("ADV"+.slot%)..|
00005300  f4 0f e7 20 61 64 76 66  25 3d 30 20 8c 0d 1a fe  |... advf%=0 ....|
00005310  a0 20 20 fb 20 37 3a f1  8a 31 2c 32 37 29 3b 22  |.  . 7:..1,27);"|
00005320  54 68 65 20 66 69 6c 65  20 66 6f 72 20 74 68 69  |The file for thi|
00005330  73 20 61 64 76 65 6e 74  75 72 65 20 73 6c 6f 74  |s adventure slot|
00005340  20 68 61 73 20 62 65 65  6e 20 72 65 6d 6f 76 65  | has been remove|
00005350  64 20 66 72 6f 6d 20 69  74 73 20 70 72 6f 70 65  |d from its prope|
00005360  72 20 70 6c 61 63 65 2e  20 50 6c 65 61 73 65 20  |r place. Please |
00005370  73 65 6c 65 63 74 20 61  6e 6f 74 68 65 72 20 73  |select another s|
00005380  6c 6f 74 22 27 22 62 65  66 6f 72 65 20 61 74 74  |lot"'"before att|
00005390  65 6d 70 74 69 6e 67 20  74 6f 20 6c 6f 61 64 20  |empting to load |
000053a0  61 20 64 61 74 61 20 66  69 6c 65 2e 22 0d 1b 08  |a data file."...|
000053b0  20 20 20 f1 8a 33 32 2c  33 30 29 3b 22 50 72 65  |   ..32,30);"Pre|
000053c0  73 73 20 61 6e 79 20 6b  65 79 2e 22 3b 0d 1b 12  |ss any key.";...|
000053d0  0f 20 20 2a 46 58 31 35  2c 30 2c 30 0d 1b 1c 09  |.  *FX15,0,0....|
000053e0  20 20 41 3d a5 0d 1b 26  07 20 20 e1 0d 1b 30 05  |  A=...&.  ...0.|
000053f0  cd 0d 1b 3a 0c f2 64 6f  72 65 73 65 74 0d 1b 44  |...:..doreset..D|
00005400  37 e8 23 61 64 76 66 25  2c 73 74 61 72 74 6c 6f  |7.#advf%,startlo|
00005410  63 25 2c 73 74 61 72 74  6d 65 73 73 25 2c 72 6f  |c%,startmess%,ro|
00005420  6f 6d 25 2c 63 61 72 72  79 6c 69 6d 69 74 25 2c  |om%,carrylimit%,|
00005430  6f 62 6a 25 0d 1b 4e 25  e8 23 61 64 76 66 25 2c  |obj%..N%.#advf%,|
00005440  76 65 72 62 25 2c 6c 69  6e 6b 25 2c 61 63 74 69  |verb%,link%,acti|
00005450  6f 6e 25 2c 6e 6f 75 6e  25 0d 1b 58 30 e3 20 49  |on%,noun%..X0. I|
00005460  25 3d 31 20 b8 20 76 65  72 62 25 3a e8 23 61 64  |%=1 . verb%:.#ad|
00005470  76 66 25 2c 76 65 72 62  24 28 49 25 29 2c 76 65  |vf%,verb$(I%),ve|
00005480  72 62 25 28 49 25 29 3a  ed 0d 1b 62 30 e3 20 49  |rb%(I%):...b0. I|
00005490  25 3d 31 20 b8 20 6c 69  6e 6b 25 3a e8 23 61 64  |%=1 . link%:.#ad|
000054a0  76 66 25 2c 6c 69 6e 6b  24 28 49 25 29 2c 6c 69  |vf%,link$(I%),li|
000054b0  6e 6b 25 28 49 25 29 3a  ed 0d 1b 6c 36 e3 20 49  |nk%(I%):...l6. I|
000054c0  25 3d 31 20 b8 20 61 63  74 69 6f 6e 25 3a e8 23  |%=1 . action%:.#|
000054d0  61 64 76 66 25 2c 61 63  74 69 6f 6e 24 28 49 25  |advf%,action$(I%|
000054e0  29 2c 61 63 74 69 6f 6e  25 28 49 25 29 3a ed 0d  |),action%(I%):..|
000054f0  1b 76 30 e3 20 49 25 3d  31 20 b8 20 6e 6f 75 6e  |.v0. I%=1 . noun|
00005500  25 3a e8 23 61 64 76 66  25 2c 6e 6f 75 6e 24 28  |%:.#advf%,noun$(|
00005510  49 25 29 2c 6e 6f 75 6e  25 28 49 25 29 3a ed 0d  |I%),noun%(I%):..|
00005520  1b 80 32 e8 23 61 64 76  66 25 2c 70 75 7a 25 2c  |..2.#advf%,puz%,|
00005530  74 65 78 74 25 2c 6e 75  6d 6f 62 6a 73 63 25 2c  |text%,numobjsc%,|
00005540  6e 75 6d 66 6c 61 67 73  63 25 2c 77 69 6e 73 63  |numflagsc%,winsc|
00005550  25 0d 1b 8a 16 e3 20 49  25 3d 31 20 b8 20 6e 75  |%..... I%=1 . nu|
00005560  6d 6f 62 6a 73 63 25 0d  1b 94 26 20 20 e8 23 61  |mobjsc%...&  .#a|
00005570  64 76 66 25 2c 6f 62 6a  73 63 6e 75 6d 25 28 49  |dvf%,objscnum%(I|
00005580  25 29 2c 6f 62 6a 73 63  25 28 49 25 29 0d 1b 9e  |%),objsc%(I%)...|
00005590  05 ed 0d 1b a8 17 e3 20  49 25 3d 31 20 b8 20 6e  |....... I%=1 . n|
000055a0  75 6d 66 6c 61 67 73 63  25 0d 1b b2 28 20 20 e8  |umflagsc%...(  .|
000055b0  23 61 64 76 66 25 2c 66  6c 61 67 73 63 6e 75 6d  |#advf%,flagscnum|
000055c0  25 28 49 25 29 2c 66 6c  61 67 73 63 25 28 49 25  |%(I%),flagsc%(I%|
000055d0  29 0d 1b bc 05 ed 0d 1b  c6 24 e3 20 49 25 3d 31  |)........$. I%=1|
000055e0  20 b8 20 72 6f 6f 6d 25  3a e8 23 61 64 76 66 25  | . room%:.#advf%|
000055f0  2c 72 6f 6f 6d 24 28 49  25 29 0d 1b d0 27 20 20  |,room$(I%)...'  |
00005600  e3 20 4a 25 3d 31 20 b8  20 36 3a e8 23 61 64 76  |. J%=1 . 6:.#adv|
00005610  66 25 2c 72 6f 6f 6d 25  28 49 25 2c 4a 25 29 3a  |f%,room%(I%,J%):|
00005620  ed 0d 1b da 05 ed 0d 1b  e4 11 e3 20 49 25 3d 31  |........... I%=1|
00005630  20 b8 20 6f 62 6a 25 0d  1b ee 40 20 20 e8 23 61  | . obj%...@  .#a|
00005640  64 76 66 25 2c 6f 62 6a  6c 6f 63 25 28 49 25 29  |dvf%,objloc%(I%)|
00005650  2c 6f 62 6a 73 74 61 74  25 28 49 25 29 2c 6f 62  |,objstat%(I%),ob|
00005660  6a 64 65 73 63 24 28 49  25 29 2c 65 78 61 6d 69  |jdesc$(I%),exami|
00005670  6e 65 24 28 49 25 29 0d  1b f8 26 20 20 e8 23 61  |ne$(I%)...&  .#a|
00005680  64 76 66 25 2c 6f 62 6a  61 63 74 25 28 49 25 29  |dvf%,objact%(I%)|
00005690  2c 6f 62 6a 6e 6f 75 6e  25 28 49 25 29 0d 1c 02  |,objnoun%(I%)...|
000056a0  05 ed 0d 1c 0c 13 e3 20  49 25 3d 30 20 b8 20 70  |....... I%=0 . p|
000056b0  75 7a 25 2d 31 0d 1c 16  11 20 20 e3 20 4a 25 3d  |uz%-1....  . J%=|
000056c0  30 20 b8 20 33 35 0d 1c  20 22 20 20 20 20 70 75  |0 . 35.. "    pu|
000056d0  7a 7a 6c 65 25 3f 28 49  25 2a 33 36 2b 4a 25 29  |zzle%?(I%*36+J%)|
000056e0  3d 9a 23 61 64 76 66 25  0d 1c 2a 07 20 20 ed 0d  |=.#advf%..*.  ..|
000056f0  1c 34 05 ed 0d 1c 3e 12  e3 20 49 25 3d 31 20 b8  |.4....>.. I%=1 .|
00005700  20 74 65 78 74 25 0d 1c  48 17 20 20 e8 23 61 64  | text%..H.  .#ad|
00005710  76 66 25 2c 74 65 78 74  24 28 49 25 29 0d 1c 52  |vf%,text$(I%)..R|
00005720  05 ed 0d 1c 5c 0b d9 23  61 64 76 66 25 0d 1c 66  |....\..#advf%..f|
00005730  05 e1 0d 1c 70 05 3a 0d  1c 7a 0f dd f2 73 61 76  |....p.:..z...sav|
00005740  65 66 69 6c 65 73 0d 1c  84 56 6f 6b 24 3d a4 69  |efiles...Vok$=.i|
00005750  6e 70 75 74 28 31 2c 32  35 2c 22 41 72 65 20 79  |nput(1,25,"Are y|
00005760  6f 75 20 73 75 72 65 20  79 6f 75 20 77 61 6e 74  |ou sure you want|
00005770  20 74 6f 20 73 61 76 65  20 74 68 65 20 61 64 76  | to save the adv|
00005780  65 6e 74 75 72 65 3f 20  28 79 2f 6e 29 3a 20 22  |enture? (y/n): "|
00005790  2c 37 2c 22 59 79 4e 6e  22 2c 31 29 0d 1c 8e 1d  |,7,"YyNn",1)....|
000057a0  e7 20 6f 6b 24 3c 3e 22  79 22 20 80 20 6f 6b 24  |. ok$<>"y" . ok$|
000057b0  3c 3e 22 59 22 20 8c 20  e1 0d 1c 98 94 ee 20 85  |<>"Y" . ...... .|
000057c0  20 ea 20 fb 37 3a f1 8a  31 2c 32 37 29 3b 22 41  | . .7:..1,27);"A|
000057d0  6e 20 65 72 72 6f 72 20  68 61 73 20 6f 63 63 75  |n error has occu|
000057e0  72 72 65 64 20 69 6e 20  74 68 65 20 73 61 76 69  |rred in the savi|
000057f0  6e 67 20 6f 66 20 74 68  65 20 61 64 76 65 6e 74  |ng of the advent|
00005800  75 72 65 2e 20 50 6c 65  61 73 65 20 74 72 79 20  |ure. Please try |
00005810  61 6e 6f 74 68 65 72 22  27 22 64 61 74 61 20 73  |another"'"data s|
00005820  6c 6f 74 2e 20 50 72 65  73 73 20 61 6e 79 20 6b  |lot. Press any k|
00005830  65 79 2e 22 3a c8 99 22  4f 53 5f 42 79 74 65 22  |ey.":.."OS_Byte"|
00005840  2c 31 35 2c 30 2c 30 3a  41 3d a5 3a e1 0d 1c a2  |,15,0,0:A=.:....|
00005850  19 61 64 76 66 25 3d ae  28 22 41 44 56 22 2b c3  |.advf%=.("ADV"+.|
00005860  73 6c 6f 74 25 29 0d 1c  ac 37 f1 23 61 64 76 66  |slot%)...7.#advf|
00005870  25 2c 73 74 61 72 74 6c  6f 63 25 2c 73 74 61 72  |%,startloc%,star|
00005880  74 6d 65 73 73 25 2c 72  6f 6f 6d 25 2c 63 61 72  |tmess%,room%,car|
00005890  72 79 6c 69 6d 69 74 25  2c 6f 62 6a 25 0d 1c b6  |rylimit%,obj%...|
000058a0  25 f1 23 61 64 76 66 25  2c 76 65 72 62 25 2c 6c  |%.#advf%,verb%,l|
000058b0  69 6e 6b 25 2c 61 63 74  69 6f 6e 25 2c 6e 6f 75  |ink%,action%,nou|
000058c0  6e 25 0d 1c c0 30 e3 20  49 25 3d 31 20 b8 20 76  |n%...0. I%=1 . v|
000058d0  65 72 62 25 3a f1 23 61  64 76 66 25 2c 76 65 72  |erb%:.#advf%,ver|
000058e0  62 24 28 49 25 29 2c 76  65 72 62 25 28 49 25 29  |b$(I%),verb%(I%)|
000058f0  3a ed 0d 1c ca 30 e3 20  49 25 3d 31 20 b8 20 6c  |:....0. I%=1 . l|
00005900  69 6e 6b 25 3a f1 23 61  64 76 66 25 2c 6c 69 6e  |ink%:.#advf%,lin|
00005910  6b 24 28 49 25 29 2c 6c  69 6e 6b 25 28 49 25 29  |k$(I%),link%(I%)|
00005920  3a ed 0d 1c d4 36 e3 20  49 25 3d 31 20 b8 20 61  |:....6. I%=1 . a|
00005930  63 74 69 6f 6e 25 3a f1  23 61 64 76 66 25 2c 61  |ction%:.#advf%,a|
00005940  63 74 69 6f 6e 24 28 49  25 29 2c 61 63 74 69 6f  |ction$(I%),actio|
00005950  6e 25 28 49 25 29 3a ed  0d 1c de 30 e3 20 49 25  |n%(I%):....0. I%|
00005960  3d 31 20 b8 20 6e 6f 75  6e 25 3a f1 23 61 64 76  |=1 . noun%:.#adv|
00005970  66 25 2c 6e 6f 75 6e 24  28 49 25 29 2c 6e 6f 75  |f%,noun$(I%),nou|
00005980  6e 25 28 49 25 29 3a ed  0d 1c e8 32 f1 23 61 64  |n%(I%):....2.#ad|
00005990  76 66 25 2c 70 75 7a 25  2c 74 65 78 74 25 2c 6e  |vf%,puz%,text%,n|
000059a0  75 6d 6f 62 6a 73 63 25  2c 6e 75 6d 66 6c 61 67  |umobjsc%,numflag|
000059b0  73 63 25 2c 77 69 6e 73  63 25 0d 1c f2 16 e3 20  |sc%,winsc%..... |
000059c0  49 25 3d 31 20 b8 20 6e  75 6d 6f 62 6a 73 63 25  |I%=1 . numobjsc%|
000059d0  0d 1c fc 26 20 20 f1 23  61 64 76 66 25 2c 6f 62  |...&  .#advf%,ob|
000059e0  6a 73 63 6e 75 6d 25 28  49 25 29 2c 6f 62 6a 73  |jscnum%(I%),objs|
000059f0  63 25 28 49 25 29 0d 1d  06 05 ed 0d 1d 10 17 e3  |c%(I%)..........|
00005a00  20 49 25 3d 31 20 b8 20  6e 75 6d 66 6c 61 67 73  | I%=1 . numflags|
00005a10  63 25 0d 1d 1a 28 20 20  f1 23 61 64 76 66 25 2c  |c%...(  .#advf%,|
00005a20  66 6c 61 67 73 63 6e 75  6d 25 28 49 25 29 2c 66  |flagscnum%(I%),f|
00005a30  6c 61 67 73 63 25 28 49  25 29 0d 1d 24 05 ed 0d  |lagsc%(I%)..$...|
00005a40  1d 2e 24 e3 20 49 25 3d  31 20 b8 20 72 6f 6f 6d  |..$. I%=1 . room|
00005a50  25 3a f1 23 61 64 76 66  25 2c 72 6f 6f 6d 24 28  |%:.#advf%,room$(|
00005a60  49 25 29 0d 1d 38 27 20  20 e3 20 4a 25 3d 31 20  |I%)..8'  . J%=1 |
00005a70  b8 20 36 3a f1 23 61 64  76 66 25 2c 72 6f 6f 6d  |. 6:.#advf%,room|
00005a80  25 28 49 25 2c 4a 25 29  3a ed 0d 1d 42 05 ed 0d  |%(I%,J%):...B...|
00005a90  1d 4c 11 e3 20 49 25 3d  31 20 b8 20 6f 62 6a 25  |.L.. I%=1 . obj%|
00005aa0  0d 1d 56 40 20 20 f1 23  61 64 76 66 25 2c 6f 62  |..V@  .#advf%,ob|
00005ab0  6a 6c 6f 63 25 28 49 25  29 2c 6f 62 6a 73 74 61  |jloc%(I%),objsta|
00005ac0  74 25 28 49 25 29 2c 6f  62 6a 64 65 73 63 24 28  |t%(I%),objdesc$(|
00005ad0  49 25 29 2c 65 78 61 6d  69 6e 65 24 28 49 25 29  |I%),examine$(I%)|
00005ae0  0d 1d 60 26 20 20 f1 23  61 64 76 66 25 2c 6f 62  |..`&  .#advf%,ob|
00005af0  6a 61 63 74 25 28 49 25  29 2c 6f 62 6a 6e 6f 75  |jact%(I%),objnou|
00005b00  6e 25 28 49 25 29 0d 1d  6a 05 ed 0d 1d 74 13 e3  |n%(I%)..j....t..|
00005b10  20 49 25 3d 30 20 b8 20  70 75 7a 25 2d 31 0d 1d  | I%=0 . puz%-1..|
00005b20  7e 11 20 20 e3 20 4a 25  3d 30 20 b8 20 33 35 0d  |~.  . J%=0 . 35.|
00005b30  1d 88 22 20 20 20 20 d5  23 61 64 76 66 25 2c 70  |.."    .#advf%,p|
00005b40  75 7a 7a 6c 65 25 3f 28  49 25 2a 33 36 2b 4a 25  |uzzle%?(I%*36+J%|
00005b50  29 0d 1d 92 07 20 20 ed  0d 1d 9c 05 ed 0d 1d a6  |)....  .........|
00005b60  12 e3 20 49 25 3d 31 20  b8 20 74 65 78 74 25 0d  |.. I%=1 . text%.|
00005b70  1d b0 17 20 20 f1 23 61  64 76 66 25 2c 74 65 78  |...  .#advf%,tex|
00005b80  74 24 28 49 25 29 0d 1d  ba 05 ed 0d 1d c4 0b d9  |t$(I%)..........|
00005b90  23 61 64 76 66 25 0d 1d  ce 24 ff 22 53 45 54 54  |#advf%...$."SETT|
00005ba0  59 50 45 20 41 44 56 22  2b c3 73 6c 6f 74 25 2b  |YPE ADV"+.slot%+|
00005bb0  22 20 41 44 56 44 41 54  41 22 0d 1d d8 05 e1 0d  |" ADVDATA"......|
00005bc0  1d e2 05 3a 0d 1d ec 0a  dd f2 76 69 65 77 0d 1d  |...:......view..|
00005bd0  f6 05 db 0d 1e 00 5b 76  24 3d a4 69 6e 70 75 74  |......[v$=.input|
00005be0  28 30 2c 31 2c 22 44 6f  20 79 6f 75 20 77 61 6e  |(0,1,"Do you wan|
00005bf0  74 20 74 68 65 20 6f 75  74 70 75 74 20 73 65 6e  |t the output sen|
00005c00  74 20 74 6f 20 74 68 65  20 70 72 69 6e 74 65 72  |t to the printer|
00005c10  20 61 73 20 77 65 6c 6c  3f 20 28 79 2f 6e 29 3a  | as well? (y/n):|
00005c20  20 22 2c 37 2c 22 59 4e  79 6e 22 2c 31 29 0d 1e  | ",7,"YNyn",1)..|
00005c30  0a 20 f1 27 27 27 22 50  72 65 73 73 20 53 48 49  |. .'''"Press SHI|
00005c40  46 54 20 74 6f 20 73 63  72 6f 6c 6c 22 27 0d 1e  |FT to scroll"'..|
00005c50  14 1a e7 20 76 24 3d 22  59 22 20 84 20 76 24 3d  |... v$="Y" . v$=|
00005c60  22 79 22 20 8c 20 ef 32  0d 1e 1e 07 ef 31 34 0d  |"y" . .2.....14.|
00005c70  1e 28 1c f1 27 27 22 52  6f 6f 6d 20 64 65 73 63  |.(..''"Room desc|
00005c80  72 69 70 74 69 6f 6e 73  3a 22 27 0d 1e 32 12 e3  |riptions:"'..2..|
00005c90  20 49 25 3d 31 20 b8 20  72 6f 6f 6d 25 0d 1e 3c  | I%=1 . room%..<|
00005ca0  a4 f1 22 52 6f 6f 6d 20  22 3b 49 25 3b 22 20 2d  |.."Room ";I%;" -|
00005cb0  20 22 3b 72 6f 6f 6d 24  28 49 25 29 3b 22 20 3a  | ";room$(I%);" :|
00005cc0  20 4e 20 2d 20 22 3b 72  6f 6f 6d 25 28 49 25 2c  | N - ";room%(I%,|
00005cd0  31 29 3b 22 20 3a 20 53  20 2d 20 22 3b 72 6f 6f  |1);" : S - ";roo|
00005ce0  6d 25 28 49 25 2c 32 29  3b 22 20 3a 20 45 20 2d  |m%(I%,2);" : E -|
00005cf0  20 22 3b 72 6f 6f 6d 25  28 49 25 2c 33 29 3b 22  | ";room%(I%,3);"|
00005d00  20 3a 20 57 20 2d 20 22  3b 72 6f 6f 6d 25 28 49  | : W - ";room%(I|
00005d10  25 2c 34 29 3b 22 20 3a  20 55 20 2d 20 22 3b 72  |%,4);" : U - ";r|
00005d20  6f 6f 6d 25 28 49 25 2c  35 29 3b 22 20 3a 20 44  |oom%(I%,5);" : D|
00005d30  20 2d 20 22 3b 72 6f 6f  6d 25 28 49 25 2c 36 29  | - ";room%(I%,6)|
00005d40  27 0d 1e 46 05 ed 0d 1e  50 12 f1 27 27 22 4f 62  |'..F....P..''"Ob|
00005d50  6a 65 63 74 73 3a 22 27  0d 1e 5a 11 e3 20 49 25  |jects:"'..Z.. I%|
00005d60  3d 31 20 b8 20 6f 62 6a  25 0d 1e 64 ae 20 20 f1  |=1 . obj%..d.  .|
00005d70  22 4f 62 6a 65 63 74 20  22 3b 49 25 3b 22 3a 20  |"Object ";I%;": |
00005d80  22 3b 6f 62 6a 64 65 73  63 24 28 49 25 29 3b 22  |";objdesc$(I%);"|
00005d90  20 2d 20 52 6f 6f 6d 3a  20 22 3b 6f 62 6a 6c 6f  | - Room: ";objlo|
00005da0  63 25 28 49 25 29 3b 22  20 2d 20 53 74 61 74 75  |c%(I%);" - Statu|
00005db0  73 3a 20 22 3b 6f 62 6a  73 74 61 74 25 28 49 25  |s: ";objstat%(I%|
00005dc0  29 3b 22 20 2d 20 4b 65  79 73 3a 20 22 3b 61 63  |);" - Keys: ";ac|
00005dd0  74 69 6f 6e 24 28 6f 62  6a 61 63 74 25 28 49 25  |tion$(objact%(I%|
00005de0  29 29 3b 22 20 22 3b 6e  6f 75 6e 24 28 6f 62 6a  |));" ";noun$(obj|
00005df0  6e 6f 75 6e 25 28 49 25  29 29 3b 22 20 2d 20 45  |noun%(I%));" - E|
00005e00  78 61 6d 69 6e 65 3a 20  22 3b 65 78 61 6d 69 6e  |xamine: ";examin|
00005e10  65 24 28 49 25 29 27 0d  1e 6e 05 ed 0d 1e 78 18  |e$(I%)'..n....x.|
00005e20  f1 27 27 22 54 65 78 74  20 6d 65 73 73 61 67 65  |.''"Text message|
00005e30  73 3a 22 27 0d 1e 82 12  e3 20 49 25 3d 31 20 b8  |s:"'..... I%=1 .|
00005e40  20 74 65 78 74 25 0d 1e  8c 24 20 20 f1 22 4d 65  | text%...$  ."Me|
00005e50  73 73 61 67 65 20 22 3b  49 25 3b 22 3a 20 22 3b  |ssage ";I%;": ";|
00005e60  74 65 78 74 24 28 49 25  29 27 0d 1e 96 05 ed 0d  |text$(I%)'......|
00005e70  1e a0 15 f1 27 27 22 56  6f 63 61 62 75 6c 61 72  |....''"Vocabular|
00005e80  79 3a 22 27 0d 1e aa 12  e3 20 49 25 3d 31 20 b8  |y:"'..... I%=1 .|
00005e90  20 76 65 72 62 25 0d 1e  b4 34 20 20 f1 22 56 65  | verb%...4  ."Ve|
00005ea0  72 62 20 22 3b 49 25 3b  22 3a 20 22 3b 76 65 72  |rb ";I%;": ";ver|
00005eb0  62 24 28 49 25 29 3b 22  20 2d 20 49 44 3a 20 22  |b$(I%);" - ID: "|
00005ec0  3b 76 65 72 62 25 28 49  25 29 0d 1e be 05 ed 0d  |;verb%(I%)......|
00005ed0  1e c8 05 f1 0d 1e d2 12  e3 20 49 25 3d 31 20 b8  |......... I%=1 .|
00005ee0  20 6c 69 6e 6b 25 0d 1e  dc 39 20 20 f1 22 4c 69  | link%...9  ."Li|
00005ef0  6e 6b 20 77 6f 72 64 20  22 3b 49 25 3b 22 3a 20  |nk word ";I%;": |
00005f00  22 3b 6c 69 6e 6b 24 28  49 25 29 3b 22 20 2d 20  |";link$(I%);" - |
00005f10  49 44 3a 20 22 3b 6c 69  6e 6b 25 28 49 25 29 0d  |ID: ";link%(I%).|
00005f20  1e e6 05 ed 0d 1e f0 05  f1 0d 1e fa 14 e3 20 49  |.............. I|
00005f30  25 3d 31 20 b8 20 61 63  74 69 6f 6e 25 0d 1f 04  |%=1 . action%...|
00005f40  3f 20 20 f1 22 41 63 74  69 6f 6e 20 77 6f 72 64  |?  ."Action word|
00005f50  20 22 3b 49 25 3b 22 3a  20 22 3b 61 63 74 69 6f  | ";I%;": ";actio|
00005f60  6e 24 28 49 25 29 3b 22  20 2d 20 49 44 3a 20 22  |n$(I%);" - ID: "|
00005f70  3b 61 63 74 69 6f 6e 25  28 49 25 29 0d 1f 0e 05  |;action%(I%)....|
00005f80  ed 0d 1f 18 05 f1 0d 1f  22 12 e3 20 49 25 3d 31  |........".. I%=1|
00005f90  20 b8 20 6e 6f 75 6e 25  0d 1f 2c 34 20 20 f1 22  | . noun%..,4  ."|
00005fa0  4e 6f 75 6e 20 22 3b 49  25 3b 22 3a 20 22 3b 6e  |Noun ";I%;": ";n|
00005fb0  6f 75 6e 24 28 49 25 29  3b 22 20 2d 20 49 44 3a  |oun$(I%);" - ID:|
00005fc0  20 22 3b 6e 6f 75 6e 25  28 49 25 29 0d 1f 36 05  | ";noun%(I%)..6.|
00005fd0  ed 0d 1f 40 15 f1 27 27  22 50 75 7a 7a 6c 65 20  |...@..''"Puzzle |
00005fe0  44 61 74 61 3a 22 0d 1f  4a 13 e3 20 49 25 3d 30  |Data:"..J.. I%=0|
00005ff0  20 b8 20 70 75 7a 25 2d  31 0d 1f 54 13 20 20 f1  | . puz%-1..T.  .|
00006000  27 3b 49 25 2b 31 3b 22  3a 20 22 3b 0d 1f 5e 11  |';I%+1;": ";..^.|
00006010  20 20 e3 20 4a 25 3d 30  20 b8 20 31 37 0d 1f 68  |  . J%=0 . 17..h|
00006020  22 20 20 20 20 f1 20 3b  70 75 7a 7a 6c 65 25 3f  |"    . ;puzzle%?|
00006030  28 49 25 2a 33 36 2b 4a  25 29 3b 22 20 22 3b 0d  |(I%*36+J%);" ";.|
00006040  1f 72 07 20 20 ed 0d 1f  7c 0e 20 20 f1 22 2f 2f  |.r.  ...|.  ."//|
00006050  2f 20 22 3b 0d 1f 86 12  20 20 e3 20 4a 25 3d 31  |/ ";....  . J%=1|
00006060  38 20 b8 20 33 35 0d 1f  90 22 20 20 20 20 f1 20  |8 . 35..."    . |
00006070  3b 70 75 7a 7a 6c 65 25  3f 28 49 25 2a 33 36 2b  |;puzzle%?(I%*36+|
00006080  4a 25 29 3b 22 20 22 3b  0d 1f 9a 07 20 20 ed 0d  |J%);" ";....  ..|
00006090  1f a4 05 ed 0d 1f ae 17  f1 27 27 22 53 63 6f 72  |.........''"Scor|
000060a0  69 6e 67 20 44 61 74 61  3a 22 27 0d 1f b8 17 e3  |ing Data:"'.....|
000060b0  20 49 25 3d 31 20 b8 20  6e 75 6d 66 6c 61 67 73  | I%=1 . numflags|
000060c0  63 25 0d 1f c2 3e 20 20  f1 22 46 6c 61 67 20 22  |c%...>  ."Flag "|
000060d0  3b 66 6c 61 67 73 63 6e  75 6d 25 28 49 25 29 3b  |;flagscnum%(I%);|
000060e0  22 20 73 63 6f 72 65 73  20 22 3b 66 6c 61 67 73  |" scores ";flags|
000060f0  63 25 28 49 25 29 3b 22  20 70 6f 69 6e 74 73 22  |c%(I%);" points"|
00006100  0d 1f cc 05 ed 0d 1f d6  05 f1 0d 1f e0 16 e3 20  |............... |
00006110  49 25 3d 31 20 b8 20 6e  75 6d 6f 62 6a 73 63 25  |I%=1 . numobjsc%|
00006120  0d 1f ea 3e 20 20 f1 22  4f 62 6a 65 63 74 20 22  |...>  ."Object "|
00006130  3b 6f 62 6a 73 63 6e 75  6d 25 28 49 25 29 3b 22  |;objscnum%(I%);"|
00006140  20 73 63 6f 72 65 73 20  22 3b 6f 62 6a 73 63 25  | scores ";objsc%|
00006150  28 49 25 29 3b 22 20 70  6f 69 6e 74 73 22 0d 1f  |(I%);" points"..|
00006160  f4 05 ed 0d 1f fe 2d f1  22 42 6f 6e 75 73 20 6f  |......-."Bonus o|
00006170  66 20 22 3b 77 69 6e 73  63 25 3b 22 20 70 6f 69  |f ";winsc%;" poi|
00006180  6e 74 73 20 66 6f 72 20  77 69 6e 6e 69 6e 67 22  |nts for winning"|
00006190  0d 20 08 1d f1 27 27 22  4d 69 73 63 65 6c 6c 61  |. ...''"Miscella|
000061a0  6e 65 6f 75 73 20 44 61  74 61 3a 22 27 0d 20 12  |neous Data:"'. .|
000061b0  20 f1 22 53 74 61 72 74  69 6e 67 20 72 6f 6f 6d  | ."Starting room|
000061c0  3a 20 22 3b 73 74 61 72  74 6c 6f 63 25 0d 20 1c  |: ";startloc%. .|
000061d0  23 f1 22 53 74 61 72 74  69 6e 67 20 6d 65 73 73  |#."Starting mess|
000061e0  61 67 65 20 22 3b 73 74  61 72 74 6d 65 73 73 25  |age ";startmess%|
000061f0  0d 20 26 20 f1 22 43 61  72 72 79 20 6c 69 6d 69  |. & ."Carry limi|
00006200  74 3a 20 22 3b 63 61 72  72 79 6c 69 6d 69 74 25  |t: ";carrylimit%|
00006210  0d 20 30 1a f1 22 54 6f  74 61 6c 20 72 6f 6f 6d  |. 0.."Total room|
00006220  73 3a 20 22 3b 72 6f 6f  6d 25 0d 20 3a 1b f1 22  |s: ";room%. :.."|
00006230  54 6f 74 61 6c 20 6f 62  6a 65 63 74 73 3a 20 22  |Total objects: "|
00006240  3b 6f 62 6a 25 0d 20 44  51 f1 22 54 6f 74 61 6c  |;obj%. DQ."Total|
00006250  20 56 65 72 62 73 2c 4c  69 6e 6b 73 2c 41 63 74  | Verbs,Links,Act|
00006260  69 6f 6e 73 2c 4e 6f 75  6e 73 3a 20 22 3b 76 65  |ions,Nouns: ";ve|
00006270  72 62 25 3b 22 2c 20 22  3b 6c 69 6e 6b 25 3b 22  |rb%;", ";link%;"|
00006280  2c 20 22 3b 61 63 74 69  6f 6e 25 3b 22 2c 20 22  |, ";action%;", "|
00006290  3b 6e 6f 75 6e 25 0d 20  4e 22 f1 22 54 6f 74 61  |;noun%. N"."Tota|
000062a0  6c 20 74 65 78 74 20 6d  65 73 73 61 67 65 73 3a  |l text messages:|
000062b0  20 22 3b 74 65 78 74 25  0d 20 58 20 f1 22 54 6f  | ";text%. X ."To|
000062c0  74 61 6c 20 70 75 7a 7a  6c 65 20 6c 69 6e 65 73  |tal puzzle lines|
000062d0  3a 20 22 3b 70 75 7a 25  0d 20 62 27 f1 22 54 6f  |: ";puz%. b'."To|
000062e0  74 61 6c 20 73 63 6f 72  69 6e 67 20 66 6c 61 67  |tal scoring flag|
000062f0  73 3a 20 22 3b 6e 75 6d  66 6c 61 67 73 63 25 0d  |s: ";numflagsc%.|
00006300  20 6c 28 f1 22 54 6f 74  61 6c 20 73 63 6f 72 69  | l(."Total scori|
00006310  6e 67 20 6f 62 6a 65 63  74 73 3a 20 22 3b 6e 75  |ng objects: ";nu|
00006320  6d 6f 62 6a 73 63 25 0d  20 76 22 f1 27 22 50 72  |mobjsc%. v".'"Pr|
00006330  65 73 73 20 61 6e 79 20  6b 65 79 20 74 6f 20 63  |ess any key to c|
00006340  6f 6e 74 69 6e 75 65 2e  22 0d 20 80 07 ef 31 35  |ontinue.". ...15|
00006350  0d 20 8a 16 c8 99 22 4f  53 5f 42 79 74 65 22 2c  |. ...."OS_Byte",|
00006360  31 35 2c 30 2c 30 0d 20  94 07 41 3d a5 0d 20 9e  |15,0,0. ..A=.. .|
00006370  05 e1 0d 20 a8 05 3a 0d  20 b2 0b dd f2 72 65 73  |... ..:. ....res|
00006380  65 74 0d 20 bc 11 f1 8a  30 2c 32 35 29 3b 89 28  |et. ....0,25);.(|
00006390  38 30 29 0d 20 c6 60 63  68 6f 69 63 65 24 3d a4  |80). .`choice$=.|
000063a0  69 6e 70 75 74 28 31 2c  32 35 2c 22 41 72 65 20  |input(1,25,"Are |
000063b0  79 6f 75 20 73 75 72 65  20 79 6f 75 20 77 61 6e  |you sure you wan|
000063c0  74 20 74 6f 20 72 65 73  65 74 20 74 68 65 20 61  |t to reset the a|
000063d0  64 76 65 6e 74 75 72 65  20 64 61 74 61 3f 20 28  |dventure data? (|
000063e0  79 2f 6e 29 3a 20 22 2c  37 2c 22 59 4e 79 6e 22  |y/n): ",7,"YNyn"|
000063f0  2c 31 29 0d 20 d0 2a e7  20 63 68 6f 69 63 65 24  |,1). .*. choice$|
00006400  3d 22 59 22 20 84 20 63  68 6f 69 63 65 24 3d 22  |="Y" . choice$="|
00006410  79 22 20 8c 20 f2 64 6f  72 65 73 65 74 0d 20 da  |y" . .doreset. .|
00006420  05 e1 0d 20 e4 05 3a 0d  20 ee 0d dd f2 64 6f 72  |... ..:. ....dor|
00006430  65 73 65 74 0d 20 f8 45  76 65 72 62 25 3d 31 38  |eset. .Everb%=18|
00006440  3a 6c 69 6e 6b 25 3d 31  3a 61 63 74 69 6f 6e 25  |:link%=1:action%|
00006450  3d 36 3a 6e 6f 75 6e 25  3d 36 3a 6f 62 6a 25 3d  |=6:noun%=6:obj%=|
00006460  31 3a 77 69 6e 73 63 25  3d 30 3a 70 75 7a 25 3d  |1:winsc%=0:puz%=|
00006470  31 3a 74 65 78 74 25 3d  31 0d 21 02 3f 63 61 72  |1:text%=1.!.?car|
00006480  72 79 6c 69 6d 69 74 25  3d 33 3a 72 6f 6f 6d 25  |rylimit%=3:room%|
00006490  3d 31 3a 6e 75 6d 6f 62  6a 73 63 25 3d 31 3a 6e  |=1:numobjsc%=1:n|
000064a0  75 6d 66 6c 61 67 73 63  25 3d 31 3a 73 74 61 72  |umflagsc%=1:star|
000064b0  74 6d 65 73 73 25 3d 31  0d 21 0c 4a 65 64 72 6f  |tmess%=1.!.Jedro|
000064c0  6f 6d 25 3d 31 3a 65 64  6f 62 6a 25 3d 31 3a 65  |om%=1:edobj%=1:e|
000064d0  64 70 75 7a 25 3d 31 3a  65 64 73 63 6f 72 65 25  |dpuz%=1:edscore%|
000064e0  3d 31 3a 65 64 74 65 78  74 25 3d 31 3a 65 64 6e  |=1:edtext%=1:edn|
000064f0  6f 75 6e 25 3d 31 3a 65  64 61 63 74 69 6f 6e 25  |oun%=1:edaction%|
00006500  3d 31 0d 21 16 17 65 64  6c 69 6e 6b 25 3d 31 3a  |=1.!..edlink%=1:|
00006510  65 64 76 65 72 62 25 3d  31 0d 21 20 0f e3 20 49  |edverb%=1.! .. I|
00006520  25 3d 30 20 b8 20 33 35  0d 21 2a 14 20 20 70 75  |%=0 . 35.!*.  pu|
00006530  7a 7a 6c 65 25 3f 49 25  3d 32 35 35 0d 21 34 05  |zzle%?I%=255.!4.|
00006540  ed 0d 21 3e 1a e3 20 49  25 3d 33 36 20 b8 20 32  |..!>.. I%=36 . 2|
00006550  35 35 2a 33 36 2d 31 20  88 20 34 0d 21 48 12 20  |55*36-1 . 4.!H. |
00006560  20 70 75 7a 7a 6c 65 25  21 49 25 3d 30 0d 21 52  | puzzle%!I%=0.!R|
00006570  08 ed 20 49 25 0d 21 5c  05 f7 0d 21 66 12 e3 20  |.. I%.!\...!f.. |
00006580  49 25 3d 31 20 b8 20 76  65 72 62 25 0d 21 70 1e  |I%=1 . verb%.!p.|
00006590  20 20 f3 20 76 65 72 62  24 28 49 25 29 3a 76 65  |  . verb$(I%):ve|
000065a0  72 62 25 28 49 25 29 3d  49 25 0d 21 7a 05 ed 0d  |rb%(I%)=I%.!z...|
000065b0  21 84 48 76 65 72 62 24  28 31 39 29 3d 22 54 41  |!.Hverb$(19)="TA|
000065c0  4b 45 22 3a 76 65 72 62  25 28 31 39 29 3d 39 3a  |KE":verb%(19)=9:|
000065d0  76 65 72 62 24 28 32 30  29 3d 22 4c 45 41 56 45  |verb$(20)="LEAVE|
000065e0  22 3a 76 65 72 62 25 28  32 30 29 3d 31 30 3a 76  |":verb%(20)=10:v|
000065f0  65 72 62 25 3d 32 30 0d  21 8e 12 e3 20 49 25 3d  |erb%=20.!... I%=|
00006600  31 20 b8 20 6c 69 6e 6b  25 0d 21 98 1e 20 20 f3  |1 . link%.!..  .|
00006610  20 6c 69 6e 6b 24 28 49  25 29 3a 6c 69 6e 6b 25  | link$(I%):link%|
00006620  28 49 25 29 3d 49 25 0d  21 a2 05 ed 0d 21 ac 14  |(I%)=I%.!....!..|
00006630  e3 20 49 25 3d 31 20 b8  20 61 63 74 69 6f 6e 25  |. I%=1 . action%|
00006640  0d 21 b6 22 20 20 f3 20  61 63 74 69 6f 6e 24 28  |.!."  . action$(|
00006650  49 25 29 3a 61 63 74 69  6f 6e 25 28 49 25 29 3d  |I%):action%(I%)=|
00006660  49 25 0d 21 c0 05 ed 0d  21 ca 12 e3 20 49 25 3d  |I%.!....!... I%=|
00006670  31 20 b8 20 6e 6f 75 6e  25 0d 21 d4 1e 20 20 f3  |1 . noun%.!..  .|
00006680  20 6e 6f 75 6e 24 28 49  25 29 3a 6e 6f 75 6e 25  | noun$(I%):noun%|
00006690  28 49 25 29 3d 49 25 0d  21 de 05 ed 0d 21 e8 10  |(I%)=I%.!....!..|
000066a0  e3 20 49 25 3d 31 20 b8  20 32 35 33 0d 21 f2 1b  |. I%=1 . 253.!..|
000066b0  72 6f 6f 6d 24 28 49 25  29 3d 22 22 3a e3 20 4a  |room$(I%)="":. J|
000066c0  25 3d 31 20 b8 20 36 0d  21 fc 14 20 20 72 6f 6f  |%=1 . 6.!..  roo|
000066d0  6d 25 28 49 25 2c 4a 25  29 3d 30 0d 22 06 05 ed  |m%(I%,J%)=0."...|
000066e0  0d 22 10 10 e3 20 49 25  3d 31 20 b8 20 32 35 35  |."... I%=1 . 255|
000066f0  0d 22 1a 12 20 20 74 65  78 74 24 28 49 25 29 3d  |."..  text$(I%)=|
00006700  22 22 0d 22 24 05 ed 0d  22 2e 10 e3 20 49 25 3d  |""."$..."... I%=|
00006710  31 20 b8 20 32 35 35 0d  22 38 42 20 20 6f 62 6a  |1 . 255."8B  obj|
00006720  64 65 73 63 24 28 49 25  29 3d 22 22 3a 65 78 61  |desc$(I%)="":exa|
00006730  6d 69 6e 65 24 28 49 25  29 3d 22 22 3a 6f 62 6a  |mine$(I%)="":obj|
00006740  6c 6f 63 25 28 49 25 29  3d 30 3a 6f 62 6a 73 74  |loc%(I%)=0:objst|
00006750  61 74 25 28 49 25 29 3d  30 0d 22 42 05 ed 0d 22  |at%(I%)=0."B..."|
00006760  4c 10 e3 20 49 25 3d 31  20 b8 20 32 35 35 0d 22  |L.. I%=1 . 255."|
00006770  56 41 20 20 66 6c 61 67  73 63 6e 75 6d 25 28 49  |VA  flagscnum%(I|
00006780  25 29 3d 30 3a 6f 62 6a  73 63 6e 75 6d 25 28 49  |%)=0:objscnum%(I|
00006790  25 29 3d 30 3a 66 6c 61  67 73 63 25 28 49 25 29  |%)=0:flagsc%(I%)|
000067a0  3d 30 3a 6f 62 6a 73 63  25 28 49 25 29 3d 30 0d  |=0:objsc%(I%)=0.|
000067b0  22 60 05 ed 0d 22 6a 05  e1 0d 22 74 05 3a 0d 22  |"`..."j..."t.:."|
000067c0  7e 0a dd f2 71 75 69 74  0d 22 88 11 f1 8a 30 2c  |~...quit."....0,|
000067d0  32 35 29 3b 89 28 38 30  29 0d 22 92 4c 63 68 6f  |25);.(80).".Lcho|
000067e0  69 63 65 24 3d a4 69 6e  70 75 74 28 31 2c 32 35  |ice$=.input(1,25|
000067f0  2c 22 41 72 65 20 79 6f  75 20 73 75 72 65 20 79  |,"Are you sure y|
00006800  6f 75 20 77 61 6e 74 20  74 6f 20 71 75 69 74 3f  |ou want to quit?|
00006810  20 28 79 2f 6e 29 3a 20  22 2c 37 2c 22 59 4e 79  | (y/n): ",7,"YNy|
00006820  6e 22 2c 31 29 0d 22 9c  21 e7 20 63 68 6f 69 63  |n",1).".!. choic|
00006830  65 24 3d 22 59 22 20 84  20 63 68 6f 69 63 65 24  |e$="Y" . choice$|
00006840  3d 22 79 22 20 8c 0d 22  a6 14 20 20 f1 8a 31 2c  |="y" .."..  ..1,|
00006850  32 35 29 3b 89 28 36 30  29 3b 0d 22 b0 6a 20 20  |25);.(60);.".j  |
00006860  63 24 3d 22 44 6f 20 79  6f 75 20 77 61 6e 74 20  |c$="Do you want |
00006870  74 6f 20 73 61 76 65 20  74 68 65 20 61 64 76 65  |to save the adve|
00006880  6e 74 75 72 65 20 28 73  6c 6f 74 20 22 2b c3 73  |nture (slot "+.s|
00006890  6c 6f 74 25 2b 22 29 3f  20 28 79 2f 6e 29 3a 20  |lot%+")? (y/n): |
000068a0  22 3a 63 68 6f 69 63 65  24 3d a4 69 6e 70 75 74  |":choice$=.input|
000068b0  28 31 2c 32 35 2c 63 24  2c 37 2c 22 59 4e 79 6e  |(1,25,c$,7,"YNyn|
000068c0  22 2c 31 29 0d 22 ba 23  20 20 e7 20 63 68 6f 69  |",1).".#  . choi|
000068d0  63 65 24 3d 22 59 22 20  84 20 63 68 6f 69 63 65  |ce$="Y" . choice|
000068e0  24 3d 22 79 22 20 8c 0d  22 c4 12 20 20 20 20 f2  |$="y" .."..    .|
000068f0  73 61 76 65 66 69 6c 65  73 0d 22 ce 07 20 20 cd  |savefiles."..  .|
00006900  0d 22 d8 0e 66 69 6e 69  73 68 65 64 3d b9 0d 22  |."..finished=.."|
00006910  e2 2a c8 99 22 4f 53 5f  42 79 74 65 22 2c 32 32  |.*.."OS_Byte",22|
00006920  30 2c 32 37 2c 30 3a c8  99 22 4f 53 5f 42 79 74  |0,27,0:.."OS_Byt|
00006930  65 22 2c 34 2c 30 2c 30  0d 22 ec 05 cd 0d 22 f6  |e",4,0,0."....".|
00006940  05 e1 0d 23 00 05 3a 0d  23 0a 0a dd f2 69 6e 69  |...#..:.#....ini|
00006950  74 0d 23 14 2b c8 99 22  4f 53 5f 42 79 74 65 22  |t.#.+.."OS_Byte"|
00006960  2c 32 32 30 2c 32 34 33  2c 30 3a c8 99 22 4f 53  |,220,243,0:.."OS|
00006970  5f 42 79 74 65 22 2c 34  2c 31 2c 30 0d 23 1e 12  |_Byte",4,1,0.#..|
00006980  de 20 61 64 76 74 69 74  6c 65 24 28 38 29 0d 23  |. advtitle$(8).#|
00006990  28 0d 58 3d 8e 22 41 44  56 53 22 0d 23 32 0e e3  |(.X=."ADVS".#2..|
000069a0  20 49 25 3d 31 20 b8 20  38 0d 23 3c 17 20 20 e8  | I%=1 . 8.#<.  .|
000069b0  23 58 2c 61 64 76 74 69  74 6c 65 24 28 49 25 29  |#X,advtitle$(I%)|
000069c0  0d 23 46 05 ed 0d 23 50  07 d9 23 58 0d 23 5a 47  |.#F...#P..#X.#ZG|
000069d0  de 20 72 6f 6f 6d 24 28  32 35 33 29 2c 72 6f 6f  |. room$(253),roo|
000069e0  6d 25 28 32 35 33 2c 36  29 2c 70 75 7a 7a 6c 65  |m%(253,6),puzzle|
000069f0  25 20 32 35 35 2a 33 36  2c 6f 62 6a 6c 6f 63 25  |% 255*36,objloc%|
00006a00  28 32 35 35 29 2c 6f 62  6a 73 74 61 74 25 28 32  |(255),objstat%(2|
00006a10  35 35 29 0d 23 64 48 de  20 74 65 78 74 24 28 32  |55).#dH. text$(2|
00006a20  35 35 29 2c 6f 62 6a 73  63 25 28 32 35 35 29 2c  |55),objsc%(255),|
00006a30  6f 62 6a 73 63 6e 75 6d  25 28 32 35 35 29 2c 66  |objscnum%(255),f|
00006a40  6c 61 67 73 63 25 28 32  35 35 29 2c 66 6c 61 67  |lagsc%(255),flag|
00006a50  73 63 6e 75 6d 25 28 32  35 35 29 0d 23 6e 41 de  |scnum%(255).#nA.|
00006a60  20 76 65 72 62 24 28 32  35 35 29 2c 6c 69 6e 6b  | verb$(255),link|
00006a70  24 28 32 35 35 29 2c 61  63 74 69 6f 6e 24 28 32  |$(255),action$(2|
00006a80  35 35 29 2c 6e 6f 75 6e  24 28 32 35 35 29 2c 65  |55),noun$(255),e|
00006a90  78 61 6d 69 6e 65 24 28  32 35 35 29 0d 23 78 33  |xamine$(255).#x3|
00006aa0  de 20 76 65 72 62 25 28  32 35 35 29 2c 6c 69 6e  |. verb%(255),lin|
00006ab0  6b 25 28 32 35 35 29 2c  61 63 74 69 6f 6e 25 28  |k%(255),action%(|
00006ac0  32 35 35 29 2c 6e 6f 75  6e 25 28 32 35 35 29 0d  |255),noun%(255).|
00006ad0  23 82 2e de 20 6f 62 6a  61 63 74 25 28 32 35 35  |#... objact%(255|
00006ae0  29 2c 6f 62 6a 6e 6f 75  6e 25 28 32 35 35 29 2c  |),objnoun%(255),|
00006af0  6f 62 6a 64 65 73 63 24  28 32 35 35 29 0d 23 8c  |objdesc$(255).#.|
00006b00  40 76 65 72 62 25 3d 31  38 3a 6c 69 6e 6b 25 3d  |@verb%=18:link%=|
00006b10  31 3a 61 63 74 69 6f 6e  25 3d 36 3a 6e 6f 75 6e  |1:action%=6:noun|
00006b20  25 3d 36 3a 73 74 61 72  74 6c 6f 63 25 3d 31 3a  |%=6:startloc%=1:|
00006b30  63 61 72 72 79 6c 69 6d  69 74 25 3d 33 0d 23 96  |carrylimit%=3.#.|
00006b40  32 73 6c 6f 74 25 3d 31  3a 72 6f 6f 6d 25 3d 31  |2slot%=1:room%=1|
00006b50  3a 70 75 7a 25 3d 31 3a  6f 62 6a 25 3d 31 3a 74  |:puz%=1:obj%=1:t|
00006b60  65 78 74 25 3d 31 3a 77  69 6e 73 63 25 3d 30 0d  |ext%=1:winsc%=0.|
00006b70  23 a0 1c 6e 75 6d 6f 62  6a 73 63 25 3d 31 3a 6e  |#..numobjsc%=1:n|
00006b80  75 6d 66 6c 61 67 73 63  25 3d 31 0d 23 aa 4d 61  |umflagsc%=1.#.Ma|
00006b90  6c 6c 63 68 61 72 24 3d  22 41 42 43 44 45 46 47  |llchar$="ABCDEFG|
00006ba0  48 49 4a 4b 4c 4d 4e 4f  50 51 52 53 54 55 56 57  |HIJKLMNOPQRSTUVW|
00006bb0  58 59 5a 61 62 63 64 65  66 67 68 69 6a 6b 6c 6d  |XYZabcdefghijklm|
00006bc0  6e 6f 70 71 72 73 74 75  76 77 78 79 7a 30 31 32  |nopqrstuvwxyz012|
00006bd0  33 34 35 36 37 38 39 22  0d 23 b4 3b 61 6c 6c 63  |3456789".#.;allc|
00006be0  68 61 72 24 2b 3d 22 21  40 23 24 25 5e 26 2a 28  |har$+="!@#$%^&*(|
00006bf0  29 5f 2d 3d 2b 46 41 4c  53 45 46 4e 60 7e 5c 7c  |)_-=+FALSEFN`~\||
00006c00  5d 7d 5b 7b 27 3b 3a 2f  3f 2e 3e 2c 3c 20 22 2b  |]}[{';:/?.>,< "+|
00006c10  bd 33 34 0d 23 be 0c f2  64 6f 72 65 73 65 74 0d  |.34.#...doreset.|
00006c20  23 c8 0e f3 20 6d 65 6e  75 6e 75 6d 25 0d 23 d2  |#... menunum%.#.|
00006c30  42 de 20 6d 65 6e 75 6f  70 74 24 28 6d 65 6e 75  |B. menuopt$(menu|
00006c40  6e 75 6d 25 2c 39 29 2c  6d 65 6e 75 63 6f 6c 25  |num%,9),menucol%|
00006c50  28 6d 65 6e 75 6e 75 6d  25 29 2c 6d 65 6e 75 74  |(menunum%),menut|
00006c60  69 74 6c 65 24 28 6d 65  6e 75 6e 75 6d 25 29 0d  |itle$(menunum%).|
00006c70  23 dc 42 de 20 6d 65 6e  75 6e 75 6d 6f 70 74 25  |#.B. menunumopt%|
00006c80  28 6d 65 6e 75 6e 75 6d  25 29 2c 6d 65 6e 75 73  |(menunum%),menus|
00006c90  70 63 25 28 6d 65 6e 75  6e 75 6d 25 29 2c 6d 65  |pc%(menunum%),me|
00006ca0  6e 75 6f 70 74 78 25 28  6d 65 6e 75 6e 75 6d 25  |nuoptx%(menunum%|
00006cb0  29 0d 23 e6 41 de 20 6d  65 6e 75 6f 70 74 79 25  |).#.A. menuopty%|
00006cc0  28 6d 65 6e 75 6e 75 6d  25 29 2c 6d 65 6e 75 74  |(menunum%),menut|
00006cd0  63 6f 6c 25 28 6d 65 6e  75 6e 75 6d 25 29 2c 6d  |col%(menunum%),m|
00006ce0  65 6e 75 62 63 6f 6c 25  28 6d 65 6e 75 6e 75 6d  |enubcol%(menunum|
00006cf0  25 29 0d 23 f0 15 e3 20  49 25 3d 31 20 b8 20 6d  |%).#... I%=1 . m|
00006d00  65 6e 75 6e 75 6d 25 0d  23 fa 4c 20 20 f3 20 6d  |enunum%.#.L  . m|
00006d10  65 6e 75 74 69 74 6c 65  24 28 49 25 29 2c 6d 65  |enutitle$(I%),me|
00006d20  6e 75 74 63 6f 6c 25 28  49 25 29 2c 6d 65 6e 75  |nutcol%(I%),menu|
00006d30  62 63 6f 6c 25 28 49 25  29 2c 6d 65 6e 75 63 6f  |bcol%(I%),menuco|
00006d40  6c 25 28 49 25 29 2c 6d  65 6e 75 73 70 63 25 28  |l%(I%),menuspc%(|
00006d50  49 25 29 0d 24 04 33 20  20 f3 20 6d 65 6e 75 6f  |I%).$.3  . menuo|
00006d60  70 74 78 25 28 49 25 29  2c 6d 65 6e 75 6f 70 74  |ptx%(I%),menuopt|
00006d70  79 25 28 49 25 29 2c 6d  65 6e 75 6e 75 6d 6f 70  |y%(I%),menunumop|
00006d80  74 25 28 49 25 29 0d 24  0e 1e 20 20 e3 20 4a 25  |t%(I%).$..  . J%|
00006d90  3d 31 20 b8 20 6d 65 6e  75 6e 75 6d 6f 70 74 25  |=1 . menunumopt%|
00006da0  28 49 25 29 0d 24 18 19  20 20 20 20 f3 20 6d 65  |(I%).$..    . me|
00006db0  6e 75 6f 70 74 24 28 49  25 2c 4a 25 29 0d 24 22  |nuopt$(I%,J%).$"|
00006dc0  07 20 20 ed 0d 24 2c 05  ed 0d 24 36 05 e1 0d 24  |.  ..$,...$6...$|
00006dd0  40 05 3a 0d 24 4a 68 dc  20 4e 4f 52 54 48 2c 53  |@.:.$Jh. NORTH,S|
00006de0  4f 55 54 48 2c 45 41 53  54 2c 57 45 53 54 2c 55  |OUTH,EAST,WEST,U|
00006df0  50 2c 44 4f 57 4e 2c 47  4f 2c 4c 4f 4f 4b 2c 47  |P,DOWN,GO,LOOK,G|
00006e00  45 54 2c 44 52 4f 50 2c  49 4e 56 45 4e 54 4f 52  |ET,DROP,INVENTOR|
00006e10  59 2c 45 58 41 4d 49 4e  45 2c 48 45 4c 50 2c 57  |Y,EXAMINE,HELP,W|
00006e20  45 41 52 2c 51 55 49 54  2c 53 43 4f 52 45 2c 53  |EAR,QUIT,SCORE,S|
00006e30  41 56 45 2c 52 45 53 54  4f 52 45 0d 24 54 0a dc  |AVE,RESTORE.$T..|
00006e40  20 49 4e 54 4f 0d 24 5e  23 dc 20 4e 4f 52 54 48  | INTO.$^#. NORTH|
00006e50  2c 53 4f 55 54 48 2c 45  41 53 54 2c 57 45 53 54  |,SOUTH,EAST,WEST|
00006e60  2c 55 50 2c 44 4f 57 4e  0d 24 68 23 dc 20 4e 4f  |,UP,DOWN.$h#. NO|
00006e70  52 54 48 2c 53 4f 55 54  48 2c 45 41 53 54 2c 57  |RTH,SOUTH,EAST,W|
00006e80  45 53 54 2c 55 50 2c 44  4f 57 4e 0d 24 72 05 3a  |EST,UP,DOWN.$r.:|
00006e90  0d 24 7c 07 dc 20 33 0d  24 86 1f dc 20 22 4d 61  |.$|.. 3.$... "Ma|
00006ea0  69 6e 20 4d 65 6e 75 22  2c 37 2c 31 2c 33 2c 32  |in Menu",7,1,3,2|
00006eb0  2c 38 2c 35 2c 39 0d 24  90 c9 dc 20 22 31 20 2e  |,8,5,9.$... "1 .|
00006ec0  2e 20 45 64 69 74 20 72  6f 6f 6d 20 64 65 73 63  |. Edit room desc|
00006ed0  72 69 70 74 69 6f 6e 73  20 61 6e 64 20 63 6f 6e  |riptions and con|
00006ee0  6e 65 63 74 69 6f 6e 73  22 2c 22 32 20 2e 2e 20  |nections","2 .. |
00006ef0  45 64 69 74 20 6f 62 6a  65 63 74 20 64 65 73 63  |Edit object desc|
00006f00  72 69 70 74 69 6f 6e 73  20 61 6e 64 20 64 61 74  |riptions and dat|
00006f10  61 22 2c 22 33 20 2e 2e  20 45 64 69 74 20 76 6f  |a","3 .. Edit vo|
00006f20  63 61 62 75 6c 61 72 79  22 2c 22 34 20 2e 2e 20  |cabulary","4 .. |
00006f30  45 64 69 74 20 70 75 7a  7a 6c 65 20 6c 69 6e 65  |Edit puzzle line|
00006f40  20 64 61 74 61 22 2c 22  35 20 2e 2e 20 45 64 69  | data","5 .. Edi|
00006f50  74 20 74 65 78 74 20 6d  65 73 73 61 67 65 73 22  |t text messages"|
00006f60  2c 22 36 20 2e 2e 20 45  64 69 74 20 6d 69 73 63  |,"6 .. Edit misc|
00006f70  65 6c 6c 61 6e 65 6f 75  73 20 64 61 74 61 22 0d  |ellaneous data".|
00006f80  24 9a 55 dc 20 22 37 20  2e 2e 20 45 64 69 74 20  |$.U. "7 .. Edit |
00006f90  73 63 6f 72 69 6e 67 20  70 61 72 61 6d 65 74 65  |scoring paramete|
00006fa0  72 73 22 2c 22 38 20 2e  2e 20 46 69 6c 65 20 6d  |rs","8 .. File m|
00006fb0  61 6e 61 67 65 6d 65 6e  74 20 61 6e 64 20 75 74  |anagement and ut|
00006fc0  69 6c 69 74 69 65 73 22  2c 22 39 20 2e 2e 20 51  |ilities","9 .. Q|
00006fd0  75 69 74 22 0d 24 a4 24  dc 20 22 55 74 69 6c 69  |uit".$.$. "Utili|
00006fe0  74 69 65 73 20 4d 65 6e  75 22 2c 37 2c 36 2c 33  |ties Menu",7,6,3|
00006ff0  2c 32 2c 38 2c 35 2c 37  0d 24 ae cf dc 20 22 31  |,2,8,5,7.$... "1|
00007000  20 2e 2e 20 43 68 61 6e  67 65 20 61 64 76 65 6e  | .. Change adven|
00007010  74 75 72 65 20 64 61 74  61 20 73 6c 6f 74 22 2c  |ture data slot",|
00007020  22 32 20 2e 2e 20 43 68  61 6e 67 65 20 61 64 76  |"2 .. Change adv|
00007030  65 6e 74 75 72 65 20 74  69 74 6c 65 22 2c 22 33  |enture title","3|
00007040  20 2e 2e 20 4c 6f 61 64  20 61 64 76 65 6e 74 75  | .. Load adventu|
00007050  72 65 20 66 72 6f 6d 20  73 6c 6f 74 22 2c 22 34  |re from slot","4|
00007060  20 2e 2e 20 53 61 76 65  20 61 64 76 65 6e 74 75  | .. Save adventu|
00007070  72 65 20 74 6f 20 73 6c  6f 74 22 2c 22 35 20 2e  |re to slot","5 .|
00007080  2e 20 56 69 65 77 20 61  6c 6c 20 64 61 74 61 22  |. View all data"|
00007090  2c 22 36 20 2e 2e 20 52  65 73 65 74 20 61 64 76  |,"6 .. Reset adv|
000070a0  65 6e 74 75 72 65 20 64  61 74 61 22 2c 22 37 20  |enture data","7 |
000070b0  2e 2e 20 52 65 74 75 72  6e 20 74 6f 20 6d 61 69  |.. Return to mai|
000070c0  6e 20 6d 65 6e 75 22 0d  24 b8 2a dc 20 22 56 6f  |n menu".$.*. "Vo|
000070d0  63 61 62 75 6c 61 72 79  20 65 64 69 74 20 4d 65  |cabulary edit Me|
000070e0  6e 75 22 2c 32 2c 35 2c  33 2c 32 2c 38 2c 35 2c  |nu",2,5,3,2,8,5,|
000070f0  35 0d 24 c2 74 dc 20 22  31 20 2e 2e 20 45 64 69  |5.$.t. "1 .. Edi|
00007100  74 20 76 65 72 62 73 22  2c 22 32 20 2e 2e 20 45  |t verbs","2 .. E|
00007110  64 69 74 20 6c 69 6e 6b  20 77 6f 72 64 73 22 2c  |dit link words",|
00007120  22 33 20 2e 2e 20 45 64  69 74 20 61 63 74 69 6f  |"3 .. Edit actio|
00007130  6e 20 77 6f 72 64 73 22  2c 22 34 20 2e 2e 20 45  |n words","4 .. E|
00007140  64 69 74 20 6e 6f 75 6e  73 22 2c 22 35 20 2e 2e  |dit nouns","5 ..|
00007150  20 52 65 74 75 72 6e 20  74 6f 20 6d 61 69 6e 20  | Return to main |
00007160  6d 65 6e 75 22 0d 24 cc  05 3a 0d 24 d6 11 dd f2  |menu".$..:.$....|
00007170  6d 65 6e 75 28 6d 65 6e  75 25 29 0d 24 e0 1e 6f  |menu(menu%).$..o|
00007180  70 74 6e 75 6d 25 3d 6d  65 6e 75 6e 75 6d 6f 70  |ptnum%=menunumop|
00007190  74 25 28 6d 65 6e 75 25  29 0d 24 ea 1b 6f 70 74  |t%(menu%).$..opt|
000071a0  73 70 63 25 3d 6d 65 6e  75 73 70 63 25 28 6d 65  |spc%=menuspc%(me|
000071b0  6e 75 25 29 0d 24 f4 1a  6f 70 74 78 25 3d 6d 65  |nu%).$..optx%=me|
000071c0  6e 75 6f 70 74 78 25 28  6d 65 6e 75 25 29 0d 24  |nuoptx%(menu%).$|
000071d0  fe 1a 6f 70 74 79 25 3d  6d 65 6e 75 6f 70 74 79  |..opty%=menuopty|
000071e0  25 28 6d 65 6e 75 25 29  0d 25 08 1b 6f 70 74 63  |%(menu%).%..optc|
000071f0  6f 6c 25 3d 6d 65 6e 75  63 6f 6c 25 28 6d 65 6e  |ol%=menucol%(men|
00007200  75 25 29 0d 25 12 3f f2  74 69 74 6c 65 28 6d 65  |u%).%.?.title(me|
00007210  6e 75 74 69 74 6c 65 24  28 6d 65 6e 75 25 29 2c  |nutitle$(menu%),|
00007220  6d 65 6e 75 74 63 6f 6c  25 28 6d 65 6e 75 25 29  |menutcol%(menu%)|
00007230  2c 6d 65 6e 75 62 63 6f  6c 25 28 6d 65 6e 75 25  |,menubcol%(menu%|
00007240  29 29 0d 25 1c 0d fb 20  6f 70 74 63 6f 6c 25 0d  |)).%... optcol%.|
00007250  25 26 09 6f 6e 25 3d 31  0d 25 30 05 f5 0d 25 3a  |%&.on%=1.%0...%:|
00007260  28 20 20 f1 8a 6f 70 74  78 25 2c 6f 70 74 79 25  |(  ..optx%,opty%|
00007270  29 3b 6d 65 6e 75 6f 70  74 24 28 6d 65 6e 75 25  |);menuopt$(menu%|
00007280  2c 6f 6e 25 29 0d 25 44  0c 20 20 6f 6e 25 2b 3d  |,on%).%D.  on%+=|
00007290  31 0d 25 4e 14 20 20 6f  70 74 79 25 2b 3d 6f 70  |1.%N.  opty%+=op|
000072a0  74 73 70 63 25 0d 25 58  11 fd 20 6f 6e 25 3e 6f  |tspc%.%X.. on%>o|
000072b0  70 74 6e 75 6d 25 0d 25  62 05 e1 0d 25 6c 05 3a  |ptnum%.%b...%l.:|
000072c0  0d 25 76 1f dd f2 74 69  74 6c 65 28 74 69 74 6c  |.%v...title(titl|
000072d0  65 24 2c 74 63 6f 6c 25  2c 62 63 6f 6c 25 29 0d  |e$,tcol%,bcol%).|
000072e0  25 80 3d 74 6c 25 3d a9  28 74 69 74 6c 65 24 29  |%.=tl%=.(title$)|
000072f0  2a 31 36 3a 74 70 25 3d  28 38 30 2d a9 74 69 74  |*16:tp%=(80-.tit|
00007300  6c 65 24 29 2f 32 2d 31  3a 74 78 25 3d 28 31 32  |le$)/2-1:tx%=(12|
00007310  38 30 2d 74 6c 25 29 2f  32 2d 31 36 0d 25 8a 25  |80-tl%)/2-16.%.%|
00007320  db 3a e6 20 62 63 6f 6c  25 3a c8 93 20 74 78 25  |.:. bcol%:.. tx%|
00007330  2d 33 32 2c 39 34 34 2c  74 6c 25 2b 36 34 2c 36  |-32,944,tl%+64,6|
00007340  34 0d 25 94 1b fb 20 74  63 6f 6c 25 3a f1 8a 74  |4.%... tcol%:..t|
00007350  70 25 2c 31 29 3b 74 69  74 6c 65 24 0d 25 9e 05  |p%,1);title$.%..|
00007360  e1 0d 25 a8 05 3a 0d 25  b2 30 dd a4 69 6e 70 75  |..%..:.%.0..inpu|
00007370  74 28 78 70 6f 73 25 2c  79 70 6f 73 25 2c 70 72  |t(xpos%,ypos%,pr|
00007380  6f 6d 70 74 24 2c 63 6f  6c 25 2c 6f 6b 24 2c 6c  |ompt$,col%,ok$,l|
00007390  6e 67 74 68 25 29 0d 25  bc 15 c8 99 22 4f 53 5f  |ngth%).%...."OS_|
000073a0  42 79 74 65 22 2c 34 2c  30 2c 30 0d 25 c6 0a fb  |Byte",4,0,0.%...|
000073b0  20 63 6f 6c 25 0d 25 d0  18 69 6e 70 24 3d 22 22  | col%.%..inp$=""|
000073c0  3a 6c 6e 25 3d 30 3a 66  69 6e 25 3d 30 0d 25 da  |:ln%=0:fin%=0.%.|
000073d0  1b f1 8a 78 70 6f 73 25  2c 79 70 6f 73 25 29 3b  |...xpos%,ypos%);|
000073e0  70 72 6f 6d 70 74 24 3b  0d 25 e4 05 f5 0d 25 ee  |prompt$;.%....%.|
000073f0  07 20 20 f5 0d 25 f8 0c  20 20 20 20 61 24 3d be  |.  ..%..    a$=.|
00007400  0d 26 02 19 20 20 20 20  e7 20 61 24 3d bd 38 20  |.&..    . a$=.8 |
00007410  8c 20 61 24 3d bd 31 32  37 0d 26 0c 25 20 20 fd  |. a$=.127.&.%  .|
00007420  20 a7 6f 6b 24 2c 61 24  29 3e 30 20 84 20 61 24  | .ok$,a$)>0 . a$|
00007430  3d bd 31 32 37 20 84 20  61 24 3d bd 31 33 0d 26  |=.127 . a$=.13.&|
00007440  16 0f 20 20 e7 20 6c 6e  25 3d 30 20 8c 0d 26 20  |..  . ln%=0 ..& |
00007450  1e 20 20 20 20 e7 20 61  24 3c 3e bd 31 33 20 80  |.    . a$<>.13 .|
00007460  20 61 24 3c 3e bd 31 32  37 20 8c 0d 26 2a 12 20  | a$<>.127 ..&*. |
00007470  20 20 20 20 20 69 6e 70  24 2b 3d 61 24 0d 26 34  |     inp$+=a$.&4|
00007480  10 20 20 20 20 20 20 6c  6e 25 2b 3d 31 0d 26 3e  |.      ln%+=1.&>|
00007490  26 20 20 20 20 20 20 f1  8a 78 70 6f 73 25 2c 79  |&      ..xpos%,y|
000074a0  70 6f 73 25 29 3b 70 72  6f 6d 70 74 24 3b 69 6e  |pos%);prompt$;in|
000074b0  70 24 3b 0d 26 48 09 20  20 20 20 cc 0d 26 52 14  |p$;.&H.    ..&R.|
000074c0  20 20 20 20 20 20 e7 20  61 24 3d bd 31 33 20 8c  |      . a$=.13 .|
000074d0  0d 26 5c 13 20 20 20 20  20 20 20 20 66 69 6e 25  |.&\.        fin%|
000074e0  3d 2d 31 0d 26 66 0b 20  20 20 20 20 20 cd 0d 26  |=-1.&f.      ..&|
000074f0  70 09 20 20 20 20 cd 0d  26 7a 07 20 20 cc 0d 26  |p.    ..&z.  ..&|
00007500  84 1e 20 20 20 20 e7 20  6c 6e 25 3e 30 20 80 20  |..    . ln%>0 . |
00007510  6c 6e 25 3c 6c 6e 67 74  68 25 20 8c 0d 26 8e 14  |ln%<lngth% ..&..|
00007520  20 20 20 20 20 20 e7 20  61 24 3d bd 31 33 20 8c  |      . a$=.13 .|
00007530  0d 26 98 13 20 20 20 20  20 20 20 20 66 69 6e 25  |.&..        fin%|
00007540  3d 2d 31 0d 26 a2 0b 20  20 20 20 20 20 cc 0d 26  |=-1.&..      ..&|
00007550  ac 17 20 20 20 20 20 20  20 20 e7 20 61 24 3d bd  |..        . a$=.|
00007560  31 32 37 20 8c 0d 26 b6  1f 20 20 20 20 20 20 20  |127 ..&..       |
00007570  20 20 20 69 6e 70 24 3d  c0 69 6e 70 24 2c 6c 6e  |   inp$=.inp$,ln|
00007580  25 2d 31 29 0d 26 c0 14  20 20 20 20 20 20 20 20  |%-1).&..        |
00007590  20 20 6c 6e 25 2d 3d 31  0d 26 ca 31 20 20 20 20  |  ln%-=1.&.1    |
000075a0  20 20 20 20 20 20 f1 8a  78 70 6f 73 25 2c 79 70  |      ..xpos%,yp|
000075b0  6f 73 25 29 3b 70 72 6f  6d 70 74 24 3b 69 6e 70  |os%);prompt$;inp|
000075c0  24 3b 22 20 22 3b bd 38  3b 0d 26 d4 0d 20 20 20  |$;" ";.8;.&..   |
000075d0  20 20 20 20 20 cc 0d 26  de 14 20 20 20 20 20 20  |     ..&..      |
000075e0  20 20 20 20 6c 6e 25 2b  3d 31 0d 26 e8 16 20 20  |    ln%+=1.&..  |
000075f0  20 20 20 20 20 20 20 20  69 6e 70 24 2b 3d 61 24  |        inp$+=a$|
00007600  0d 26 f2 2a 20 20 20 20  20 20 20 20 20 20 f1 8a  |.&.*          ..|
00007610  78 70 6f 73 25 2c 79 70  6f 73 25 29 3b 70 72 6f  |xpos%,ypos%);pro|
00007620  6d 70 74 24 3b 69 6e 70  24 3b 0d 26 fc 0d 20 20  |mpt$;inp$;.&..  |
00007630  20 20 20 20 20 20 cd 0d  27 06 0b 20 20 20 20 20  |      ..'..     |
00007640  20 cd 0d 27 10 09 20 20  20 20 cc 0d 27 1a 14 20  | ..'..    ..'.. |
00007650  20 20 20 20 20 e7 20 61  24 3d bd 31 33 20 8c 0d  |     . a$=.13 ..|
00007660  27 24 13 20 20 20 20 20  20 20 20 66 69 6e 25 3d  |'$.        fin%=|
00007670  2d 31 0d 27 2e 0b 20 20  20 20 20 20 cc 0d 27 38  |-1.'..      ..'8|
00007680  17 20 20 20 20 20 20 20  20 e7 20 61 24 3d bd 31  |.        . a$=.1|
00007690  32 37 20 8c 0d 27 42 14  20 20 20 20 20 20 20 20  |27 ..'B.        |
000076a0  20 20 6c 6e 25 2d 3d 31  0d 27 4c 1d 20 20 20 20  |  ln%-=1.'L.    |
000076b0  20 20 20 20 20 20 69 6e  70 24 3d c0 69 6e 70 24  |      inp$=.inp$|
000076c0  2c 6c 6e 25 29 0d 27 56  31 20 20 20 20 20 20 20  |,ln%).'V1       |
000076d0  20 20 20 f1 8a 78 70 6f  73 25 2c 79 70 6f 73 25  |   ..xpos%,ypos%|
000076e0  29 3b 70 72 6f 6d 70 74  24 3b 69 6e 70 24 3b 22  |);prompt$;inp$;"|
000076f0  20 22 3b bd 38 3b 0d 27  60 0d 20 20 20 20 20 20  | ";.8;.'`.      |
00007700  20 20 cd 0d 27 6a 0b 20  20 20 20 20 20 cd 0d 27  |  ..'j.      ..'|
00007710  74 09 20 20 20 20 cd 0d  27 7e 07 20 20 cd 0d 27  |t.    ..'~.  ..'|
00007720  88 0a fd 20 66 69 6e 25  0d 27 92 15 c8 99 22 4f  |... fin%.'...."O|
00007730  53 5f 42 79 74 65 22 2c  34 2c 31 2c 30 0d 27 9c  |S_Byte",4,1,0.'.|
00007740  09 3d 69 6e 70 24 0d ff                           |.=inp$..|
00007748