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