'===========================================================================
' Subject: Pysc Interview                     Date:   -  -   (  :  )       
'  Author: Gerald Wykoff                      Code: QB, Qbasic, PDS        
'  Origin:                                  Packet: AI.ABC
'===========================================================================
'===========================================================================
' Subject: Artificial Intelligence            Date: 06-10-01 (  :  )       
'  Author: Gerald Wykoff                      Code: QB Qbasic              
'  Origin: wykoff@mbawiz.com                Packet: GAMES.ABC
'===========================================================================
' Subject:  AI - Pychological Interview           Date: 6-10-1  (18:22) 
'           Author: Gerald L. Wykoff              Code: QB, QBasic
'           Origin:  wykoff@mbawiz.com
'
REM   Author's Note:  This Artificial Intelligence program is a combination
REM   from a number of other individuals whose coding I took from the ABC
REM   files and then I modified and added my own.  What you have here then is
REM   a sort of demo learning lesson I put together to teach myself how
REM   to make QBasic do what I want ... and I'm certain there are some
REM   truly talented people who can create even better code.
'
DECLARE SUB TextBox (x, y, XEnde, YEnde, Foreground, Background, ShadeFore, ShadeBack)
DECLARE SUB TextBox2 (x, y, XEnde, YEnde)
'                  Note 750 and 830 (not being used) are DATA sections
CLS : SCREEN 0: WIDTH 80
COLOR 9, 1
RANDOMIZE TIMER
FOR I% = 1 TO 1000
  PRINT "°±²±";
NEXT I%
CALL TextBox2(7, 10, 20, 70)           '14,4,20,50
                        '  1. is Top margin
                        '  2. is Left margin
                        '  3. thickness of box T to B
                        '  4. Width of box L to R
COLOR 5, 7
LOCATE 8, 20
PRINT "A PSYCHOLOGICAL INTERVIEW PROGRAM"
LOCATE 9, 23
PRINT "WITH DR. WEMEY HASSEL"
LOCATE 11, 25
COLOR 14
PRINT "by Gerald L. Wykoff"
COLOR 1, 7
LOCATE 15, 20: PRINT "If some issues just keep on bugging you,"
LOCATE , 20: PRINT "    try talking them out with our always"
LOCATE , 20: PRINT " insightful - but irreverent - psychologist."
COLOR 15
LOCATE 19, 15
PRINT "           Tap Any Key to Continue"
DO WHILE INKEY$ = ""
LOOP
CLS
SCREEN 9
COLOR 14, 1
'=========================
CLS : SCREEN 0: WIDTH 80
COLOR 9, 1
RANDOMIZE TIMER
FOR I% = 1 TO 1000
  PRINT "°±²±";
NEXT I%
CALL TextBox(4, 4, 22, 74, 11, 1, 4, 7)
'      Jerry:  make sure the text background color matches the box color
'              so it'll merge properly without background bands
COLOR 14, 1
'========
LOCATE 6, 10: PRINT "Before we start, please know that you can stop the inter-"
LOCATE 7, 10: PRINT "view at any question by typing 'bye' as your response."
LOCATE 9, 10: PRINT "Also, your comments are interpreted by their different"
LOCATE , 10: PRINT "lengths and - especially - by END punctuation. So use:"
LOCATE , 11: PRINT "--    no end punctuation at all for more neutral comments"
LOCATE , 11: PRINT "--    ! for strong and/or emphatic opinions"
LOCATE , 11: PRINT "--    . for declarative - but not intense - expressions"
LOCATE , 11: PRINT "--    ? for questions and inquiries"
LOCATE , 11: PRINT "--    - for thoughts to be left hanging, unfinished"
COLOR 12, 1
LOCATE 17, 10: PRINT "Finally: NO commas in answers.  If you feel the need"
LOCATE 18, 12: PRINT "for comma, use a '-' sign instead i.e., 'well - yes!'"

'===========
COLOR 14, 1
LOCATE 21, 25: PRINT "To Continue, Tap Any Key"         '; stop$
DO WHILE INKEY$ = ""
LOOP
'IF stop$ = "" THEN GOTO 25
25
CLS : SCREEN 0: WIDTH 80
COLOR 9, 1
RANDOMIZE TIMER
FOR I% = 1 TO 1000
  PRINT "°±²±";
NEXT I%
CALL TextBox(4, 4, 22, 74, 11, 1, 4, 7)
COLOR 14, 1
LOCATE 11, 8: INPUT "With what name should I address you, please"; n$
51 LOCATE 13, 11: PRINT "Well, "; n$; " is a fine name."
LOCATE 14, 13: PRINT "Is there anything I can help you with, "; n$; "?"
                        '============================
55 COLOR 15         ' this is the start and return point for all comments---
56 c = c + 1
57 c1 = c1 + 1
58 IF c1 <= 15 THEN GOTO 60
59 c1 = 1
COLOR 14
60 LOCATE 16, 12: INPUT " -- "; r$
CLS : SCREEN 0: WIDTH 80
COLOR 9, 1
RANDOMIZE TIMER
FOR I% = 1 TO 1000
  PRINT "°±²±";
NEXT I%
CALL TextBox(4, 4, 22, 74, 11, 1, 4, 7)
COLOR 14, 1
                                '==============
IF r$ = "ok" THEN GOTO 60.55
 SELECT CASE r$
 CASE "Nuts!"
IF LEFT$(r$, 5) = "Nuts!" THEN
'                                 this gives some room
LOCATE 12, 10: COLOR 14
LET su = INT(RND * 5) + 1
IF su = 1 THEN LET r$ = "You're succinct. I'll give you that, " + n$ + "!": PRINT TAB(20); r$: GOTO 55
IF su = 2 THEN LET r$ = "My! My! Aren't we the droll one!": PRINT TAB(20); r$: GOTO 55
IF su = 3 THEN LET r$ = "Is that all you can think of at this point, " + n$ + "?": PRINT TAB(20); r$: GOTO 55
IF su = 4 THEN LET r$ = "Awwww . . .Come off it!": PRINT TAB(20); r$: GOTO 55
IF su = 5 THEN LET r$ = "Well - love and kisses to you too, " + n$ + "?": PRINT TAB(20); r$: GOTO 55
END IF
                        '======================
