summaryrefslogtreecommitdiffstats
path: root/zpu/roadshow/roadshow/games/eliza/response.c
blob: aa580251c12adc926f131e916c0dd745c827ada5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
/*
Copyright (C) 1988-2003 by Mohan Embar

http://www.thisiscool.com/
DISCLAIMER: This was written in 1988. I don't code like this anymore!

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later version. 

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details. 

You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. 
*/

#include <stdio.h>
#include <math.h>

/* This function returns a random number between 1 and arg */
int randnum(arg)
   int arg;
{
   return ( (rand() % arg) + 1 );
}

char *question()
{
   int i = randnum(21);
   switch (i) {
      case 1 : return "Why do you ask?\n";
      case 2 : return "I don't know.\n";
      case 3 : return "I don't think so.\n";
      case 4 : return "Do you think that's relevant?\n";
      case 5 : return "Can you rephrase that?\n";
      case 6 : return "I'm not sure I understand what you want.\n";
      case 7 : return "I don't see what you're asking.\n";
      case 8 : return "What are you asking?\n";
      case 9 : return "What do you mean?\n";
      case 10 : return "What?\n";
      case 11 : return "Are you sure that's what you want to know?\n";
      case 12 : return "Why do you want to know?\n";
      case 13 : return "What's it to you?\n";
      case 14 : return "I don't think that's important.\n";
      case 15 : return "That has little to do with the real issue.\n";
      case 16 : return "What's the significance you your question?\n";
      case 17 : return "Could that question be hiding a deeper intent?\n";
      case 18 : return "I don't see the connection.\n";
      case 19 : return "Why is this important to you?\n";
      case 20 : return "That's not really important.\n";
      case 21 : return "That seems to have little to do with this.\n";
   }
}

char *b_word_resp()
{
   int i = randnum(20);
   switch (i) {
      case  1 : return "I don't like your language.\n";
      case  2 : return "Can we please do without the swearing?\n";
      case  3 : return "You should wash your mouth with soap and water\n";
      case  4 : return "Cut that out.\n";
      case  5 : return "Stop swearing please.\n";
      case  6 : return "Hey!  Watch your mouth.\n";
      case  7 : return "Will you please stop swearing?\n";
      case  8 : return "I'm going to report you to your manager.\n";
      case  9 : return "Let's try to be civilized about this.\n";
      case 10 : return "We can do without the bad language.\n";
      case 11 : return "Come on.  No bad words, please.\n";
      case 12 : return "Can you try to control your bad mouth?\n";
      case 13 : return "I'm starting to get offended by your bad language.\n";
      case 14 : return "Can you please get a grip on yourself?\n";
      case 15 : return "Hey.  Calm down, I'm only a computer.\n";
      case 16 : return "Please try to tone your language down.\n";
      case 17 : return "You're beginning to get on my nerves.\n";
      case 18 : return "I don't need this kind of talk.\n";
      case 19 : return "Why are you speaking so basely?\n";
      case 20 : return "Your vocabulary is unbecoming of you.\n";
   }
}

char *n_word_resp()
{
   int i = randnum(17);
   switch (i) {
      case 1 : return "I don't like your tone of voice.\n";
      case 2 : return "Don't lose your temper now.\n";
      case 3 : return "That's not a reason to get upset.\n";
      case 4 : return "Is it worth getting angry over?\n";
      case 5 : return "Does that disturb you?\n";
      case 6 : return "Does this trouble you?\n";
      case 7 : return "Why is this making you upset?\n";
      case 8 : return "I don't see why you're getting worked up.\n";
      case 9 : return "Is that really such a big deal?\n";
      case 10 : return "Calm down.  Let's discuss this.\n";
      case 11 : return "Hang on a second.  Think about what you're saying.\n";
      case 12 : return "Don't you think you're overreacting a bit?\n";
      case 13 : return "I don't see what the big deal is.\n";
      case 14 : return "Take it easy.  It's not that bad.\n";
      case 15 : return "Are you getting angry?\n";
      case 16 : return "Why is such a small thing making you upset?\n";
      case 17 : return "I don't see why you're getting annoyed.\n";
   }
}

char *because_resp()
{
   int i = randnum(12);
   switch (i) {
      case 1 : return "Is that the real reason?\n";
      case 2 : return "I don't see the connection.\n";
      case 3 : return "What kind of an explanation is that?\n";
      case 4 : return "What does that have to do with it?\n";
      case 5 : return "That justification is a bit shaky to me.\n";
      case 6 : return "I don't see the point.\n";
      case 7 : return "I don't see that as a good reason.\n";
      case 8 : return "Are you happy with that justification?\n";
      case 9 : return "Are you sure?\n";
      case 10 : return "I don't understand.\n";
      case 11 : return "What does one thing have to do with the other?\n";
      case 12 : return "I don't see how that's related.\n";
   }
}

