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