CASE "Really?"
IF RIGHT$(r$, 7) = "Really?" THEN
COLOR 14, 1
LOCATE 12, 10
LET su = INT(RND * 5) + 1
IF su = 1 THEN LET r$ = "Is your comment intended to be smart-assey, " + n$ + "?": PRINT TAB(20); r$: GOTO 55
IF su = 2 THEN LET r$ = "Oh, do we 'really' need such naked sarcasm?": PRINT TAB(20); r$: GOTO 55
IF su = 3 THEN LET r$ = "That's what I said.  Something strange about it?": PRINT TAB(20); r$: GOTO 55
IF su = 4 THEN LET r$ = "Was my comment all that difficult to digest?": PRINT TAB(20); r$: GOTO 55
IF su = 5 THEN LET r$ = "What do we have here: sarcasm or true doubt, " + n$ + "!": PRINT TAB(20); r$: GOTO 55
END IF
                        '=========================
 CASE "Yes!"
IF LEFT$(r$, 4) = "Yes!" THEN
COLOR 14
LOCATE 12, 10
LET su = INT(RND * 5) + 1
IF su = 1 THEN LET r$ = "That's a bold affirmation - and a good one, " + n$ + "!": PRINT TAB(20); r$: GOTO 55
IF su = 2 THEN LET r$ = "Well, you certainly are positive about that.": PRINT TAB(20); r$: GOTO 55
IF su = 3 THEN LET r$ = "Be absolutely sure now, " + n$ + ".": PRINT TAB(20); r$: GOTO 55
IF su = 4 THEN LET r$ = "You betcha.  You're getting the handle, I think!.": PRINT TAB(20); r$: GOTO 55
IF su = 5 THEN LET r$ = "Fine!  Let's keep it to one step at a time, " + n$ + "!": PRINT TAB(20); r$: GOTO 55
END IF
                        '==================
 CASE "OK"
IF LEFT$(r$, 2) = "OK" THEN
60.55
COLOR 14
LOCATE 12, 10
LET su = INT(RND * 5) + 1
IF su = 1 THEN LET r$ = "I'm happy to notice your cooperation, " + n$ + ".": PRINT TAB(20); r$: GOTO 55
IF su = 2 THEN LET r$ = "If we're agreed on that, let's move on now.": PRINT TAB(20); r$: GOTO 55
IF su = 3 THEN LET r$ = "Do you really mean OK - or are you bantering with me, " + n$ + "?": PRINT TAB(20); r$: GOTO 55
IF su = 4 THEN LET r$ = "Well, you're easy to get along with.": PRINT TAB(20); r$: GOTO 55
IF su = 5 THEN LET r$ = "At least we've overcome that issue, right, " + n$ + "?: PRINT TAB(20); r$: GOTO 55"
END IF
                        '==============
 CASE "Fuck you!"
IF LEFT$(r$, 9) = "Fuck you!" THEN
COLOR 14
LOCATE 8, 5
LET su = INT(RND * 5) + 1
IF su = 1 THEN LET r$ = "Well, we know how you got deflowered, huh?": PRINT TAB(20); r$: GOTO 55
IF su = 2 THEN LET r$ = "S'matter?  Your Viagra supply missing again?": PRINT TAB(20); r$: GOTO 55
IF su = 3 THEN LET r$ = "You sound like a social director at an orgy, " + n$ + "?": PRINT TAB(20); r$: GOTO 55
IF su = 4 THEN LET r$ = "That's nifty! All the charm of a dirty Christmas card.": PRINT TAB(20); r$: GOTO 55
IF su = 5 THEN LET r$ = "How? Any expert's advice you'd care to offer, " + n$ + "!": PRINT TAB(20); r$: GOTO 55
IF su = 6 THEN LET r$ = "Hey? Been there...done that...it hurts.": PRINT TAB(20); r$: GOTO 55
END IF
                        '==================
 CASE "How?"
IF LEFT$(r$, 4) = "How?" THEN
COLOR 14
LOCATE 12, 10
LET su = INT(RND * 5) + 1
IF su = 1 THEN LET r$ = "That, as they say, is the $64 question, " + n$ + ".": PRINT TAB(20); r$: GOTO 55
IF su = 2 THEN LET r$ = "If we knew that, we'd have the key to many things.": PRINT TAB(20); r$: GOTO 55
IF su = 3 THEN LET r$ = "This interview could be over in a hurry if we knew that.": PRINT TAB(20); r$: GOTO 55
IF su = 4 THEN LET r$ = "Maybe we can find out so let's keep trying.": PRINT TAB(20); r$: GOTO 55
IF su = 5 THEN LET r$ = "How? Any ideas you'd care to advance right now, " + n$ + "!": PRINT TAB(20); r$: GOTO 55
END IF
END SELECT
                        '=============================
