10 DEFFNS="GessWri" 20 DIM card$(13) 30 MODE7 40 REM*SA. GessDat E00+0 50 REM*SA. GessPtr E00+0 60 REM*SA. GessUse E00+0 70 REPEAT 80 F1%=OPENUP"GessDat" 90 F2%=OPENUP"GessPtr" 100 F3%=OPENUP"GessUse" 110 ONERROR CLOSE#F1%:CLOSE#F2%:CLOSE#F3%:REPORT:PRINTERL:END 120 REPEAT:*FX21 130 CLS 140 PRINT"ƒCreate data for Guess Who." 150 PRINT"‚Program by, game adapted by C.J.R."'' 160 PRINT"†Number of entries=";EXT#F3%' 170 PRINT"…(E)nter a new record" 180 PRINT"…(T)est out" 190 PRINT"…(C)lose files" 200 A$=GET$ 210 IF A$="T" MODE0:PROCtest:MODE7:A$="" 220 IF A$="E" PROCenter:A$="" 230 UNTIL A$="C":CLOSE#F1%:CLOSE#F2%:CLOSE#F3% 240 UNTILFALSE 250 DEFPROCenter:CLS 260 PTR#F1%=EXT#F1% 270 PTR#F2%=EXT#F2% 280 PTR#F3%=EXT#F3% 290 INPUTLINE"ƒName etc"'card$(1) 300 INPUTLINE"‚Birthdate, place, death"'card$(2) 310 INPUTLINE"…General info"'card$(3) 320 FORL%=4TO13:PRINT"‚Clue "'STR$(L%-4);"."; 330 INPUTLINEcard$(L%):NEXT 340 REPEAT 350 CLS 360 PRINT"ƒ1. Name etc"'card$(1) 370 PRINT"‚2. Birthdate, place, death"'card$(2) 380 PRINT"…3. General info"'card$(3) 390 PRINT"‚Clues":FORL%=4TO13:IF L%>9 PRINTCHR$(L%+55); ELSE PRINTSTR$(L%); 400 PRINT". ";card$(L%):NEXT 410 PRINT"ƒField to alter? Any other to end":A$=GET$:F%=VAL A$:IF INSTR("ABCD",A$) F%=ASC(A$)-55 420 IF F%<>0 IF F%>3 PRINT"ƒField "'A$;".";:INPUTLINEcard$(F%) 430 IF F%<>0 IF F%<4 PRINT"ƒField "'A$:INPUTLINE'card$(F%) 440 UNTILF%=0 450 BPUT#F3%,0 460 BPUT#F2%,PTR#F1% MOD 256 470 BPUT#F2%,PTR#F1% DIV 256 480 FORL%=1TO13:PRINT#F1%,card$(L%):NEXT 490 ENDPROC 500 DEFPROCtest 510 FORL%=1TOEXT#F3%:CLS:PRINTSTR$(L%);" of ";EXT#F3% 520 P%=BGET#F2%+(BGET#F2%*256) 530 PTR#F1%=P% 540 FORI%=1TO13:Z%=PTR#F1%:INPUT#F1%,A$:PRINTA$;TAB(40); 550 PRINT"At &";STR$~Z%;" Length-";STR$(LENA$):NEXT 560 A$=GET$:IFA$="J"INPUT"Go to? "L% 570 NEXT 580 ENDPROC