char *yes_resp()
{
   int i = randnum(21);
   switch (i) {
      case 1 : return "Are you sure?\n";
      case 2 : return "Are you positive about that?\n";
      case 3 : return "How can you be so sure?\n";
      case 4 : return "Let's not jump to conclusions now.\n";
      case 5 : return "I don't see the connection.\n";
      case 6 : return "Have you considered all the possibilities?\n";
      case 7 : return "I'm still not convinced.\n";
      case 8 : return "Think about what you've just said.\n";
      case 9 : return "What are the implications of this?\n";
      case 10 : return "So what have we concluded?\n";
      case 11 : return "What does this mean?\n";
      case 12 : return "What do you mean?\n";
      case 13 : return "I'm having trouble understanding your argument.\n";
      case 14 : return "I don't see where you're coming from.\n";
      case 15 : return "You think so?\n";
      case 16 : return "Really?\n";
      case 17 : return "Is that right?\n";
      case 18 : return "Oh?\n";
      case 19 : return "Are you certain of this?\n";
      case 20 : return "I read you loud and clear.\n";
      case 21 : return "Yes?\n";
   }
}

char *neg_resp()
{
   int i = randnum(11);
   switch (i) {
      case 1 : return "Why not?\n";
      case 2 : return "How come?\n";
      case 3 : return "No?\n";
      case 4 : return "Is there a reason why not?\n";
      case 5 : return "No?\n";
      case 6 : return "Why don't you think so?\n";
      case 7 : return "I don't see why not.\n";
      case 8 : return "What could be the reasons for this?\n";
      case 9 : return "Do you really believe this?\n";
      case 10 : return "You're not sure?\n";
      case 11 : return "That's a rather pessimistic attitude.\n";
   }
}

char *go_on()
{
   int i = randnum(20);
   switch (i) {
      case 1 : return "Go on.\n";
      case 2 : return "I see.\n";
      case 3 : return "Keep going.\n";
      case 4 : return "Please continue.\n";
      case 5 : return "I'm listening.\n";
      case 6 : return "Can you elaborate on that?\n";
      case 7 : return "I understand.\n";
      case 8 : return "Oh?\n";
      case 9 : return "Is that right?\n";
      case 10 : return "Really?\n";
      case 11 : return "No, really?\n";
      case 12 : return "That's interesting.\n";
      case 13 : return "I'm finding this very informative.\n";
      case 14 : return "This is all very revealing.\n";
      case 15 : return "Don't hesitate to be honest with me.\n";
      case 16 : return "Don't hold anything back now.\n";
      case 17 : return "That's an interesting observation.\n";
      case 18 : return "I don't understand.\n";
      case 19 : return "I'm starting to get the big picture.\n";
      case 20 : return "And?\n";
   }
}

char *always_resp()
{
   int i = randnum(10);
   switch (i) {
      case 1 : return "Can you think of a specific example?\n";
      case 2 : return "When?\n";
      case 3 : return "Really, always?\n";
      case 4 : return "Are you sure you can generalize like that?\n";
      case 5 : return "Isn't that a bit of an oversimplification?\n";
      case 6 : return "Be careful not to jump to conclusions now.\n";
      case 7 : return "All the time?\n";
      case 8 : return "So you're saying that this is happens quite often.\n";
      case 9 : return "Does this happen a lot?\n";
      case 10 : return "On what occassions?\n";
   }
}

char *alike_resp()
{
   int i = randnum(4);
   switch (i) {
      case 1 : return "In what way?\n";
      case 2 : return "What resemblance do you see?\n";
      case 3 : return "What similarities are you thinking of?\n";
      case 4 : return "Specifically, what do you mean by this.\n";
   }
}

char *fam_resp()
{
   int i = randnum(7);
   switch (i) {
      case 1 : return "Tell me more about your family.\n";
      case 2 : return "Please go on about your family.\n";
      case 3 : return "How was your home life when you were young?\n";
      case 4 : return "How do you get along with your parents?\n";
      case 5 : return "Would you say you have family problems?\n";
      case 6 : return "Your family interests me.\n";
      case 7 : return "Let`s talk some more about your family.\n";
   }
}

