10 REM > RandText
   20 REM Love Letters by Christopher Strachey, 1952
   30 REM BBC BASIC version by lurkio @ Stardot, 2019
   40 REM via nickm.com/memslam
   50 MODE7:PRINT'CHR$8;:L%=POS:IF POS=0:L%=40:REM line-length
   60 PRINTTAB(13,12)"Press a key ";:*FX15
   70 A%=INKEY(500):IFRND(-TIME)
   80 DIM S1$(4),S2$(4),ADJ$(31),N$(29),ADV$(21),V$(25)
   90 FORI%=1TO4:READS1$(I%):NEXT
  100 FORI%=1TO4:READS2$(I%):NEXT
  110 FORI%=1TO31:READADJ$(I%):NEXT
  120 FORI%=1TO29:READN$(I%):NEXT
  130 FORI%=1TO21:READADV$(I%):NEXT
  140 FORI%=1TO25:READV$(I%):NEXT
  150 REPEAT:CLS:P%=0
  160   PRINTTAB(0,5)S1$(RND(4));" ";S2$(RND(4))''" ";:P%=1
  170   Y%=FALSE:REM The "You are" flag
  180   FORJ%=1TO5:REM Five lines
  190     T%=RND(2):REM Coin-toss
  200     IF T%=1 PROCp("MY "):IF RND(2)=1 PROCp(ADJ$(RND(31))+" ")
  210     IF T%=1 PROCp(N$(RND(29))+" "):IF RND(2)=1 PROCp(ADV$(RND(21))+" ")
  220     IF T%=1 PROCp(V$(RND(25))+" YOUR "):IF RND(2)=1 PROCp(ADJ$(RND(31))+" ")
  230     IF T%=1 PROCp(N$(RND(29))+". "):Y%=FALSE
  240     IF T%=1 ELSE IF Y% VDU8,8:P%=P%-2:PROCp(": MY "):Y%=FALSE ELSE PROCp("YOU ARE MY "):Y%=TRUE
  250     IF T%=2 PROCp(ADJ$(RND(31))+" "+N$(RND(29))+". ")
  260   NEXT
  270   IF P%=0 ELSE PRINT
  280   PRINT'"   YOURS ";ADV$(RND(21))''"   M.U.C.";:*FX15
  290   A%=INKEY(2000)
  300 UNTILFALSE
  310 END
  320 REM Word-wrap
  330 DEFPROCp(S$)
  340 REPEAT
  350   IF INSTR(S$," ")>0 W$=LEFT$(S$,INSTR(S$," ")-1) ELSE W$=S$
  360   IF L%-P%>=LEN(W$)+1 PRINTW$; ELSE PRINT'W$;:P%=0
  370   P%=P%+LENW$
  380 IF INSTR(S$," ")=0 UNTILTRUE:ENDPROC
  390 S$=RIGHT$(S$,LEN(S$)-INSTR(S$," "))
  400 IF P%>0 PRINT" ";:P%=P%+1
  410 IF LEN(S$)>0 UNTILFALSE ELSEUNTILTRUE
  420 ENDPROC
  430 :
  440 REM salutation 1
  450 DATA DARLING,DEAR,HONEY,JEWEL
  460 REM salutation 2
  470 DATA DUCK,LOVE,MOPPET,SWEETHEART
  480 REM adjectives
  490 DATA ADORABLE,AFFECTIONATE,AMOROUS,ANXIOUS,ARDENT,AVID,BREATHLESS,BURNING
  500 DATA COVETOUS,CRAVING,CURIOUS,DARLING,DEAR,DEVOTED,EAGER,EROTIC,FERVENT,FOND
  510 DATA IMPATIENT,KEEN,LITTLE,LOVEABLE,LOVESICK,LOVING,PASSIONATE,PRECIOUS,SWEET,SYMPATHETIC
  520 DATA TENDER,UNSATISFIED,WISTFUL
  530 REM nouns
  540 DATA ADORATION,AFFECTION,AMBITION,APPETITE,ARDOUR,CHARM,DESIRE,DEVOTION,EAGERNESS,ENCHANTMENT
  550 DATA ENTHUSIASM,FANCY,FELLOW FEELING,FERVOUR,FONDNESS,HEART,HUNGER,INFATUATION,LIKING,LONGING
  560 DATA LOVE,LUST,PASSION,RAPTURE,SYMPATHY,TENDERNESS
  570 DATA THIRST,WISH,YEARNING
  580 REM adverbs
  590 DATA AFFECTIONATELY,ANXIOUSLY,ARDENTLY,AVIDLY,BEAUTIFULLY,BREATHLESSLY,BURNINGLY,COVETOUSLY
  600 DATA CURIOUSLY,DEVOTEDLY,EAGERLY,FERVENTLY,FONDLY,IMPATIENTLY,KEENLY,LOVINGLY,PASSIONATELY
  610 DATA SEDUCTIVELY,TENDERLY,WINNINGLY,WISTFULLY
  620 REM verbs
  630 DATA ADORES,ATTRACTS,CARES FOR,CHERISHES,CLINGS TO,DESIRES,HOLDS DEAR,HOPES FOR,HUNGERS FOR
  640 DATA IS WEDDED TO,LIKES,LONGS FOR,LOVES,LUSTS AFTER,PANTS FOR,PINES FOR,PRIZES,SIGHS FOR
  650 DATA TEMPTS,THIRSTS FOR,TREASURES,WANTS,WISHES,WOOS,YEARNS FOR