PRINT Chat$: Cnt
= Cnt
+ 1 'IF INSTR(Chat$, "seems") THEN SLEEP
'IF INSTR(Chat$, "mother") THEN SLEEP
'IF INSTR(Chat$, "burp") THEN SLEEP
'###########################################################################################################
Chat_Opener: 'First letter must be capital (but addition of "Commander, " will LCASE it.)
DATA I believe
,"I don't know why, but",I think
,It seems
,"For some reason,","Oddly,","Okay," DATA "I don't get it....",Strange....
,This
is odd....
,This
is weird....
Tech_Adj:
DATA adaptive
,antimatter
,asymmetric
,barometric
,bilateral
,binary,biogenic
,central
,continuous
,dimensional
,directional
DATA external
,forward
,gravitational
,hi
-res
,high
-level
,hypersensitive
,internal
,ionic
,isolinear
,lateral
,level
-1,logical
DATA long
-range
,low
-gain
,low
-level
,low
-magnitude
,low
-tolerance
DATA multidirectional
,multiphasic
,multispectral
,primary
,radial
,redundant
,repeating
,reverse
,secondary
,spatial
,spectral
DATA stage
-3,temporal
,tri
-level
,tri
-stage
,vertical
,zero
-point
Tech_Noun_1:
DATA alignment
,contrast
,convergence
,echo
,frequency
,impulse
,latitude
,particle
,pressure
,quantum
,resistance
DATA resonance
,tachyon
,wavelength
DATA ABX
,ACE
,AGT
,CR
-52,DST
-35,LTS
-1804,MX
-44,PU
-36:
'Thanks, Marvin the Martian!
Tech_Noun_2:
DATA analyser
,computer
,coupler
,decoupler
,detector
,decoupler
,stabiliser
Chat_Closer:
DATA has decided
to reset itself
,has gone all screwy
on me
,has gone offline
,has just shut down
,has shut down
DATA is acting funny
,is acting up
,is malfunctioning
,is on the fritz
,keeps cutting my engines
,recommends recalibration
DATA says I need
to reset it
,says I need
to shut it down
,says I should recalibrate it
DATA seems
to be faulty
,seems
to have
reset itself
,seems
to be shutting down
DATA has just insulted my mother
,just burped
,just farted:
'Far below, "IF RN > C - 3" refers to these 3 items '############################################################################################################
DataCount:
Tech_Talk: 'Here, we'll assemble a "tech thing" using parts randomly selected from
' Tech Adjective and Tech Noun (2), with the option of a middle Noun (1).
' This Tech Thing will be inserted into a line of Pilot dialogue.
IF RND < .5 THEN Chat$
= "My " ELSE Chat$
= "The " 'Optional possessive pronoun or definite article
IF RND < .4 THEN 'Optional Opener <><><><><><><><><><><><><><><><><><><><><><><><><>
RESTORE Chat_Opener:
GOSUB DataCount
'Count the line openers 'Get_Open:
END IF '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
IF RND < .4 THEN 'Optionally, pilot addresses Commander <><><><><><><><><><><><><><> Chat$ = "Commander, " + Chat$
END IF '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
'Get_Adj:
Chat$ = Chat$ + D$ + " " '================================================================
IF RND < .6 THEN 'Optional middle noun <><><><><><><><><><><><><><><><><><><><><><> 'Get_Noun1:
Chat$ = Chat$ + D$ + " "
END IF '<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
'Get_Noun2:
Chat$ = Chat$ + D$ + " " '================================================================
IF INSTR(Chat$
, "binary computer") GOTO Tech_Talk
'Avoid really silly Tech Things
Get_Close:
RN
= RND * C
+ 1:
IF RN
> C
- 3 AND RND < .92 GOTO Get_Close
'Limit occurrences of silly closersRESTORE Chat_Closer:
FOR D
= 1 TO RN:
READ D$:
NEXT: D
= 0 ': IF D$ = "" OR D$ = "XXX" GOTO Get_Close
IF INSTR(Chat$
, "seems") > 0 AND INSTR(D$
, "seems") > 0 GOTO Get_Close
'Don't have "seems" twice in a line
Chat$ = Chat$ + D$ '======================================================================
'Maybe add an optional closer-closer...
IF RND < .5 THEN Chat$
= Chat$
+ "." ELSE Chat$
= Chat$
+ "!" 'And there's your Pilot's dialogue!