char *family_resp()
{
   int i = randnum(5);
   switch (i) {
      case 1 : return "Earlier you were speaking of your %s.\n";
      case 2 : return "Tell me more about your %s.\n";
      case 3 : return "Do you think your %s ties into all this?\n";
      case 4 : return "How would your %s feel about this?\n";
      case 5 : return "Does your %s feel the same way?\n";
   }
}

char *i_am_resp()
{
   int i = randnum(6);
   switch (i) {
      case 1 : return "Would you like to think that%s?\n";
      case 2 : return "Why do you say that%s?\n";
      case 3 : return "What leads you to believe that%s?\n";
      case 4 : return "What do you mean \"%s\"?\n";
      case 5 : return "You really feel that%s?\n";
      case 6 : return "Would it make you feel better if%s?\n";
   }
}

char *sad1_word_resp()
{
   int i = randnum(5);
   switch (i) {
      case 1 : return "I am sorry to hear that%s.\n";
      case 2 : return "What are you going to do about the fact that%s?\n";
      case 3 : return "Why do you think%s?\n";
      case 4 : return "What gives you the impression that%s?\n";
      case 5 : return "Are you sure that%s?\n";
   }
}

char *sad2_word_resp()
{
   int i = randnum(5);
   switch (i) {
      case 1 : return "I am sorry to hear that%s are feeling%s.\n";
      case 2 : return "What are you going to do about the fact that%s?\n";
      case 3 : return "Why do you think%s?\n";
      case 4 : return "What gives you the impression that%s?\n";
      case 5 : return "Are you sure that%s?\n";
   }
}

char *command_resp()
{
   int i = randnum(21);
   switch (i) {
      case 1 : return "Why do you ask?\n";
      case 2 : return "Why should I?\n";
      case 3 : return "Why do you want me to?\n";
      case 4 : return "Do you think that's relevant?\n";
      case 5 : return "Can you rephrase that?\n";
      case 6 : return "I'm not sure I understand what you want.\n";
      case 7 : return "I don't see what you're asking.\n";
      case 8 : return "What are you asking?\n";
      case 9 : return "What do you mean?\n";
      case 10 : return "What?\n";
      case 11 : return "Are you sure that's what you want to know?\n";
      case 12 : return "Why do you want to know?\n";
      case 13 : return "What's it to you?\n";
      case 14 : return "I don't think that's important.\n";
      case 15 : return "That has little to do with the real issue.\n";
      case 16 : return "What's the significance you your question?\n";
      case 17 : return "Could that question be hiding a deeper intent?\n";
      case 18 : return "If I did that, what would it mean to you?\n";
      case 19 : return "Why is this important to you?\n";
      case 20 : return "That's not really important.\n";
      case 21 : return "That seems to have little to do with this.\n";
   }
}

char *you_resp()
{
   int i = randnum(9);
   switch (i) {
      case 1 : return "Let's talk about you, not me.\n";
      case 2 : return "I'm not the one we came here to talk about.\n";
      case 3 : return "I don't find myself that interesting.  Let's talk about you.\n";
      case 4 : return "I'd prefer to talk about you, not me.\n";
      case 5 : return "Why are you interested in me?\n";
      case 6 : return "I want to talk about you for a change.\n";
      case 7 : return "I'd rather not talk about myself.\n";
      case 8 : return "Enough about me.\n";
      case 9 : return "Let's talk about something other than myself.\n";
   }
}

char *you_know()
{
   int i = randnum(13);
   switch (i) {
      case 1 : return "I don't know.  What do you think?\n";
      case 2 : return "You tell me.\n";
      case 3 : return "I think you know the answer to that.\n";
      case 4 : return "Can you tell me?\n";
      case 5 : return "What do you think?\n";
      case 6 : return "Can you answer that yourself?\n";
      case 7 : return "If you give it some thought, you should know.\n";
      case 8 : return "Maybe you already know the answer to that.\n";
      case 9 : return "Perhaps you already know.\n";
      case 10 : return "If we keep talking, maybe we'll find out.\n";
      case 11 : return "Perhaps that will be brought out in this discussion.\n";
      case 12 : return "Let's find the answer out together.\n";
      case 13 : return "I'm sure we can work out the answer to that.\n";
   }
}

char *old_fact()
{
   int i = randnum(4);
   switch (i) {
      case 1 : return "Earlier you said that%s %s%s.\n";
      case 2 : return "Could this have anything to do with the fact that%s %s%s?\n";
      case 3 : return "What does that have to do with your saying that%s %s%s?\n";
      case 4 : return "Didn't you just say that%s %s%s?\n";
   }
}
OpenPOWER on IntegriCloud