LOCATE 10, 10
IF RIGHT$(r$, 5) = "hell!" THEN PRINT "Frankly, I don't care to visit your relatives.": GOTO 55
LOCATE 10, 6
IF MID$(r$, 1, 6) = "I feel" THEN GOTO 1500
LOCATE 10, 6: IF RIGHT$(r$, 5) = "shit!" THEN r$ = LEFT$(r$, LEN(r$) - 5): GOTO 95
LOCATE 10, 6
IF RIGHT$(r$, 7) = "stupid!" THEN r$ = LEFT$(r$, LEN(r$) - 7): GOTO 1200
LOCATE 12, 14
60.1 IF MID$(r$, 1, 3) = "Bye" OR MID$(r$, 1, 3) = "bye" OR MID$(r$, 1, 3) = "BYE" THEN GOTO 2000
IF LEN(r$) < 2 THEN 106
61 IF INSTR(r$, "I suppose") THEN r$ = LEFT$(r$, LEN(r$) - 9): GOTO 100
61.1 IF LEFT$(r$, 4) = "why?" OR LEFT$(r$, 4) = "Why?" THEN r$ = RIGHT$(r$, LEN(r$) - 4): GOTO 310
61.2 IF LEFT$(r$, 3) = "no!" OR LEFT$(r$, 3) = "No!" THEN r$ = LEFT$(r$, LEN(r$) - 3): GOTO 427
61.3 IF LEFT$(r$, 2) = "OK" OR LEFT$(r$, 3) = "ok" THEN r$ = LEFT$(r$, LEN(r$) - 2): GOTO 1520
'
61.4  IF INSTR(r$, "father") THEN r$ = LEFT$(r$, LEN(r$) - 6): GOTO 130
61.5  IF INSTR(r$, "mother") THEN r$ = LEFT$(r$, LEN(r$) - 6): GOTO 140
61.7  IF RIGHT$(r$, 5) = "then?" THEN r$ = LEFT$(r$, LEN(r$) - 5): GOTO 330
62 IF RIGHT$(r$, 1) = "?" THEN r$ = LEFT$(r$, LEN(r$) - 1): GOTO 150
63 IF RIGHT$(r$, 1) = "!" THEN r$ = LEFT$(r$, LEN(r$) - 1): GOTO 160
64 IF RIGHT$(r$, 1) = "." THEN r$ = LEFT$(r$, LEN(r$) - 1): GOTO 750
65 IF RIGHT$(r$, 2) = " -" THEN r$ = LEFT$(r$, LEN(r$) - 2): GOTO 120
66 IF INSTR(r$, "brother") THEN r$ = LEFT$(r$, LEN(r$) - 7): GOTO 170
67 IF INSTR(r$, "sister") THEN r$ = LEFT$(r$, LEN(r$) - 6): GOTO 180
68   '
'=====================================
69 IF INSTR(r$, "habit") THEN r$ = LEFT$(r$, LEN(r$) - 5): GOTO 175
71 IF INSTR(r$, "because") THEN r$ = LEFT$(r$, LEN(r$) - 7): GOTO 305
74 IF LEFT$(r$, 7) = "I don't" THEN r$ = RIGHT$(r$, LEN(r$) - 2): GOTO 420
75 IF LEFT$(r$, 8) = "I do not" THEN r$ = RIGHT$(r$, LEN(r$) - 8): GOTO 420
76 IF LEFT$(r$, 4) = "I am" THEN r$ = RIGHT$(r$, LEN(r$) - 4): GOTO 530
77 IF LEFT$(r$, 3) = "I'm" THEN r$ = RIGHT$(r$, LEN(r$) - 3): GOTO 530
78 IF LEFT$(r$, 2) = "I " THEN r$ = RIGHT$(r$, LEN(r$) - 2): GOTO 940
79 IF INSTR(r$, "sex") THEN r$ = LEFT$(r$, LEN(r$) - 3): GOTO 1050
80 IF LEFT$(r$, 7) = "Are you" THEN r$ = RIGHT$(r$, LEN(r$) - 7): GOTO 1190
81 IF LEFT$(r$, 5) = "where" THEN r$ = LEFT$(r$, LEN(r$) - 5): GOTO 1050
82 IF INSTR(r$, "sorry") THEN r$ = LEFT$(r$, LEN(r$) - 5): GOTO 1130
83 IF INSTR(r$, "maybe") THEN r$ = LEFT$(r$, LEN(r$) - 5): GOTO 1160
 IF INSTR(r$, "Maybe") THEN r$ = LEFT$(r$, LEN(r$) - 5): GOTO 1160
84 IF INSTR(r$, "more") THEN r$ = LEFT$(r$, LEN(r$) - 4): GOTO 1170
85 IF LEFT$(r$, 2) = "If" THEN r$ = RIGHT$(r$, LEN(r$) - 2): GOTO 1199
86 IF INSTR(r$, "She") OR INSTR(r$, "she") THEN r$ = LEFT$(r$, LEN(r$) - 3): GOTO 435
   IF INSTR(r$, "He") OR INSTR(r$, "he") THEN r$ = LEFT$(r$, LEN(r$) - 2): GOTO 320
87 IF INSTR(r$, "self-examination") THEN r$ = LEFT$(r$, LEN(r$) - 16): GOTO 1195
MID:
88 FOR x = 1 TO LEN(r$)
REM: more specific responses may be made by taking what's after X+key word(s)
89 IF MID$(r$, x, 9) = "don't you" THEN GOTO 335
90 IF MID$(r$, x, 9) = "Don't you" THEN GOTO 335
91 IF MID$(r$, x, 7) = "perhaps" THEN GOTO 1180
   IF MID$(r$, x, 7) = "Perhaps" THEN GOTO 1180
92 IF MID$(r$, x, 7) = "you are" THEN GOTO 850
93 IF MID$(r$, x, 6) = "You're" THEN GOTO 850
94 IF MID$(r$, x, 4) = "What" THEN GOTO 1160
   IF MID$(r$, x, 4) = "what" THEN GOTO 1160
   
NEXT x
GOTO 750
'
'=======================
5555   'locate division point between input and responses
'
'===================================this is where the responses start
'
95 ON c1 GOTO 95.1, 95.2, 95.3, 95.4, 95.5, 95.6, 95.7
95.1 LOCATE , 15: PRINT "That was a cute little scatalogical burst, I'd say.": GOTO 55
95.2 LOCATE , 15: PRINT "Not bad although I personally prefer 'crap'!": GOTO 55
95.3 LOCATE , 15: PRINT "Since you're not talking money spread it thin.": GOTO 55
95.4 LOCATE , 15: PRINT "I'll do my best not to step in it.  Now continue, please.": GOTO 55
95.5 LOCATE , 15: PRINT "One man's gold is another man's - (get the idea!)": GOTO 55
95.6 LOCATE , 15: PRINT "You're sounding, "; n$; " a little poopy now.": GOTO 55
95.7 LOCATE , 15: PRINT "Well now, aren't you just the perfect sugar mouth? ": GOTO 55
'
100 ON c1 GOTO 101, 102, 103, 104
101 PRINT "The great Spinoza said uncertainty is the enemy of clear"
LOCATE , 15: PRINT "thought.  Care to express a more singular opinion"
LOCATE , 15: PRINT "about that?": GOTO 55
102 PRINT "Think harder, "; n$; ".  Supposin' won't get you there.": GOTO 55
103 PRINT "Such an iffy attitude is uncharacteristic of you.  Please"
    LOCATE , 20: PRINT "try to show more conviction.": GOTO 55
104 PRINT "I hope that conditional sentiment you just expressed is more"
    LOCATE , 15: PRINT "a mode of your speech than a true expression of your mindset.": GOTO 55
105  '=============================   '  this line is for the next keyword
106 ON c1 GOTO 107, 108, 109, 110
107 PRINT "I regard that as a 'whoops!'  Try again, please.": GOTO 55
108 PRINT "Don't tell me your finger slipped. Submit something else.": GOTO 55
109 PRINT "Now we both know that I can't work with nothing.": GOTO 55
110 PRINT "Poof! Enter a comment, please.": GOTO 55
'              =====================now it's 110 to 119
120 ON c1 GOTO 121, 122, 123, 124
LOCATE 12, 10
121 PRINT "Just can't make it to the end of your thought, huh?": GOTO 55
122 PRINT "Your full thought might be an incisive one.  Please"
 LOCATE , 20: PRINT "finish the comment.": GOTO 55
