100 I=1:S1=PEEK(53280):S2=PEEK(53281):POKE53280,0:POKE53281,0 105 FORJ=ITO50:BL$=BL$+" ":NEXT 110 PRINT"[147] [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 120 PRINT" [221] SPELLING CHALLENGE [221]" 130 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 140 PRINT:PRINT" CREATED BY" 150 PRINT" MICHAEL BROUSSARD" 155 PRINT" PLEASE WAIT WHILE THE PROGRAM READS" 157 PRINTTAB(10)"ITS VOCABULARY WORDS" 160 MW=750:ML=20:DIMW$(MW):N=.:NL=I:DIML(ML):L(I)=I 170 READN$:IFN$="END"THEN200 175 IFN$="*"THENIFNLMWTHENPRINT"TOO MANY WORDS--CAN'T SAVE MORE THAN"MW:N=N-I:GOTO200 190 W$(N)=N$:GOTO170 200 IFL(NL)>NTHENNL=NL-I 205 L(NL+1)=N+I:GOTO1000 397 REM RETURN INDEX OF P1$ IN PA$ AS PR, STARTING AS PS. IF PE IS TRUE, ONLY 398 REM MATCH AT END, IF PN IS TRUE, DON'T MATCH AT END. IF PB IS TRUE, DON'T 399 REM MATCH AT BEGINNING 400 PR=.:P1=LEN(P1$):P2=LEN(PA$):PI=PS:IFPE=.THEN415 405 IFP1P2-P1+ITHENRETURN 420 IFMID$(PA$,PI,P1)<>P1$THENPI=PI+I:GOTO415 425 IFPNTHENIFPI+P1-I=P2THENRETURN 430 IFPBTHENIFPI=ITHENPI=PI+I:GOTO415 435 PR=PI 440 REMSTARTING AT PR,REPLACE P1$ WITH P2$ IN PA$, CREATING PB$ 445 IFPFTHENRETURN 450 PB$=LEFT$(PA$,PR-I)+P2$+MID$(PA$,PR+LEN(P1$)) 455 NT=NT+I:RETURN 500 NT=.:P1$="^":PS=I:PE=.:PN=.:PF=I:GOSUB400 505 IFPR=.THEN515 510 PB$=MID$(PA$,PR+I,LEN(PA$)-PR):PA$=LEFT$(PA$,PR-I):NT=I:RETURN 515 PF=.:PB=.:PS=I:PN=.:PE=.:REM MATCH ANYWHERE 520 P1$="NN":P2$="N":GOSUB400:IFNTTHENRETURN 525 P1$="MM":P2$="M":GOSUB400:IFNTTHENRETURN 530 P1$="ZZ":P2$="Z":GOSUB400:IFNTTHENRETURN 535 PB=I:PN=.:PE=I:REM MATCH AT END NOT AT BEGINNING 537 P1$="LE":P2$="EL":GOSUB400:IFNTTHENRETURN 540 P1$="OR":P2$="ER":GOSUB400:IFNTTHENRETURN 542 P1$="ENCE":P2$="ANCE":GOSUB400:IFNTTHENRETURN 543 P1$="ANCE":P2$="ENCE":GOSUB400:IFNTTHENRETURN 545 P1$="AR":P2$="ER":GOSUB400:IFNTTHENRETURN 550 P1$="ARY":P2$="ERY":GOSUB400:IFNTTHENRETURN 555 P1$="ENT":P2$="ANT":GOSUB400:IFNTTHENRETURN 560 P1$="ANT":P2$="ENT":GOSUB400:IFNTTHENRETURN 565 P1$="ABLE":P2$="IBLE":GOSUB400:IFNTTHENRETURN 570 P1$="IBLE":P2$="ABLE":GOSUB400:IFNTTHENRETURN 575 P1$="IOUS":P2$="UOUS":GOSUB400:IFNTTHENRETURN 577 P1$="UOUS":P2$="OUS":GOSUB400:IFNTTHENRETURN 580 PN=.:PE=.:PB=I:REM DON'T MATCH AT BEGINNING 585 P1$="EI":P2$="IE":GOSUB400:IFNTTHENRETURN 590 P1$="SC":P2$="C":GOSUB400:IFNTTHENRETURN 595 P1$="Z":P2$="ZZ":GOSUB400:IFNTTHENRETURN 600 PE=.:PN=I:PB=.:REM DON'T MATCH AT END 605 P1$="SS":P2$="S":GOSUB400:IFNTTHENRETURN 610 P1$="IE":P2$="EI":GOSUB400:IFNTTHENRETURN 615 P1$="LY":P2$="LI":GOSUB400:IFNTTHENRETURN 620 PE=. : PN=. : REM MATCH ANYWHERE 625 P1$="MO":P2$="MA":GOSUB400:IFNTTHENRETURN 630 P1$="LL":P2$="L":GOSUB400:IFNTTHENRETURN 635 P1$="BB":P2$="B":GOSUB400:IFNTTHENRETURN 640 P1$="CC":P2$="C":GOSUB400:IFNTTHENRETURN 645 P1$="TT":P2$="T":GOSUB400:IFNTTHENRETURN 650 P1$="FF":P2$="F":GOSUB400:IFNTTHENRETURN 655 P1$="RR":P2$="R":GOSUB400:IFNTTHENRETURN 660 P1$="PP":P2$="P":GOSUB400:IFNTTHENRETURN 665 P1$="YL":P2$="IL":GOSUB400:IFNTTHENRETURN 670 P1$="CQ":P2$="Q":GOSUB400:IFNTTHENRETURN 675 P1$="UOUS":P2$="OUS":GOSUB400:IFNTTHENRETURN 680 P1$="YS":P2$="IS":GOSUB400:IFNTTHENRETURN 685 IFNT=.THENPB$=PA$ 690 RETURN 899 REM RETURN A WORD IN PA$ AT RANDOM 900 IFHI.ANDNP<11THEN1020 1010 GOSUB1850:GOTO1000 1020 PRINT:PRINT:PRINT"THERE ARE"N"SPELLING WORDS,":PRINT"DIVIDED INTO"; 1025 IFNL=ITHENPRINT" 1 LEVEL":GOTO1040 1030 PRINTNL"LEVELS" 1040 PRINT:L1=.:L2=.:IFNL=ITHENL1=I:L2=I:GOTO1080 1045 PRINT"WHICH LEVEL WOULD YOU LIKE THE" 1050 T$=MID$(STR$(NL),2):PRINT"EASIEST WORDS TO COME FROM (1-"T$")";:INPUT L1 1055 IFL1<1ORL1>NLTHENPRINT"[145][145]":GOTO1050 1060 IFL1=NLTHENL2=NL:GOTO1080 1065 PRINT:PRINT"WHICH LEVEL WOULD YOU LIKE THE" 1070 PRINT"HARDEST WORDS TO COME FROM ("MID$(STR$(L1),2)"-"T$")";: INPUT L2 1075 IFL2NLTHENPRINT"[145][145]":GOTO1050 1080 LO=I:HI=. 1090 PRINT:PRINT"HOW MANY WORDS FOR THIS GAME";:INPUTNW 1100 IFNW<1THENPRINT"[145][145][145]":GOTO1090 1125 IFNP>ITHEN1500 1130 CT=. 1140 FF=.:PRINT"[147]":GOSUB2000:GOSUB5000 1150 IFFFTHENSC=SC+I 1160 CT=CT+I:GOSUB2000:GOSUB6000 1167 IF CTNPTHENP=I 1520 PRINT"[147]":PRINTTAB(6)"PLAYER"P" SCORE:"SS(P);"OUT OF"NW 1540 FF=.:GOSUB5000 1546 GOSUB6000:IFFFTHENSS(P)=SS(P)+I 1550 IFSS(P)>=NWTHEN1600 1560 IFFFTHEN1520 1570 GOTO1510 1600 PRINT"[147]"SPC(12)"PLAYER"P"WINS!":FORJ=ITO4:GOSUB1800:NEXT:GOTO4000 1800 FORP1=ITO2:POKE54296,15:POKE54277,0:POKE54278,247:POKE54276,33 1805 POKE54273,34:POKE54272,0:FORP2=ITO150:NEXT:POKE54276,32 1810 FORP2=ITO50:NEXTP2:NEXTP1:RETURN 1850 POKE54296,15:POKE54277,45:POKE54278,165:POKE54276,33 1855 POKE54273,8:POKE54272,5:FORP2=ITO250:NEXT:POKE54276,16:RETURN 2000 PRINT""TAB(9)"SCORE:";SC"[157] OUT OF"CT;:IFCT=.THENX=.:GOTO2010 2005 X=INT(SC/(CT)*100+.5) 2010 PRINT"[157][160] ("MID$(STR$(X),2)"%)[146]":RETURN 3000 PRINT"[147]":GOSUB2000:PRINT:PRINT:PRINT 3010 ONINT(X/20)+IGOTO3030,3040,3050,3060,3070,3080 3030 GOSUB1850:PRINT"MAYBE YOU OUGHT TO BUY A DICTIONARY!":GOTO4000 3040 PRINT"WHO CARES ABOUT SPELLING ANYWAY?":GOTO4000 3050 PRINT"NOT BAD, KEEP PRACTICING.":GOTO4000 3060 PRINT"GREAT! YOU ARE ON YOUR WAY TO BEING A GOOD SPELLER!":GOTO4000 3070 GOSUB1800:PRINT"EXCELLENT! YOU ARE A SUPER SPELLER!":GOTO4000 3080 FORX=ITO3:GOSUB1800:NEXTX:PRINT"FANTASTIC! YOU GOT THEM ALL!":GOTO4000 4000 FORJ=ITO4000:NEXT:POKE53280,S1:POKE53281,S2:END 5000 FF=.:XF=0:GOSUB900:IFMID$(PA$,1,1)="<"THENXF=1:PA$=MID$(PA$,2) 5005 GOSUB500:IFXFTHENT$=PA$:PA$=PB$:PB$=T$ 5010 IFRND(.)<.25THENPB$=PA$:GOTO5020 5020 PRINT""TAB(15)"TEST WORD" 5030 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]":W=8+INT((22-LEN(PB$))/2) 5040 PRINTMID$(BL$,I,W);PB$ 5050 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 5060 PRINT""TAB(7)"GUESS THE CORRECT SPELLING:" 5070 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 5080 PRINTMID$(BL$,I,W);PB$ 5090 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]" 5100 PRINT"[145][145]"TAB(10):INPUTX$:JJ=I 5130 PRINT:IFX$=PA$THENPRINT""TAB(16)"CORRECT":GOSUB1800:FF=I:GOTO5150 5140 PRINT""TAB(5)"SORRY, THE CORRECT SPELLING IS:":GOSUB1850 5150 PRINT" [176][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][174]" 5160 PRINTMID$(BL$,I,W);PA$ 5170 PRINT" [173][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][189]":RETURN 6000 FOR XX=1 TO 1500:NEXT:PRINT"" 6010 FORIX=ITO21:PRINT"";:NEXT:PRINT" *** PRESS ANY KEY TO CONTINUE ***" 6020 T$="":GETT$:IFT$=""THEN6020 6030 RETURN 34000 I=1:KK=.:PRINT"[147] VOCABULARY CHECK":PRINT:PRINT"OUTPUT TO PRINTER (P)" 34010 T$="":PRINT" OR SCREEN (S) P[157][157][157]";:INPUTT$ 34015 IFT$<>"P"ANDT$<>"S"THEN34000 34020 F=3:IFT$="P"THENF=4 34030 MW=1000:DIMW$(MW):N=. 34040 READN$:IFN$="END"THEN35000 34050 IFN$="*"THEN34040 34060 N=N+1:W$(N)=N$:GOTO34040 34999 END 35000 OPEN4,F:PRINT#4,"CORRECT WORD INCORRECT WORD" 35005 PRINT#4,"------- ---- --------- ----" 35010 FORJ=1TON:PA$=W$(J):XF=0:IFMID$(PA$,1,1)="<"THENXF=1:PA$=MID$(PA$,2) 35020 GOSUB500:IFXFTHENT$=PA$:PA$=PB$:PB$=T$ 35030 PRINT#4,PA$;MID$(" ",1,20-LEN(PA$));PB$; 35040 T$="[160][160][160]":IFPA$=PB$THENT$="***" 35050 PRINT#4," "T$:KK=KK+1:IFKK<23ORF=4THEN35090 35060 PRINT"PAUSING--HIT ANY KEY TO CONTINUE":T$="":KK=. 35070 GETT$:IFT$=""THEN35070 35080 PRINT"[145] " 35090 NEXTJ:CLOSE4:END 36000 XF=0:I=1:INPUT"TEST WORD";PA$:IFPA$="STOP"THENEND 36010 IFMID$(PA$,1,1)="<"THENPA$=MID$(PA$,2):XF=1 36020 GOSUB500:IFXFTHENT$=PA$:PA$=PB$:PB$=T$ 36030 PRINT" CORRECT WORD: ";PA$ 36040 T$=" ":IFPA$=PB$THENT$="***" 36050 PRINTT$" INCORRECT: ";PB$ 36060 PRINT:GOTO36000 50000 DATAOPERATOR,TIGER^TIGGER,MOTOR,CARPET^CARPIT,