70 TIMESEED1=ASC(RIGHT$(TIME$,2)) 80 TIMESEED2=100*ASC(MID$(TIME$,4,2)) 90 RANDOMIZE(TIMESEED1+TIMESEED2) 100 DEFSTR B,L,W: DEFINT A,C,I,N,P,R,V 110 COUNT=1 150 OPTION BASE 1 290 CLS 300 PRINT "THIS VERSION IS PASSWORD PROTECTED." 310 PRINT "PLEASE ENTER THE PASSWORD..." 320 USER$="" 330 PASSWORD$="SEX": PASS2$="sex" 340 FOR I=1 TO 3 350 A$=INKEY$ 360 IF A$="" THEN 350 370 USER$=USER$+A$ 380 NEXT I 390 IF USER$=PASSWORD$ OR USER$= PASS2$ THEN 420 400 PRINT "SORRY, WRONG PASSWORD!": FOR I=1 TO 100: NEXT I: GOTO 290 420 ARTICLES=5 430 DIM ARTICLE$(ARTICLES) 440 FOR I=1 TO ARTICLES: READ ARTICLE$(I): NEXT I 450 ADJECTIVES=50 460 DIM ADJECTIVE$(ADJECTIVES) 470 FOR I=1 TO ADJECTIVES: READ ADJECTIVE$(I): NEXT I 480 NOUNS=50 490 DIM NOUN$(NOUNS) 500 FOR I=1 TO NOUNS: READ NOUN$(I): NEXT I 510 VERBS=19 520 DIM VERB$(VERBS) 530 FOR I=1 TO VERBS: READ VERB$(I): NEXT I 540 PREPOSITIONS=13 550 DIM PREPOSITION$(PREPOSITIONS) 560 FOR I=1 TO PREPOSITIONS: READ PREPOSITION$(I): NEXT I 580 GOTO 690 590 '****************************************** 600 PRINT: PRINT: PRINT "HIT SPACEBAR TO PRODUCE ANOTHER POEM..." 610 PRINT "HIT E TO EDIT THIS POEM..." 620 PRINT "HIT P TO PRINT THIS POEM..." 630 PRINT "HIT Q TO QUIT..." 640 A$=INKEY$: IF A$=" " THEN 690 650 IF A$="E" OR A$="e" THEN 1690 660 IF A$="P" OR A$="p" THEN 1850 670 IF A$="Q" OR A$="q" THEN 1890 680 GOTO 640 690 CLS: LIN="" 700 RAN=INT(RND*4)+1 710 ON RAN GOTO 970,1110,1300,1520 720 '***************************************************** 730 ' ARTICLE-CHECKING SUBROUTINE 740 ' THIS SUBROUTINE SCANS THROUGH THE LINE OF VERSE 750 ' IF IT FINDS AN A BEFORE A VOWEL, 760 ' OR AN BEFORE A CONSONANT, IT CONVERTS THE ARTICLE TO ITS PROPER FORM. 770 FOR I=1 TO LEN(LIN)-2 780 IF MID$(LIN,I,3)=" A " THEN B=MID$(LIN,I+3,1): IF B="A" OR B="E" OR B="I" OR B="O" OR B="U" THEN LIN=LEFT$(LIN,I+1) + "N" + MID$(LIN,I+2) 790 NEXT I 800 FOR I=1 TO LEN(LIN)-2 810 IF MID$(LIN,I,4)="AN" THEN B=MID$(LIN,I+4,1): IF B="A" OR B="E" OR B="I" OR B="O" OR B="U" THEN 820 ELSE LIN=LEFT$(LIN,I+1) + MID$(LIN,I+3) 820 NEXT I 830 RETURN 840 '***************************************************** 850 LIN=LIN+" "+ARTICLE$(INT(RND*ARTICLES)+1) 860 RETURN 870 LIN=LIN+" "+ADJECTIVE$(INT(RND*ADJECTIVES)+1) 880 RETURN 890 LIN=LIN+" "+NOUN$(INT(RND*NOUNS)+1) 900 RETURN 910 LIN=LIN+" "+VERB$(INT(RND*VERBS)+1) 920 RETURN 930 LIN=LIN+" "+PREPOSITION$(INT(RND*PREPOSITIONS)+1) 940 RETURN 950 '***************************************************** 960 ' FIRST HAIKU PATTERN ****************************** 970 GOSUB 850:GOSUB 870: GOSUB 890: ' ART ADJ NOUN 980 GOSUB 770 990 LIN=LIN+"..." 1000 PRINT LIN: LINE1$=LIN 1010 LIN="" 1020 'ART N V P ART N 1030 GOSUB 850: GOSUB 890: GOSUB 910: GOSUB 930: GOSUB 850: GOSUB 890 1040 GOSUB 770 1050 PRINT LIN: LINE2$=LIN 1060 LIN="" 1070 GOSUB 870: GOSUB 870: GOSUB 890 ' ADJ ADJ N 1080 PRINT LIN: LINE3$=LIN 1090 GOTO 600 1100 `HAIKU PATTERN #2 ************************************ 1110 GOSUB 890: GOSUB 930: GOSUB 850: GOSUB 890 'N P ART N 1120 GOSUB 770 'ARTICLE-CHECKING ROUTINE 1130 LIN=LIN+";" 1140 PRINT LIN: LINE1$=LIN 1150 LIN="" 1160 GOSUB 850 ' ARTICLE 1170 GOSUB 870 ' ADJECTIVE 1180 GOSUB 890 'NOUN 1190 GOSUB 930 ' PREPOSITION 1200 GOSUB 850 ' ARTICLE 1210 GOSUB 890 'NOUN 1220 GOSUB 770 'ARTICLE-CHECK 1230 PRINT LIN: LINE2$=LIN 1240 LIN="" 1250 GOSUB 850 ' ADJECTIVE 1260 GOSUB 890 'NOUN 1270 PRINT LIN: LINE3$=LIN 1280 GOTO 600 1290 ' THIRD HAIKU PATTERN********************************* 1300 GOSUB 850 ' ARTICLE 1310 GOSUB 870 ' ADJECTIVE 1320 GOSUB 870 ' ADJECTIVE 1330 GOSUB 890 'NOUN 1340 GOSUB 770 'ARTICLE CHECKING ROUTINE 1350 LIN=LIN+";" 1360 PRINT LIN: LINE1$=LIN 1370 LIN="" 1380 GOSUB 930 ' PREPOSITION 1390 GOSUB 850 ' ARTICLE 1400 GOSUB 870 ' ADJECTIVE 1410 GOSUB 890 'NOUN 1420 GOSUB 770 1430 PRINT LIN: LINE2$=LIN 1440 LIN="" 1450 GOSUB 870 ' ARTICLE 1460 GOSUB 890 'NOUN 1470 GOSUB 910 ' VERB 1480 GOSUB 770 1490 PRINT LIN: LINE3$=LIN 1500 GOTO 600 1510 ' FOURTH HAIKU PATTERN******************************* 1520 GOSUB 850 ' ARTICLE 1530 GOSUB 870 ' ADJECTIVE 1540 GOSUB 890 'NOUN 1550 GOSUB 910 ' VERB 1560 GOSUB 770 ' CHECK ARTICLES 1570 LIN=LIN+";" 1580 PRINT LIN: LINE1$=LIN 1590 LIN="" 1600 GOSUB 850: GOSUB 870: GOSUB 870: GOSUB 890 ' ART ADJ ADJ N 1610 GOSUB 770 1620 PRINT LIN: LINE2$=LIN 1630 LIN="" 1640 GOSUB 930: GOSUB 850: GOSUB 870: GOSUB 890 'P ART ADJ N 1650 GOSUB 770 'ARTICLE CHECK 1660 PRINT LIN: LINE3$=LIN 1670 GOTO 600 1680 '********************************************* 1690 CLS: PRINT LINE1$: PRINT LINE2$: PRINT LINE3$ 1700 PRINT : PRINT "EDIT WHICH LINE? (1,2,3 P OR Q) 1710 E$=INKEY$: IF E$="" THEN 1710 1720 IF E$="1" THEN PRINT LINE1$: GOTO 1770 1730 IF E$="2" THEN PRINT LINE2$: GOTO 1780 1740 IF E$="3" THEN PRINT LINE3$: GOTO 1790 1750 IF E$="P" OR E$="p" THEN 1850 1755 IF E$="Q" OR E$="q" THEN 690 1760 GOTO 1690 1770 GOSUB 1800: LINE1$=NLINE$: GOTO 1690 1780 GOSUB 1800: LINE2$=NLINE$: GOTO 1690 1790 GOSUB 1800: LINE3$=NLINE$: GOTO 1690 1800 PRINT "ENTER NEW LINE: " 1810 LINE INPUT NLINE$ 1820 NLINE$=" "+NLINE$ 1830 RETURN 1840 '********************************************* 1850 LPRINT : LPRINT "HAIKU POEM # ";COUNT 1860 LPRINT LINE1$: LPRINT LINE2$: LPRINT LINE3$: LPRINT 1870 COUNT=COUNT+1: GOTO 690 1880 '********************************************* 1890 SAVE"haiku",A 1900 END 2000 DATA A,THE,HER,THE,HIS 2100 DATA MOIST,DEEP,HAIRY,MISTY,SILENT,EMPTY,DRY,DARK,LUSTFUL,BURNING 2110 DATA DELICATE,QUIET,WHITE,HORNY,COOL,TENDER,SWEET,MUSKY,SUPPLE,LOVELY 2120 DATA CRIMSON,ARDENT,PINK,HOT,WARM,HAIRY,TEMPTING,DAMP,THRUSTING,BROWN 2130 DATA SENSUAL,ROUND,LONG,LIGHT,LINGERING,FULL,LITTLE,MORNING,SLIPPERY,OLD 2140 DATA SMOOTH,RED,STILL,SMALL,PULSATING,THROBBING,HAIRLESS,WILD,BLACK,YOUNG 2200 DATA WOMAN,BODY,BREAST,LIP,MAN,FORM,URGE,LOVE,MOUND,FACE 2210 DATA LEG,THIGH,PLEASURE,SIGH,NECK,BED,MOISTURE,EXPERIENCE,SKIN,CHEST 2220 DATA MANHOOD,SIN,FINGER,HAND,TONGUE,WOMANHOOD,CREVICE,DEW,JUICE,FEELING 2230 DATA FUN,FIRE,PLACE,REAR,JOY,EMOTION,FEELING,SILENCE,FANTASY,SEX 2240 DATA SHAPE,SLIT,HEAD,SOFTNESS,WATER,BOTTOM,EAR,NIGHT,ROD,JOY 2300 DATA SHAKES,ENTERS,HAS TOUCHED,STRUGGLES,HAS FELT 2310 DATA HAS NEEDED,SLEEPS,TOUCHES,FEELS,HAS AROUSED 2320 DATA IS RESTING,IS MOVING,ENJOYS,RESPONDS,MOVES 2330 DATA HOLDS,ACCEPTS,TAKES,GIVES 2400 DATA ON,IN,WITH,OF,THROUGH,BEHIND,UNDER,OVER,INTO,ASTRIDE 2410 DATA AGAINST,WITHIN,WITH