123 PRINT "I hope you don't want ME to finish that thought.": GOTO 55
124 PRINT "Dangling participles, yes!  Dangling thoughts, no!  C'mon"
LOCATE , 15: PRINT "now, "; n$; ", finish your comment!": GOTO 55
130 ON c1 GOTO 131, 132, 133, 134, 135
LOCATE 12, 10
131 PRINT "Only boys want to be just like their fathers! What a"
LOCATE , 20: PRINT "crock, right!": GOTO 55
132 PRINT "Incidentally, do you still view your dad as all-powerful?": GOTO 55
133 PRINT "Do you feel that the road to maturity includes at least"
LOCATE , 15: PRINT "one face-to-face confrontation with your father.": GOTO 55
134 PRINT "Could it be that your father holds an important key?": GOTO 55
135 PRINT "Oh, gosh!  Mighty old dad, huh?": GOTO 55
140 ON c1 GOTO 141, 142, 143, 144, 145, 146, 147
LOCATE 12, 10
141 PRINT "You're gonna bring your mother into this, are you?": GOTO 55
142 PRINT "As an important aside: has your mother's influence on you"
LOCATE , 20: PRINT "been generally good or bad?": GOTO 55
143 PRINT "Like it or not, mothers represent a powerful force.": GOTO 55
144 PRINT "Only a few mothers are indifferent to what's best for their"
LOCATE , 20: PRINT "loved ones.": GOTO 55
145 PRINT "Do you truly have the power to sway her?": GOTO 55
146 PRINT "'Beware the female of the species' isn't such a joke - huh?": GOTO 55
147 PRINT "Should we score one for good, old mom?": GOTO 55
150 ON c1 GOTO 151, 152, 152.1, 153, 154, 155, 155.1, 156, 157, 158, 159, 159.1, 159.2, 159.3
LOCATE 12, 10
151 PRINT "But why must you insist on expressing it that way, "; n$; "?": GOTO 55
152 PRINT ; n$; ", I'm just a simple therapist - not an answer man."
LOCATE , 15: PRINT "You need to find your own answer to that.": GOTO 55
152.1 PRINT "Now that's a good question - and you can answer it best.": GOTO 55
153 PRINT "Unless you view me as some sort of Church Lady - why not "
LOCATE , 15: PRINT ; "allow me to ask at least most of the questions? OK?": GOTO 55
154 PRINT "Do you ask questions a lot when you're with others - ": GOTO 55
155 PRINT "But how do you REALLY feel about the issue. ": GOTO 55
155.1 PRINT "What seems to impel you to keep asking questions?": GOTO 55
156 PRINT "Goodness - this is really getting intense! ": GOTO 55
157 PRINT "It won't help us if you keep asking the questions. ": GOTO 55
158 PRINT "Sometimes, "; n$; " you make me feel that I'm the one"
    LOCATE , 20: PRINT ; "who's getting interviewed here. ": GOTO 55
159 PRINT "C'mon now, "; n$; ". Give me a break and stop interrogating ME. ": GOTO 55
159.1 PRINT "You know, "; n$; ".  I'm supposed to ask the questions. ": GOTO 55
159.2 PRINT "Remember: Socrates got poisoned for always answering"
LOCATE , 15: PRINT ; "questions with further questions. Now, please - "
LOCATE , 15: PRINT "a comment!": GOTO 55
159.3 PRINT "But what's your 'gut reaction' to my question?": GOTO 55
160 ON c1 GOTO 161, 162, 163, 164, 165, 166, 167, 168, 169, 169.1, 169.2, 169.3
LOCATE 12, 10
161 PRINT "You sound rather emphatic. Why do you feel so fierce? ": GOTO 55
162 PRINT "You really come quick, direct and hard."
LOCATE , 20: PRINT "Let me catch my breath.": GOTO 55
163 PRINT "That comment dropped in with a quick thump,"
LOCATE , 20: PRINT "but keep going.": GOTO 55
164 PRINT "Do you really feel THAT strong about it?": GOTO 55
165 PRINT "I'll have to think about THAT!": GOTO 55
166 PRINT "Right on, "; n$; ".  Keep the meaty thoughts flowing.": GOTO 55
167 PRINT "I can appreciate your feelings, but let's try and keep"
LOCATE , 20: PRINT "them toned down, OK?": GOTO 55
168 PRINT "It's good to vent such strong feelings.  I'm listening.": GOTO 55
169 PRINT "Let'r rip if you must?  It's better than lack of emotion.": GOTO 55
169.1 PRINT "Feelings are fine but we must be careful to keep them"
LOCATE , 20: PRINT "under control.": GOTO 55
169.2 PRINT "I've heard of firm convictions"
LOCATE , 25: PRINT "but you're downright emphastic.": GOTO 55
169.3 PRINT "A bit less smackin' on the exclamation key if you don't mind.": GOTO 55
170 ON c1 GOTO 171, 172, 173, 174
LOCATE 13, 20
171 PRINT "What is it EXACTLY about a brother that prompt's"
LOCATE , 20: PRINT "this comment?": GOTO 55
172 PRINT "Aaaaah - brothers!  Is a BIG or small brother involved? ": GOTO 55
173 PRINT "Yeh?  Brothers always have ALL the answers, don't they?": GOTO 55
174 PRINT "Honestly, don't you really pity people without brothers?": GOTO 55
'========
175 ON c1 GOTO 176, 177, 178, 179
LOCATE 13, 20
176 PRINT "There's worse things than a habit - so break it?": GOTO 55
177 PRINT "You want to blame all this on habit to get off the hook? ": GOTO 55
178 PRINT "Yeh - sure!  And my habit is pretty people. What's that get us?": GOTO 55
179 PRINT "Isn't there a better answer than dropping a habit on things?": GOTO 55
'===========
180 ON c1 GOTO 181, 182, 183, 184
LOCATE 13, 20
181 PRINT "Sisters!  All sugary and spicey  - and often dicey, right? ": GOTO 55
182 PRINT "Aren't sisters the people who always give you two opinions:"
LOCATE , 15: PRINT "Her opinion today and her opinion tomorrow!": GOTO 55
183 PRINT "Is this sister issue really impacting on you much? ": GOTO 55
184 PRINT "We should be truly grateful for a good sister because the "
LOCATE , 20: PRINT "alternative is - ugh! ": GOTO 55
305 ON c1 GOTO 306, 307, 308, 309
LOCATE 13, 20
306 PRINT "I'm detecting more than one idea in your answer. Please explain"
LOCATE , 15: PRINT "if we're dealing with a weak or strong connection.": GOTO 55
307 PRINT "That's a good motive!  Please expand a bit.": GOTO 55
308 PRINT "Hmmm...is it possible there are OTHER reasons, too? ": GOTO 55
309 PRINT "Is it possible that a strict 'because' argument ";
LOCATE , 20: PRINT "ignores equally valid considerations?": GOTO 55
310 ON c1 GOTO 311, 312, 313, 314, 315, 316, 317, 318, 319  'this is the WHY
LOCATE 13, 20
311 PRINT "You really come out swinging. I'll give you that."
    LOCATE , 15: PRINT "Now let us both pause momentarily to regroup.": GOTO 55
