10 REM MAD LIBS 20 DIM WORD$(2000),C$(1),BUF$(100) 30 NTYPE=6:DIM Q(NTYPE),NWORD(NTYPE) 40 RESTORE 2000:TYPE=0:I=1:NT=0 50 READ BUF$:IF BUF$(1,1)="&" THEN 90 60 N=LEN(BUF$):NWORD(TYPE)=NWORD(TYPE)+1:NT=NT+1 70 WORD$(I,I+N-1)=BUF$:WORD$(I+N,I+N)=";" 80 I=I+N+1:GOTO 50 90 TYPE=TYPE+1:IF TYPE>NTYPE THEN 110 100 NWORD(TYPE)=0:Q(TYPE)=NT:GOTO 50 110 DIM P(NT):K=0:P(K)=1 120 FOR J=2 TO LEN(WORD$) 130 IF WORD$(J,J)<>";" THEN 150 140 K=K+1:P(K)=J+1 150 NEXT J:GOTO 300 200 ? :? "Same story (Y/N)";:INPUT C$ 210 ? :IF C$="Y" THEN 310 220 IF C$="N" THEN 240 230 ? CHR$(253):GOTO 200 240 GRAPHICS 0:? "Position tape and" 250 ? "press RETURN when ready." 260 POSITION 2,22:? "GOTO 300" 270 POSITION 2,20:POKE 842,13 280 ENTER "C:" 300 POKE 842,12:GRAPHICS 0 310 RESTORE 1000 320 READ BUF$:IF BUF$="The End" THEN 200 330 FOR J=1 TO LEN(BUF$) 340 C$=BUF$(J,J):IF C$="&" THEN 370 350 IF C$=";" THEN C$="," 360 ? C$;:GOTO 470 370 IF BUF$(J+1,J+3)="boy" THEN TYPE=5:J=J+3:GOTO 440 380 IF BUF$(J+1,J+4)="girl" THEN TYPE=6:J=J+4:GOTO 440 390 IF BUF$(J+1,J+4)="noun" THEN TYPE=1:J=J+4:GOTO 440 400 IF BUF$(J+1,J+4)="verb" THEN TYPE=2:J=J+4:GOTO 440 410 IF BUF$(J+1,J+6)="adverb" THEN TYPE=4:J=J+6:GOTO 440 420 IF BUF$(J+1,J+9)="adjective" THEN TYPE=3:J=J+9:GOTO 440 430 ? "BAD STORY":STOP 440 K=Q(TYPE)+INT(NWORD(TYPE)*RND(0)) 450 LEFT=P(K):RIGHT=P(K+1)-2 460 ? WORD$(LEFT,RIGHT); 470 NEXT J:? :GOTO 320 1000 DATA LOVE STORY 1010 DATA ---- ----- 1020 DATA It was a &adjective winter 1030 DATA night in New England. &girl 1040 DATA and &boy were cuddled up in 1050 DATA front of a roaring &noun. 1060 DATA "Oh; my &noun; she whispered 1070 DATA &adverb; "put your &noun on 1080 DATA my &noun and tell me you 1090 DATA &verb me." 1100 DATA "Yes; my &noun"; he replied 1110 DATA &adverb. "Tonight you look 1120 DATA like the most &adjective &noun 1130 DATA I have ever seen." 1140 DATA She laughed modestly. "It 1150 DATA must be true that beauty is 1160 DATA in the &noun of the &noun!" 1170 DATA The End 2000 DATA &noun 2010 DATA blimp,pork chop, 3000 DATA &verb 3010 DATA drop,burp,tickle, 4000 DATA &adjective 4010 DATA ugly,boring,putrid,silly, 5000 DATA &adverb 5010 DATA badly,loudly,awkwardly, 6000 DATA &boy 6010 DATA Jeff,Dad,Abe Lincoln, 7000 DATA &girl 7010 DATA Julie,Mom,Betsy Ross, 8000 DATA &end