Back to Main page. Back to Main tapes page. 1000 REM:BY BILL MCFADDEN OF BENSON 1010 REM:COMPLETED 5-24-77 1020 REM:ALL RIGHTS RESERVED 1030 REM:MADLIB, A WORD INSERTION GAME 1040 DIM X$[255],Y$[72],X[30,60] 1050 MAT X=ZER 1060 FILES MAD1.B904 1070 ENTER 1,A,Y$ 1080 IF A>0 THEN 1140 1090 PRINT "This is the game of Madlib. You will be asked to type in" 1100PRINT "words which will be inserted by the computer into one" 1110 PRINT "or more humerous stories." 1120 PRINT '10"Be sureyou remember to hit the 'RETURN' key after each" 1125 PRINT "word." 1130 REM:INPUT WORDS 1140 PRINT '10"Type in ten adjectives (e.g. blue, tall, crazy, etc.)." 1150 Z=0 1160 FOR X=1 TO 10 1170 GOSUB 1930 1180 NEXT X 1190 PRINT '10"Good. Now I need ten nouns (e.g. book,telephone, etc.)." 1191 PRINT "Make sure you type them in their singular form" 1192 PRINT"(e.g. instead of 'KNIVES' you would want to type 'KNIFE')." 1200 FOR X=1 TO 10 1210 GOSUB 1930 1220 NEXT X 1230 PRINT '10"Thank you for your patience. Next, type three adverbs" 1240 PRINT "(e.g. slowly, quickly, etc.)." 1250 GOSUB 1930 1260 GOSUB 1930 1270 GOSUB 1930 1280 PRINT "A girl's first name "; 1290 GOSUB 1930 1300 PRINT "A liquid "; 1310 GOSUB 1930 1320 PRINT "Someone's last name "; 1330 GOSUB 1930 1340 PRINT "An exclamatory phrase (e.g. 'Wow!', 'Far out!', etc.)" 1350 GOSUB 1930 1360 PRINT "A boy's first name "; 1370 GOSUB 1930 1380 PRINT "A geographical location (e.g. Portland, Africa, etc.)" 1390 GOSUB 1930 1400 PRINT "A number "; 1410 INPUT X 1420 CONVERT X TO X$ 1430 GOSUB 1940 1440 REM:CHOOSE MADLIB 1450 PRINT '10"Now the fun begins. Choose the 'Madlib' you would like." 1460 REM 1470 PRINT " (1) Newspaper ad"'13'10" (2) Western"'13'10" (3) Army ad" 1480 PRINT " (4) Shark story"'13'10" (5) Allgoo face cream" 1490 PRINT " (6) Waterbed complaint" 1500 REM:READ 'MAD' FILE 1510 PRINT '10"Type in the number of the 'Madlib' you would like: "; 1520 LINPUT Y$ 1530 IF Y$="" THEN 1460 1540 CONVERT Y$ TO A,1460 1550 IF A<0 OR A>6 OR INT(A)#A THEN 1460 1560 B=A 1570 IF A THEN 1600 1580 PRINT "----- BLOCK MODE -----"'13'10"Start, stop"; 1590 INPUT A,B 1600 IF END #1 THEN 1510 1610 PRINT LIN(-10) 1620 FOR D=A TO B 1630 C=D*2-1 1640 READ #1,C 1650 GOTO TYP(-1)-1 OF 1800,2020,1880 1660 REM:READ NO. AND PRINT CORRESPONDING STRING 1670 READ #1;Z 1680 IF Z THEN 1710 1690 PRINT ". "; 1700 GOTO 1650 1710 X$="" 1720 FOR X=1 TO 60 1730 IF X[Z,X]=0 THEN 1760 1740 X$[X,X]=CHR$(X[Z,X]) 1750 NEXT X 1760 IF Z#27 THEN 1780 1770 X$[LEN(X$)+1]="!" 1780 PRINT " ";X$; 1790 GOTO 1650 1800 REM:READ STORY AND PRINT 1805 READ #1;Y$ 1810 X=POS("'S",Y$[1,1]) 1815 IF X AND LEN(Y$)<4 THEN 1825 1820 PRINT " "; 1825 Q=1 1830 Q1=Q+POS(Y$[Q]," ")-1 1835 IF Q1=Q-1 THEN 1855 1840 PRINT Y$[Q,Q1]; 1845 Q=Q1+1 1850 GOTO 1830 1855 PRINT Y$[Q]; 1860 GOTO 1650 1870 REM:NEXT RECORD 1880 C=C+1 1890 IF C=D*2+1 THEN 2020 1900 GOTO 1640 1910 REM:INPUTWORD 1920 PRINT "SORRY, THAT'S TOO LONG...PLEASE SHORTEN IT." 1930 INPUT X$ 1940 IF LEN(X$)>60 THEN 1920 1950 X$=UPS$(X$) 1960 Z=Z+1 1970 FOR C=1 TO LEN(X$) 1980 X[Z,C]=NUM(X$[C,C]) 1990 NEXT C 2000 RETURN 2010 REM:AGAIN? 2020 PRINT LIN(-10) 2030 NEXT D 2040 GOSUB 100 2050 PRINT "WOULD YOU LIKE TO USE THE SAME WORDS" 2060 PRINT "IN A DIFFERENT STORY "; 2070 LINPUT Y$ 2080 IF Y$[1,1]="Y" THEN 1510 2090 GOTO 130 2100 END