312 PRINT "Is why appropriate? Any thoughts on that? ": GOTO 55
313 PRINT "'Why?' is a rather stiff challenge at this point,"
 LOCATE , 20: PRINT "isn't it?": GOTO 55
314 PRINT "Not exactly loquacious, are you? Can you try and be"
 LOCATE , 20: PRINT "a bit more expansive?": GOTO 55
315 PRINT "C'mon now, "; n$; ". I need more than a 'why?'": GOTO 55
316 PRINT "Hey! It's not my thoughts or rationale we're reviewing."
 LOCATE , 15: PRINT "Now try to give me a better answer, please.": GOTO 55
317 PRINT "God'll getcha if you don't write better comments, "; n$: GOTO 55
 LOCATE , 15: PRINT n$; ", pul-eeze lengthen your responses!": GOTO 55
318 PRINT "You'll just have to try again.": GOTO 55
319 PRINT "You're as smart as a whip tip - so I know you can do better": GOTO 55
320 ON c1 GOTO 321, 322, 323, 324, 325, 326, 327
321 PRINT "Is this issue taking on an undue masculine flavor or is it me?": GOTO 55
322 PRINT "And why have you brought up his role in this? ": GOTO 55
323 PRINT "Maybe you should teach him how to fly? ": GOTO 55
324 PRINT "Can you get yourself past him? ": GOTO 55
325 PRINT "It may seem a bit harsh but let's overlook him for now.": GOTO 55
326 PRINT "Do you honestly feel he holds the key to your understanding?": GOTO 55
327 PRINT "WOW!  "; n$; "vs. HIM.  Now that's a contest!": GOTO 55
330 ON c1 GOTO 331, 332, 333, 334
331 PRINT "Perhaps the consequence isn't all that obvious.  Can you"
LOCATE , 20: PRINT "see that? ": GOTO 55
332 PRINT "That's a darn good question - so YOU try answering it.": GOTO 55
333 PRINT "It might just not be all that simple.  The answer lies with you.": GOTO 55
334 PRINT "Your question performs a neat U-turn.  Yet it needs an answer.": GOTO 55
'===============
335 ON c1 GOTO 336, 337, 338, 339, 340
336 PRINT "Such a negative assertion tends to inhibit discourse.  Try"
    LOCATE , 20: PRINT "again please.": GOTO 55
337 PRINT "Congratulations: Your strategic negative is a powerful rhetorical"
LOCATE , 15: PRINT "ploy but it often slows down communications.  Would"
LOCATE , 15: PRINT "you re-state your comment.": GOTO 55
338 PRINT "Well, "; n$; ", understanding doesn't always float from a 'don't,'"
    LOCATE , 20: PRINT "does it?": GOTO 55
339 PRINT "Oooh...that slammed the brakes on, "; r$: GOTO 55
340 PRINT "What happens if this negative expression is inappropriate?": GOTO 55
'==========
    '   341 to 420 ok to use
'================
420 ON c1 GOTO 421, 422, 423, 424, 425, 426
LOCATE 13, 20
421 PRINT "Well,  then please spell out just why you "
    LOCATE , 20: PRINT r$: GOTO 55
422 PRINT "Let's withhold judgement right now why you "
    LOCATE , 20: PRINT r$: GOTO 55
423 PRINT "Maybe we have a breakthrough here. Tell me this: why"
    LOCATE , 20: PRINT "you "; r$; ".": GOTO 55
424 PRINT "Even with effective therapy, what else is needed so you "; r$; "?": GOTO 55
425 PRINT "What would others say or do if they "
    LOCATE , 20: PRINT r$; ", "; n$; "?": GOTO 55
426 PRINT "You brought it up - and now you don't want to talk about it? ": GOTO 55
427 ON c1 GOTO 428, 429, 430, 431, 432, 433, 434
LOCATE 12, 10
428 PRINT "I can't function very well in the face of such brevity.": GOTO 55
429 PRINT "Will you pul-leeze give me a bit more to go on?": GOTO 55
430 PRINT "By golly!  That's an emphatic rendition of the "
LOCATE , 20: PRINT "negative. But why?": GOTO 55
431 PRINT "C'mon, "; n$; ". You just gotta offer more information. ": GOTO 55
432 PRINT "Pray tell why that inquiry earned such a rivet-like reversal.": GOTO 55
433 PRINT "Duck everyone! "; n$; " is on the warpath for sure. Right?": GOTO 55
434 PRINT "Give us room - lotsa room - under feisty no's above...": GOTO 55
435 ON c1 GOTO 436, 437, 438, 439
436 PRINT "Does she exert any ugly influence worth looking at? ": GOTO 55
437 PRINT "Why her?  Couldn't it just as easily be anyone? ": GOTO 55
438 PRINT "Are your thoughts of her right now useful to our discussion? ": GOTO 55
439 PRINT "For the time being: let's try to avoid mentioning her. OK?": GOTO 55
530 ON c1 GOTO 531, 532, 533, 534, 535
LOCATE 13, 20
531 PRINT "Let's examine that particular tidbit a bit more. Just why,"
LOCATE , 20: PRINT "as you say, are you"; r$; "?": GOTO 55
532 PRINT "Are you absolutely beyond-any-doubt positive that"
 LOCATE , 20: PRINT "you're "; r$; "?": GOTO 55
533 PRINT "Be honest with me now. Do you really get a kick out of being ";
LOCATE , 20: PRINT r$; "?": GOTO 55
534 PRINT "Easy now! We have some time before the lions enter the"
LOCATE , 20: PRINT "arena.  Just how long do you expect to be "
LOCATE , 20: PRINT r$: GOTO 55
535 PRINT n$; ", could you possibly be "; r$
    PRINT TAB(12); "because you LIKE it?": GOTO 55
