10 S=65520:POKE783,PEEK(783)AND254:POKE53280,7:POKE53281,1:PRINTCHR$(142) 11 LW=1544:LS=1384:CW=55816:CS=55656:P1$="[129]THAT LETTER IS NOT AVAILABLE.[144]" 12 PRINTCHR$(8):P2$=" WRONG [146][144]":P3$="[129] RIGHT [146][144]":DIMSL$(35):F=54272 13 DIMDF$(40),WD$(40),ST$(40) 20 GOTO100 27 : 28 REM *** WORD LETTER SOUND *** 29 : 30 POKEF+1,14:POKEF+5,3:POKEF+6,255-15:POKEF+24,15:POKEF+4,17 31 FORD=3TO40STEP15:POKEF+1,D:POKEF+4,17:NEXTD:POKEF+4,16:RETURN 37 : 38 REM *** BACKSPACE SOUND *** 39 : 40 POKEF+1,14:POKEF+5,3:POKEF+6,255-15:POKEF+24,15:POKEF+4,17 41 FORD=1TO40STEP10:POKEF+1,40-D:POKEF+4,17:NEXTD:POKEF+4,16:RETURN 47 : 48 REM *** WRONG ANSWER SOUND *** 49 : 50 POKEF+24,15:POKEF+6,240:POKEF+4,17 51 FORA=1TO4:FORX1=1TO25:POKEF+1,80-X1:NEXTX1:NEXTA:POKEF+4,32:POKEF+4,16:RETURN 57 : 58 REM *** RIGHT ANSWER SOUND *** 59 : 60 POKEF+24,15:POKEF+6,240:POKEF+4,17 61 FORA=1TO4:FORX1=16TO62STEP4:POKEF+1,77-X1:NEXTX1:NEXTA:POKEF+4,32: 62 POKEF+4,16:RETURN 67 : 68 REM *** SCRAMBLED LETTER SOUND *** 69 : 70 POKEF+24,15:POKEF+6,240:POKEF+4,17 71 FORX1=25TO1STEP-4:POKEF+1,26-X1:NEXTX1:POKEF+4,32:POKEF+4,16:RETURN 77 : 78 REM *** DELAY LOOP *** 79 : 80 IFPEEK(198)=1THENRETURN 81 FORX1=1TO500:NEXT:RETURN 99 : 100 GOSUB30000:REM *** TITLE PAGE *** 101 : 110 GOSUB31000:REM *** READ TEXT FILE *** 119 : 120 POKE781,23:POKE782,5:SYSS:PRINT"[129]PRESS TO CONTINUE.[144]" 130 POKE198,0:WAIT198,1:GETKEY$ 140 IFKEY$=CHR$(133)THEN400:REM *** PRINT FINAL SCORE - END GAME *** 149 : 150 GOSUB32000:REM *** INSTRUCTIONS *** 160 Q%=1:SC=0:GU$="":Z9=0 169 : 170 GOSUB33000:REM *** SKILL LEVELS *** 180 VC=13:HC=3:VL=8:HL=3:GU$="" 189 : 190 GOSUB2000:REM *** GET DEFINITION, WORDS, SENTENCES *** 199 : 200 GOSUB2050:REM *** SCRAMBLE LETTERS *** 209 : 210 GOSUB2100:REM *** FORMAT SCREEN *** 219 : 220 LF=34:V=4:H=3:Q$=DF$:GOSUB 2300:REM *** PRINT DEFINTIION *** 229 : 230 POKE781,9:POKE782,3:SYSS 235 REM *** PRINT SCRAMBLED LETTERS W/SOUND *** 240 FORX=1TOLEN(SL$):PRINTSL$(X)" ";:GOSUB30:NEXT 249 : 250 GU$="":GOSUB2400:REM *** GET KEYBOARD INPUT *** 251 : 252 IFFLAG=1THENHC=3:FORX=1TOLEN(WD$):POKE781,VC:POKE782,HC:SYSS 253 IFFLAG=1THENPRINTMID$(WD$,X,1);" ":HC=HC+2:NEXT:FLAG=0 259 : 260 LF=34:V=17:H=3:Q$=ST$:GOSUB2300:REM *** PRINT SENTENCE *** 269 : 270 IFKEY$=CHR$(133)THEN300:REM *** F1 PRESSED *** 279 : 280 GOSUB2700:REM *** FIGURE AND PRINT SCORE *** 299 : 300 POKE781,23:POKE782,1:SYSS:PRINT"[129]DO YOU WANT TO CONTINUE (Y/N)? [144]"; 310 POKE198,0:WAIT198,1:GETKEY$ 320 IFKEY$="N"THENPRINTCHR$(147):GOTO350 330 IFKEY$="Y"THEN180:REM *** GET ANOTHER WORD *** 340 GOTO300 349 : 350 POKE781,23:POKE782,1:SYSS:PRINT"DO YOU WANT TO PLAY AGAIN (Y/N)? "; 360 POKE198,0:WAIT198,1:GETKEY$ 370 IFKEY$="N"THEN400 380 IFKEY$="Y"THENGOSUB31030:GOTO160:REM *** SET UP NEW SKILL LEVEL *** 390 GOTO350 399 : 400 PRINTCHR$(147):PRINT:PRINT"YOUR FINAL SCORE WAS "SC%:FLAG=0 409 : 410 OPEN15,8,15:OPEN4,8,4,"0:DABBLE SCORE,SEQ,READ" 420 FORX=0TO9:INPUT#4,H$(X,0):INPUT#4,H$(X,1):NEXT:CLOSE4:CLOSE15 429 : 430 IFSC%[160]";IT$ 520 PRINT:PRINT"ONE MOMENT, PLEASE....." 529 : 530 IFIT$=""THENIT$="AAA" 535 IFLEN(IT$)>3THENIT$=LEFT$(IT$,3) 540 H$(9,0)=IT$:H$(9,1)=RIGHT$(STR$(SC%),LEN(STR$(SC%))-1) 550 FORI=0TO8:FORJ=I+1TO9:IFVAL(H$(I,1))>=VAL(H$(J,1))THEN 580 560 K$=H$(I,1):H$(I,1)=H$(J,1):H$(J,1)=K$ 570 K$=H$(I,0):H$(I,0)=H$(J,0):H$(J,0)=K$ 580 NEXTJ:NEXTI 589 : 590 OPEN15,8,15,"S0:DABBLE SCORE" 600 OPEN4,8,4,"0:DABBLE SCORE,SEQ,WRITE" 610 FORX=0TO9:PRINT#4,H$(X,0):PRINT#4,H$(X,1):NEXT 620 CLOSE4:CLOSE15 629 : 630 POKE781,23:POKE782,1:SYSS:PRINT"PRESS TO CONTINUE." 640 POKE198,0:WAIT198,1:GETKEY$ 649 : 650 PRINTCHR$(147):PRINT"HIGH SCORES FOR DABBLE ARE:" 660 PRINT:FORX=0TO9:PRINTH$(X,0);TAB(15-LEN(H$(X,1)));H$(X,1):PRINT:NEXT 670 POKE781,23:POKE782,1:SYSS:PRINT"PRESS TO CONTINUE." 680 POKE198,0:WAIT198,1:GETKEY$ 690 PRINTCHR$(147):POKE781,15:POKE782,1:SYSS 700 PRINT"THANKS FOR PLAYING DABBLE!" 709 : 800 GOTO63000:REM *** END *** 1997 : 1998 REM *** GET DEFINITION ETC. *** 1999 : 2000 Z9=Z9+1:IFZ9>RTHEN2020 2010 DF$=DF$(Z9):WD$=WD$(Z9):ST$=ST$(Z9):RETURN 2020 PRINTCHR$(147):PRINT"ONE MOMENT, PLEASE, WHILE I GET SOME" 2025 PRINT"MORE QUESTIONS......." 2030 GOSUB31030:Z9=0:GOTO2000 2047 : 2048 REM *** SCRAMBLE LETTERS *** 2050 SL$=WD$ 2060 FORZ=1TOLTR:J$=CHR$(((RND(1)*26)+1)+64):SL$=SL$+J$:NEXT 2065 IFLEN(SL$)>17THENSL$=LEFT$(SL$,17) 2070 FORZ=1TOLEN(SL$):SL$(Z)=MID$(SL$,Z,1):NEXT 2080 FORZ=1TOLEN(SL$):A%=(RND(1)*LEN(SL$))+1:TQ$=SL$(Z):SL$(Z)=SL$(A%) 2085 SL$(A%)=TQ$:NEXT 2087 RETURN 2097 : 2098 REM *** FORMAT SCREEN *** 2099 : 2100 PRINTCHR$(147):POKE781,0:POKE782,16:SYSS:PRINT"[129] DABBLE " 2105 POKE781,2:POKE782,1:SYSS:FORX=0TO37:PRINT"[149][218]";:NEXT 2110 POKE781,7:POKE782,1:SYSS:FORX=0TO37:PRINT"[218]";:NEXT: 2120 POKE781,11:POKE782,1:SYSS:FORX=0TO37:PRINT"[218]";:NEXT: 2130 POKE781,15:POKE782,1:SYSS:FORX=0TO37:PRINT"[218]";:NEXT: 2140 POKE781,20:POKE782,1:SYSS:FORX=0TO37:PRINT"[218]";:NEXT: 2150 FORX=2TO19:POKE781,X:POKE782,1:SYSS:PRINT"[149][218]";TAB(38)"[218][144]":NEXT 2160 POKE781,2:POKE782,14:SYSS:PRINT"[129] DEFINITION " 2170 POKE781,7:POKE782,15:SYSS:PRINT" LETTERS " 2180 POKE781,11:POKE782,12:SYSS:PRINT" SPELL THE WORD " 2190 POKE781,15:POKE782,15:SYSS:PRINT" SENTENCE [144]" 2195 POKE781,21:POKE782,1:SYSS:PRINT"PRESS [129]DEL[144] TO BACK UP" 2200 POKE781,22:POKE782,1:SYSS:PRINT"PRESS [129]F1[144] TO GIVE UP" 2210 POKE781,22:POKE782,23:SYSS:PRINT"SCORE >>" 2220 POKE781,22:POKE782,38-LEN(STR$(SC%)):SYSS:PRINTSC% 2230 SL=LEN(WD$):IFSL*2>=36THEN2250 2240 POKE781,13:POKE782,3:SYSS:FORX=1TOSL:PRINT"[164] ";:NEXT:GOTO2260 2250 POKE781,13:POKE782,3:SYSS:FORX=1TOSL:PRINT"[164]";:NEXT 2260 RETURN 2297 : 2298 REM *** FORMAT STATEMENTS *** 2299 : 2300 IFLEN(Q$)>LFTHEN2320 2310 POKE781,V:POKE782,H:SYSS:PRINTQ$:RETURN 2320 YF=0:XF=LF 2330 IFMID$(Q$,XF,1)=CHR$(32)THENPOKE781,V:POKE782,H:SYSS 2335 IFMID$(Q$,XF,1)=CHR$(32)THENPRINTLEFT$(Q$,XF-1):V=V+1:GOTO2350 2340 XF=XF-1:GOTO2330 2350 YF=XF+LF:IFYF>LEN(Q$)THENYF=LEN(Q$)-XF 2360 IFYF<=LFTHENPOKE781,V:POKE782,H:SYSS:PRINTRIGHT$(Q$,YF):RETURN 2370 IFMID$(Q$,YF,1)=CHR$(32)THENPOKE781,V:POKE782,H:SYSS 2375 IFMID$(Q$,YF,1)=CHR$(32)THENPRINTMID$(Q$,XF+1,YF-XF):XF=YF:V=V+1:GOTO2360 2380 YF=YF-1:GOTO2370 2396 : 2397 REM *** KEYBOARD IMPUT AND *** 2398 REM *** PRINTING TO SCREEN *** 2399 : 2400 POKE781,VC:POKE782,HC:SYSS:FLAG=0:POKE198,0:WAIT198,1:GETKEY$ 2405 IFLEN(GU$)>LEN(WD$)THEN2400 2410 POKE781,23:POKE782,1:SYSS:PRINT" " 2420 IFKEY$=CHR$(133)THENFLAG=1:GOTO2690 2425 IFKEY$=CHR$(20)THENPOKE781,12:POKE782,30:SYSS:PRINT" ":GOTO2540 2430 IFKEY$CHR$(90)THEN2400 2440 FORX=LS+3TO(LS+3)+(LEN(SL$)*2)STEP2 2450 IFASC(KEY$)=PEEK(X)+64THENLOC=X:CC=X-LS:X=(LS+3)+(LEN(SL$)*2):FLAG=1 2460 NEXT 2470 IFFLAG=0THENPOKE781,23:POKE782,1:SYSS:PRINTP1$:GOSUB50:GOTO2400 2480 POKE781,VC:POKE782,HC:SYSS:PRINTKEY$:GOSUB30 2490 POKELOC,ASC(KEY$)+64:POKECS+CC,6:GOSUB70 2500 GU$=GU$+KEY$:HC=HC+2:FLAG=0 2505 IFFLAG=1THENGU$=GU$+KEY$:HC=HC+2:GOTO2564 2510 IFLEN(GU$) TO CONTINUE."; 32260 POKE198,0:WAIT198,1:GETKEY$:PRINTCHR$(147) 32270 PRINT:PRINT" [217]OUR MISSION (SHOULD YOU DECIDE TO" 32280 PRINT:PRINT"ACCEPT IT) IS TO SPELL THE DEFINED" 32290 PRINT:PRINT"WORD. [217]OU WILL RECEIVE POINTS FOR EACH" 32300 PRINT:PRINT"WORD BASED ON LETTER VALUES, THE NUMBER" 32310 PRINT:PRINT"OF LETTERS IN THE WORD, AND THE LEVEL" 32320 PRINT:PRINT"CHOSEN." 32330 PRINT:PRINT" [212]HE TOP 10 HIGH SCORES ARE SAVED TO" 32340 PRINT:PRINT"DISK." 32350 PRINT:PRINT" [193]FTER YOU HAVE CORRECTLY SPELLED THE" 32360 PRINT:PRINT"WORD (OR GIVEN UP!), A SENTENCE" 32370 PRINT:PRINT"WILL BE GIVEN USING THE WORD." 32380 POKE781,23:POKE782,5:SYSS:PRINT"[208]RESS <[211][208][193][195][197] [194][193][210]> TO CONTINUE."; 32390 POKE198,0:WAIT198,1:GETKEY$ 32400 PRINTCHR$(9):PRINTCHR$(142):PRINTCHR$(8):GOTO32140 32996 : 32997 REM *** SKILL LEVELS *** 32998 : 33000 PRINTCHR$(147):PRINT" <<< CHOOSE YOUR SKILL LEVEL >>> " 33010 PRINT:PRINT"LEVEL <1> - THE EASIEST":PRINT:PRINT"LEVEL <2>":PRINT 33020 PRINT"LEVEL <3>":PRINT:PRINT"LEVEL <4>" 33030 PRINT:PRINT"LEVEL <5> - THE HARDEST" 33040 POKE781,13:POKE782,1:SYSS:PRINT"WHICH LEVEL DO YOU WANT TO TRY (1-5)? "; 33050 POKE198,0:WAIT198,1:GETKEY$ 33060 IFASC(KEY$)<49ORASC(KEY$)>53THENGOTO33040 33070 KEY=VAL(KEY$):ONKEYGOTO33080,33090,33100,33110,33120 33080 LEVEL=KEY:LTR=2:GOTO33130 33090 LEVEL=KEY:LTR=4:GOTO33130 33100 LEVEL=KEY:LTR=6:GOTO33130 33110 LEVEL=KEY:LTR=8:GOTO33130 33120 LEVEL=KEY:LTR=10 33130 RETURN 63000 REM CONNECT BACK TO LOADSTAR 63010 PRINT"LOAD"CHR$(34)"HELLO"CHR$(34)",8":PRINT"RUN" 63020 POKE631,13:POKE632,13:POKE198,2:END