Back to Main page. Back to Main tapes page. 10 REM:BY BILL MCFADDEN OF BENSON 20 REM:COMPLETED 5-24-77 30 REM:ALL RIGHTS RESERVED 40 REM:MADLIB, A WORD INSERTION GAME 50 DIM X$[255],Y$[72],X[30,60] 55 MAT X=ZER 60 FILES MAD.B904 70 ENTER 1,A,Y$ 80 IF A>0 THEN 130 90 PRINT "THIS IS THE GAME OF MADLIB. YOU WILL BE ASKED TO TYPE IN" 100 PRINT "WORDS WHICH WILL BE INSERTED BY THE COMPUTER INTO ONE" 105 PRINT "OR MORE HUMEROUS STORIES." 110 PRINT "MAKE SURE YOU HIT THE 'RETURN' KEY AFTER EACH ENTRY" 120 REM:INPUT WORDS 130 PRINT "TYPE IN TEN ADJECTIVES (WORDS THAT DESCRIBE SOMETHING)" 135 Z=0 140 FOR X=1 TO 10 150 GOSUB 830 160 NEXT X 170 PRINT "GOOD. NOW I NEED THE NAMES OF TEN OBJECTS IN THEIR SINGULAR FORM." 180 FOR X=1 TO 10 190 GOSUB 830 200 NEXT X 210 PRINT "THANK YOU FOR YOUR PATIENCE. NEXT, THREE ADVERBS." 220 PRINT "(WORDS THAT DESCRIBE HOW SOMETHING IS DONE)." 230 GOSUB 830 240 GOSUB 830 250 GOSUB 830 260 PRINT "A GIRL'S FIRST NAME "; 270 GOSUB 830 280 PRINT "A LIQUID "; 290 GOSUB 830 300 PRINT "SOMEONE'S LAST NAME "; 310 GOSUB 830 320 PRINT "AN INTERJECTION (EXCLAMATORY PHRASE) "; 330 GOSUB 830 340 PRINT "A BOY'S FIRST NAME "; 350 GOSUB 830 360 PRINT "A GEOGRAPHICAL LOCATION(PLACE) "; 370 GOSUB 830 380 PRINT "A NUMBER "; 390 INPUT X 400 CONVERT X TO X$ 410 GOSUB 832 420 REM:CHOOSE MADLIB 430 PRINT "NOW THE FUN BEGINS. CHOOSE THE 'MADLIB' YOU WOULD LIKE." 440 PRINT " (0) DO A CERTAIN NUMBER OF MADLIBS IN SEQUENCE" 450 PRINT " (1) NEWSPAPER AD"'10'13" (2) WESTERN"'10'13" (3) ARMY AD" 460 PRINT " (4) SHARK STORY"'10'13" (5) ALLGOO FACE CREAM AD" 470 PRINT " (6) WATERBED COMPLAINT" 480 REM:READ 'MAD' FILE 490 PRINT "WHICH ONE WOULD YOU LIKE "; 500 LINPUT Y$ 502 IF Y$="" THEN 440 504 CONVERT Y$ TO A,440 506 IF A<0 OR A>6 OR INT(A)#A THEN 440 510 B=A 520 IF A THEN 550 530 PRINT "START,STOP "; 540 INPUT A,B 550 IF END #1 THEN 490 560 PRINT LIN(-10) 570 FOR D=A TO B 580 C=D*2-1 590 READ #1,C 600 GOTO TYP(-1)-1 OF 730,870,780 610 REM:READ NO. AND PRINT CORRESPONDING STRING 620 READ #1;Z 630 IF Z THEN 655 640 PRINT ". "; 650 GOTO 600 655 X$="" 660 FOR X=1 TO 60 665 IF X[Z,X]=0 THEN 690 670 X$[X,X]=CHR$(X[Z,X]) 680 NEXT X 690 IF Z#27 THEN 710 700 X$[LEN(X$)+1]="!" 710 PRINT " ";X$; 720 GOTO 600 730 REM:READ STORY AND PRINT 740 READ #1;Y$ 745 X=POS("'S",Y$[1,1]) 746 IF X AND LEN(Y$)<4 THEN 750 747 PRINT " "; 750 PRINT Y$; 760 GOTO 600 770 REM:NEXT RECORD 780 C=C+1 790 IF C=D*2+1 THEN 870 800 GOTO 590 820 REM:INPUT WORD 825 PRINT "SORRY, THAT'S TOO LONG...PLEASE SHORTEN IT." 827 Z=Z-1 830 INPUT X$ 832 Z=Z+1 834 IF LEN(X$)>60 THEN 825 836 FOR C=1 TO LEN(X$) 838 X[Z,C]=NUM(X$[C,C]) 840 NEXT C 850 RETURN 860 REM:AGAIN? 870 PRINT LIN(-10) 880 NEXT D 890 PRINT "WOULD YOU LIKE TO USE THE SAME WORDS" 900 PRINT "IN A DIFFERENT STORY "; 910 LINPUT Y$ 920 IF Y$[1,1]="Y" THEN 490 930 END