640 ON c1 GOTO 641, 642, 643, 644, 645, 646, 647
LOCATE 13, 20
641 PRINT "- and - and - and!  C'mon now, finish your thought "; n$; "?": GOTO 55
642 PRINT "I feel there's still something you aren't telling me, right?": GOTO 55
643 PRINT "It's rather difficult to help when you give me these"
LOCATE , 20: PRINT "unfinished answers.": GOTO 55
644 PRINT "Do you often leave your final thought dangling or unsaid? ": GOTO 55
645 PRINT "Why not give me the whole story and let's deal with it.": GOTO 55
646 PRINT "Jeez! And I'm supposed to respond to an unfinished expression.": GOTO 55
647 PRINT "Hey! Just when it was getting good you stop talking.": GOTO 55
750 ch = INT(104 * RND) + 1         ' had been (15*RND) and then (15*RND)
755 FOR rd = 1 TO ch
757 READ a$
758 NEXT rd
759 RESTORE
760 q = q + 1                ' counter for statements ending with a period
770 IF q > 20 THEN 2000        '  program ends after 15 period statements
780 LOCATE 13, 10: PRINT a$
790 GOTO 55
800 DATA What makes you say it that way?,Dare I ask if this is now occupying your mind?,Go on...,If you're certain then continue.
801 DATA Ah Hah! Very interesting!, Maybe if you back away momentarily, What's conflicting you? Your comments sound so oblique., Welcome to the Superbowl of honest feelings!
810 DATA Would you mind saying that another way?,I find it a wee bit hard to believe you said that.,You must be joking.,Did you intend to express that idea so casually?
811 DATA No kidding?, Oooh - I think maybe not.,Whew! I've had enough for today!, Tell you what. Give it another try!
820 DATA Let's just say 'No way...Jose!' OK?,Hmmmmm...you do need some help with this!,Uh huh...hmmmm...anything else?,Perhaps we should quit now?
821 DATA What should that make me think?,Have you thought much about the end result of that?,Maybe we should talk about something else.,I only listen to you since it's my job. But go on.
822 DATA It'd be better if your statement was entirely true.,What do you think would be your guardian angle's opinion.,I don't fully understand that,What if you were to walk off a cliff today?
823 DATA Are you aware of your surroundings much?,If it were clearer might you understand the issue better?,Time for you to take a break for a while?,You come here to share your problems with me?
824 DATA Is there something else I should know?,Maybe you should tell me things in more detail.,Is that really the reason?,Do you even trust me?
825 DATA OK! I understand and it's my job to help you.,More secrets and less mumbo-jumbo - OK?,I don't know why I even try.,Wait a minute now! Am I supposed to take that serious?
826 DATA Is there something else you'd rather be talking about?,I wear a happy smile but even us psychologists lie!,You know what I think?,You should be more assertive
827 DATA You need a vacation.,A pot of gold lies at the end of every rainbow.,Not exactly Valentine's day - is it?,You need to look at the big picture.
828 DATA What is accomplished?,You should finish something,Pay attention to your instincts? They're there to help you.,You may not understand how others see you
829 DATA What's your ultimate goal in life?,Concentrating on one viewpoint overlooks others,Do you try many new things?,My advice? Take a philosphy class!
 DATA I supppose you could say it that way?,Can you elaborate a bit more?,That's not the strongest way of putting it.,You don't seem too upset.
 DATA Don't feel too strongly about that - huh?, You're rather calm about it all.,I can see where you'd feel that way.,You sound like you have a good grip
 DATA By remaining calm you'll get to the point.,I'm rather surprised at your easy approach.,Do you always seem this calm?,Stay with that point.
 DATA Right on!, Maybe you should crank up your feelings a bit.,What's it take to get you riled up?,I'm not sure I could remain as calm as your are!
 DATA Is this the calm before the storm?,Do you ever blow up?,Most people would be having a fit right now.,You have just gotta be the King of Kalm!
 DATA No chance of you throwing a fit!,And you've not even a little bit upset?,Do you think your easy attitude is healthy?,Just what does it take to upset you?
 DATA I can't believe you're this easy going.,And you're not upset? C'mon now.,This is truly upsetting but you seem so calm.,Do you feel that high emotions are justified right now?
 DATA You ARE aware of your true feelings?,I take it you are determined to remain cool?,Do you feel you don't have a right to express anger?,Maybe you should get angry about this!
 DATA You are one cool cat!,If this won't do it what will make you angry?,How about a good old fashioned fit?,I'm truly impressed with your easy deameanor.
 DATA Yeh! Yeh! And water runs off a duck's back,Be cold - or be hot - but be not lukewarm lest I spew you out!,Calm in the face of storm - huh?, Oh - Really!
 DATA We seem to be getting to the core issue.,You're calm and around you - turmoil?,Explain that a bit better if you don't mind.,Let's see if we can generate some heat - OK?
 DATA Now I need a vacation.,Will you be this calm tomorrow?,I think this needs more intense feeling.,Is anyone upset about this?

'=================
850 ON c1 GOTO 851, 852, 853, 854, 855, 856
LOCATE 13, 20
851 PRINT n$; ", remember that I'm just here to help you.": GOTO 55
852 PRINT "I'm sorry but I can't get personally involved.  ": GOTO 55
853 PRINT "Well, just how would you respond if someone talked about"
LOCATE , 20: PRINT "you like that.": GOTO 55
854 PRINT "Hmmmmm... do you truly have a problem with that?": GOTO 55
855 PRINT n$; ", we must get back to YOUR problem... uh, what was it again?": GOTO 55
856 PRINT "Pretend you are having a private conversation with God and"
 PRINT TAB(12); "give me your stripped-to-the-core attitude at this juncture.": GOTO 55
940 ON c1 GOTO 950, 970, 990, 1010, 1030
LOCATE 13, 20
950 PRINT "Do you feel it was a revelation for you to say "
LOCATE , 20:  PRINT r$; "?": GOTO 55
970 PRINT "This is a tough issue to process.  So - is it rather common"
PRINT , 20: PRINT "for you to "
971 LOCATE , 20: PRINT r$: GOTO 55
990 PRINT n$; ", are you satisifed when you say "; r$; "?": GOTO 55
1010 PRINT "What would you think if others were to say they want to "
LOCATE , 20: PRINT r$; "?": GOTO 55
1030 PRINT n$; ", should most people also "; r$; "?": GOTO 55
1050 ON c1 GOTO 1051, 1052, 1053, 1054, 1055
LOCATE 12, 10
1051 PRINT "Did you say sex, "; n$; "? Oh-well! Let'r rip!": GOTO 55
1052 PRINT "Would it help if perhaps we dropped the sex aspect for now? ": GOTO 55
1053 PRINT "There isn't much doubt that sex plays a powerful role.": GOTO 55
1054 PRINT "Whoa!  The sex issue is one that only you can come to grips with.": GOTO 55
1055 PRINT "Is sex really a significant factor in this matter!": GOTO 55
1060 ON c1 GOTO 1061, 1062, 1063, 1065
1061 PRINT "Is that a question or a statement, "; n$; "? Please re-phrase"; : GOTO 55
1062 PRINT "Ooooh -- sounds like it's deeply effecting you. Is it?": GOTO 55
1063 PRINT "Do you feel that the 'where' issue should be addressed now?": GOTO 55
1064 PRINT "Finding the 'where' of any matter can help."; : GOTO 55
1065 PRINT "I suspect that only the Almighty has enough insight here!": GOTO 55
1130 ON c1 GOTO 1131, 1140, 1155
LOCATE 12, 10
1131 PRINT "Sometimes 'sorry' exerts a powerful influence.  Keep going?": GOTO 55
1140 PRINT "You're showing excellent insight here. Have you the"
LOCATE , 20: PRINT "courage to go on!": GOTO 55
1150 PRINT "Keep going.  Recognizing the power of 'sorry' is important!": GOTO 55
1155 PRINT "Maybe we should shift to another less sorrowful area.": GOTO 55
1160 ON c1 GOTO 1161, 1162, 1163, 1164, 1165, 1166, 1167
LOCATE 12, 10
1161 PRINT "I perceive a bit of uncertainty.  Could you explain further, "
LOCATE , 20: PRINT n$; "?": GOTO 55
1162 PRINT "Think about that comment a bit.  Is 'maybe' justified?": GOTO 55
1163 PRINT "You're really thinking smart on this matter, "; n$; "."
LOCATE , 20: PRINT "Keep going.": GOTO 55
1164 PRINT "Explain, please, how you arrived at such an assessment.": GOTO 55
1165 PRINT "Perhaps your confusion is masking for the real reason."
PRINT TAB(15); "Is that possible?": GOTO 55
1166 PRINT "Why do you shy away from mentioning the REAL issue?": GOTO 55
1167 PRINT "I'm on the way to heaven over that one.  Now, bring me back": GOTO 55
1170 ON c1 GOTO 1171, 1172, 1173, 1174
LOCATE 12, 10
1171 PRINT "The concept of things without end...more! more! isn't always"
LOCATE , 10:     PRINT TAB(20); "good, you know.": GOTO 55
1172 PRINT "See if you can tone back the feeling of no end.  Please continue.": GOTO 55
1173 PRINT "That's a pretty excessive statement, "; n$; ". Keep going.": GOTO 55
1174 PRINT "Why on earth do you feel such sweeping thoughts?": GOTO 55
1180 ON c1 GOTO 1181, 1181.1, 1182, 1183, 1184
LOCATE 12, 10
1181 PRINT "Sort of a conditional way of phrasing, don't you think?": GOTO 55
1181.1 PRINT "Have you given any thought to separating those two thoughts? ": GOTO 55
1182 PRINT "Let's try an experiment.  Remove even the slightest doubt"
LOCATE , 10: PRINT "and re-state. ": GOTO 55
1183 PRINT "That slick use of 'perhaps' sorta gets you off the "
     PRINT "hook, doesn't it?": GOTO 55
1184 PRINT "That's a thoughtful, articulate and imaginitive"
LOCATE , 10: PRINT "observation. Hmmmmmm..."
SLEEP 3
PRINT "It certainly indicates that you're smart as the dickens, "; n$
PRINT "Please  continue,"; r$; ".": GOTO 55
1190 ON c1 GOTO 1191, 1192, 1193, 1194
1191 PRINT "Is this really a question for you or for me?  Continue.": GOTO 55
1192 PRINT "Try converting your query into a meaningful statement. ": GOTO 55
1193 PRINT "That's an interesting question.  How would you answer it?": GOTO 55
1194 PRINT "I'll try to answer that during our interview.": GOTO 55
1195 ON c1 GOTO 1196, 1197, 1198
1196 PRINT "I'm glad to see you appreciate the introspective aspects of"
 LOCATE , 10: PRINT "your situation, "; n$; ".  Have you further comments?": GOTO 55
1197 PRINT "Do you find it difficult to take a hard incisive look at"
LOCATE , 10: PRINT "yourself.  Your analysis would be helpful.": GOTO 55
1198 PRINT "That's excellent.  Don't ever be afraid to look at yourself.": GOTO 55
1199 ON c1 GOTO 1199.1, 1199.2, 1199.3, 1199.4
1199.1 PRINT "Sometimes a simple cause and-effect relationship"
       LOCATE , 10: PRINT "isn't the answer.": GOTO 55
1199.2 PRINT "Try dropping the conditional 'if' and see what happens.": GOTO 55
1199.3 PRINT "Be careful with 'if' reasoning.  Sometimes more than a single"
       LOCATE , 10: PRINT "cause can be lurking in the background. Please try again.": GOTO 55
1199.4 PRINT "I can appreciate how you'd feel that's the reason.  But is it? ": GOTO 55
1200 ON c1 GOTO 1201, 1202, 1203, 1204, 1205
1201 PRINT "Now that crack is downright nasty, " + n$ + ".": GOTO 55
1202 PRINT "Oh, you can certainly insult better than THAT.":  GOTO 55
1203 PRINT "Think about it and your crack won't seem so cute.": GOTO 55
1204 PRINT "I'm stupid?  You're the one talking to a dumb computer chip?": GOTO 55
1205 PRINT "Ever notice how juveniles yell 'stupid' a lot?": GOTO 55

'======
1500 INPUT "Let's confirm. Will you re-state how you feel in one word"; feel$
COLOR 14
SELECT CASE feel$
    CASE "sick"
    LOCATE 13, 15: PRINT "Is it possible your sickness is temporary?": GOTO 55
    CASE "angry"
    LOCATE 13, 15: PRINT "Can you still deal rationally with your anger?": GOTO 55
    CASE "irritable"
    LOCATE 13, 15: PRINT "If we're careful we can steer around that condition.": GOTO 55
    CASE "determined"
    LOCATE 13, 15: PRINT "Good! Determination can breech nearly any obstacle.": GOTO 55
    CASE "violated"
    LOCATE 13, 15: PRINT "Ouch!  Violation isn't such a sweet condition?": GOTO 55
    CASE "happy"
    LOCATE 13, 15: PRINT "Good!  It's easier to work when you're 'up.'": GOTO 55
    CASE "fine"
    LOCATE 13, 15: PRINT "Nothing like a top-of-the-morning attitude, huh?": GOTO 55
    CASE "OK"
    LOCATE 13, 15: PRINT "Do you mean a sort of wishy-washy OK?"
    LOCATE , 15: PRINT "Or do you perhaps feel out of sorts?": GOTO 55
    CASE "confused"
    LOCATE 13, 15: PRINT "It truly is a rather confusing situation": GOTO 55
    CASE "depressed"
    LOCATE 13, 15: PRINT "I think that's the worst feeling in the world!"
    LOCATE , 15: PRINT "Is there any way I can help you to deal with it?": GOTO 55
    CASE "good"
    LOCATE 13, 15: PRINT "And that, "; n$; ", is good news!": GOTO 55
    'CASE "xxxxxxxxx"
    'LOCATE 13, 15: PRINT "I can't contribute on that one.  Let's continue.": GOTO 55
    'CASE "xxxxxxxxx"
    'LOCATE 13, 15: PRINT "I think that's the worst feeling in the world!"
    'CASE "xxxxxxxxx"
    'LOCATE 13, 15: PRINT "I think that's the worst feeling in the world!"
    END SELECT
GOTO 55
'============
1520 ON c1 GOTO 1521, 1522, 1523, 1524, 1525
LOCATE 12, 15
1521 PRINT "I'm happy to notice your cooperation, " + n$ + ".": GOTO 55
1522 PRINT "If we're agreed on that, let's move on now.": GOTO 55
1523 PRINT "Do you really mean OK - or are you bantering with me, " + n$ + "?": GOTO 55
1524 PRINT "Well, you're easy to get along with.": GOTO 55
1525 PRINT "At least we've overcome that issue, right, " + n$ + "?: GOTO 55"
'
'1521 PRINT "Now that crack is downright nasty, " + n$ + "?": GOTO 55
'1522 PRINT "Oh, you can certainly insult better than THAT.": GOTO 55
'1523 PRINT "Think about it and your crack won't seem so cute.": GOTO 55
'1524 PRINT "I'm stupid?  You're the one talking to a computer chip?": GOTO 55
'1525 PRINT "Ever notice that children yell 'stupid' a lot, too, " + n$ + "!": GOTO 55
'==========
2000
CLS : SCREEN 0: WIDTH 80
COLOR 9, 1
RANDOMIZE TIMER
FOR I% = 1 TO 1000
  PRINT "°±²±";
NEXT I%
CALL TextBox(4, 4, 22, 74, 11, 1, 4, 7)
LOCATE 10, 15
COLOR 15, 1
2005 c = ABS(c - q)
2010 PRINT "Okay, that's enough for today.  Here is my diagnosis:"
LOCATE 13, 15: COLOR 14
2030 IF c > 7 THEN 2060
2040 LOCATE 14, 20: PRINT "You're perfectly normal, "; n$; ","
LOCATE , 20:     PRINT "but you're not really very talkative!"
2050 GOTO 2130
2060 IF c > 15 THEN 2090
COLOR 14, 1
2070 LOCATE 13, 12: PRINT "You're a very complex person, but your dynamics are "
2071 LOCATE , 12: PRINT "outstanding and you show a quick wit that I like!"
     LOCATE , 12: PRINT "Now try to get a good night's sleep!": PRINT : PRINT : PRINT
2080 GOTO 2130
2090 IF c > 20 THEN 2100
COLOR 14, 1
2100 LOCATE 13, 12: PRINT "Wonderful!  You can be just as fiesty as I try to be!": PRINT : PRINT : PRINT
SLEEP 3
GOTO 2120
LOCATE 15, 15
2120 PRINT "It's either that, "; n$; " - or you've been peeking at my coding."
2130
COLOR 15, 1
LOCATE 18, 15
INPUT "Would you like to 1) Quit, or 2) Repeat (1 or 2)"; asknow$
IF asknow$ = "1" THEN GOTO 8200 ELSE GOTO 25
CLS
LOCATE 14, 25: COLOR 11: PRINT "Goodbye, "; n$; ". See you again."
LOCATE 16, 19: COLOR 14: PRINT "(If the program is reluctant to close after you"
LOCATE 17, 19: PRINT "tap the enter key, mouse click X in the upper right corner."
8200
END

SUB TextBox (x, y, XEnde, YEnde, Foreground, Background, ShadeFore, ShadeBack)
COLOR Foreground, Background            'Draw box
LOCATE x, y: PRINT "Ú"
LOCATE x, YEnde: PRINT "¿"
LOCATE XEnde, y: PRINT "À"
LOCATE XEnde, YEnde: PRINT "Ù"
FOR BoxY = y + 1 TO YEnde - 1
  LOCATE x, BoxY
  PRINT "Ä"
  LOCATE XEnde, BoxY
  PRINT "Ä"
NEXT BoxY
FOR BoxX = x + 1 TO XEnde - 1
  LOCATE BoxX, y
  PRINT "³"
  LOCATE BoxX, YEnde
  PRINT "³"
  LOCATE BoxX, y + 1
  FOR a% = y + 1 TO YEnde - 1            'Fill box
    LOCATE BoxX, a%
    PRINT " "
  NEXT a%
NEXT BoxX

'------IF YOU DON'T WANT A SHADOW THEN CUT HERE----------
COLOR ShadeFore, ShadeBack              'Draw shadow    |
FOR a = x + 1 TO XEnde + 1              '               |
  LOCATE a, YEnde + 1                   '               |
  PRINT CHR$(SCREEN(a, YEnde + 1))      '               |
NEXT a                                  '               |
FOR b = y + 1 TO YEnde + 1              '               |
  LOCATE XEnde + 1, b                   '               |
  PRINT CHR$(SCREEN(XEnde + 1, b))      '               |
NEXT b                                  '               |
END SUB

'
SUB TextBox2 (x, y, XEnde, YEnde)

  COLOR 15, 7                              'Draw box
  FOR I% = y + 1 TO YEnde - 1
    LOCATE x, I%
    PRINT "ß"
  NEXT I%
  FOR I% = x TO XEnde - 1
    LOCATE I%, y
    PRINT "Û"
  NEXT I%
  LOCATE XEnde, y: PRINT "ß"
  COLOR 8, 7
  FOR I% = y + 1 TO YEnde - 1
    LOCATE XEnde, I%
    PRINT "Ü"
  NEXT I%
  FOR I% = x TO XEnde
    LOCATE I%, YEnde
    PRINT "Û"
  NEXT I%
  LOCATE x, YEnde: PRINT "Ü"

  COLOR 7
  FOR a = x + 1 TO XEnde - 1               'Fill box
    FOR b = y + 1 TO YEnde - 1
      LOCATE a, b
      PRINT "Û"
    NEXT b
 NEXT a
END SUB

