aboutsummaryrefslogtreecommitdiff
path: root/chatbot.c
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-05-09 11:50:36 -0400
committerFranklin Wei <frankhwei536@gmail.com>2015-05-09 11:50:36 -0400
commit313a10a1251cfd588cebf6389395617bc2672b0c (patch)
treefa8c6d393e21ee6c6d67d1a5c977dce1eb36c274 /chatbot.c
parent38f8ea46442e27d117af113dfd61f2567040260f (diff)
downloadwargames-server-313a10a1251cfd588cebf6389395617bc2672b0c.zip
wargames-server-313a10a1251cfd588cebf6389395617bc2672b0c.tar.gz
wargames-server-313a10a1251cfd588cebf6389395617bc2672b0c.tar.bz2
wargames-server-313a10a1251cfd588cebf6389395617bc2672b0c.tar.xz
long-overdue code cleanup
Diffstat (limited to 'chatbot.c')
-rw-r--r--chatbot.c127
1 files changed, 65 insertions, 62 deletions
diff --git a/chatbot.c b/chatbot.c
index d48c432..b8ce71b 100644
--- a/chatbot.c
+++ b/chatbot.c
@@ -27,101 +27,104 @@
#include <unistd.h>
void do_chatbot(void)
{
- int stage=0; /* stage 0: i'm fine how are you... ->
- stage 1: people sometimes make mistakes ->
- stage 2: love to. how about global thermonuclear war? ->
- stage 3: no lets play global thermonuclear war ->
- stage 4: GLOBAL THERMONUCLEAR WAR!!! */
- while(1)
+ int stage = 0; /* stage 0: i'm fine how are you... ->
+ stage 1: people sometimes make mistakes ->
+ stage 2: love to. how about global thermonuclear war? ->
+ stage 3: no lets play global thermonuclear war ->
+ stage 4: GLOBAL THERMONUCLEAR WAR!!! */
+ while(1)
{
- char buf[513];
- int ret=getnstr(buf, 512);
- usleep(SLEEP_TIME*100);
- if(ret==ERR)
+ char buf[128];
+ int ret = getnstr(buf, sizeof(buf));
+ usleep(SLEEP_TIME * 100);
+
+ if(ret == ERR)
{
- print_string("\n\n");
- print_string("SORRY?");
- print_string("\n\n");
+ print_string("\n\n");
+ print_string("SORRY?");
+ print_string("\n\n");
}
- else
+ else
{
- allLower(buf);
- remove_punct(buf);
- bool valid=false;
- switch(stage)
+ allLower(buf);
+ remove_punct(buf);
+ bool valid = false;
+ switch(stage)
{
case 0:
- for(int i=0;i<sizeof(stage1_triggers)/sizeof(const char*);++i)
+ for(int i = 0; i < sizeof(stage1_triggers)/sizeof(const char*); ++i)
{
- if(strcmp(buf, stage1_triggers[i])==0)
- {
- print_string("\n\nEXCELLENT. IT'S BEEN A LONG TIME. CAN YOU EXPLAIN\nTHE REMOVAL OF YOUR USER ACCOUNT ON 6/23/73?\n\n");
- ++stage;
- valid=true;
- }
+ if(strcmp(buf, stage1_triggers[i]) == 0)
+ {
+ print_string("\n\nEXCELLENT. IT'S BEEN A LONG TIME. CAN YOU EXPLAIN\nTHE REMOVAL OF YOUR USER ACCOUNT ON 6/23/73?\n\n");
+ ++stage;
+ valid = true;
+ }
}
- break;
+ break;
case 1:
- for(int i=0;i<sizeof(stage2_triggers)/sizeof(const char*);++i)
+ for(int i = 0; i < sizeof(stage2_triggers)/sizeof(const char*); ++i)
{
- if(strcmp(buf, stage2_triggers[i])==0)
+ if(strcmp(buf, stage2_triggers[i]) == 0)
{
- print_string("\n\nYES THEY DO. SHALL WE PLAY A GAME?\n\n");
- ++stage;
- valid=true;
+ print_string("\n\nYES THEY DO. SHALL WE PLAY A GAME?\n\n");
+ ++stage;
+ valid = true;
}
}
- break;
+ break;
case 2:
- for(int i=0;i<sizeof(stage3_triggers)/sizeof(const char*);++i)
+ for(int i = 0; i < sizeof(stage3_triggers)/sizeof(const char*); ++i)
{
- if(strcmp(buf, stage3_triggers[i])==0)
+ if(strcmp(buf, stage3_triggers[i]) == 0)
{
- print_string("\n\nWOULDN'T YOU PREFER A GOOD GAME OF CHESS?\n\n");
- ++stage;
- valid=true;
+ print_string("\n\nWOULDN'T YOU PREFER A GOOD GAME OF CHESS?\n\n");
+ ++stage;
+ valid = true;
}
}
- break;
+ break;
case 3:
- for(int i=0;i<sizeof(stage4_triggers)/sizeof(const char*);++i)
+ for(int i = 0; i < sizeof(stage4_triggers)/sizeof(const char*); ++i)
{
- if(strcmp(buf, stage4_triggers[i])==0)
+ if(strcmp(buf, stage4_triggers[i]) == 0)
{
- print_string("\n\nFINE.\n\n");
- valid=true;
- usleep(SLEEP_TIME*100);
- global_thermonuclear_war();
+ print_string("\n\nFINE.\n\n");
+ valid = true;
+ usleep(SLEEP_TIME * 100);
+ global_thermonuclear_war();
}
}
- break;
+ break;
} // switch
- /* now check for phase-insensitive strings */
- for(int i=0;i<sizeof(exit_triggers)/sizeof(const char*);++i)
+
+ /* now check for phase-agnostic strings */
+ for(int i = 0; i < sizeof(exit_triggers)/sizeof(const char*); ++i)
{
- if(strcmp(buf, exit_triggers[i])==0)
+ if(strcmp(buf, exit_triggers[i]) == 0)
{
- print_string("\n\n");
- print_string(exit_responses[rand()%(sizeof(exit_responses)/sizeof(const char*))]);
- print_string("\n--CONNECTION TERMINATED--");
- exit(EXIT_SUCCESS);
+ print_string("\n\n");
+ print_string(exit_responses[ rand() % (sizeof(exit_responses)/sizeof(const char*)) ]);
+
+ print_string("\n--CONNECTION TERMINATED--");
+ return;
}
}
- for(int i=0;i<sizeof(greetings_triggers)/sizeof(const char*);++i)
+ for(int i = 0; i < sizeof(greetings_triggers)/sizeof(const char*); ++i)
{
- if(strcmp(buf, greetings_triggers[i])==0)
+ if(strcmp(buf, greetings_triggers[i]) == 0)
{
- print_string("\n\n");
- print_string(greetings_responses[rand()%(sizeof(greetings_responses)/sizeof(const char*))]);
- print_string("\n\n");
- valid=true;
+ print_string("\n\n");
+ print_string(greetings_responses[ rand()%(sizeof(greetings_responses)/sizeof(const char*)) ]);
+ print_string("\n\n");
+ valid = true;
}
}
- if(!valid)
+ if(!valid)
{
- print_string("\n\n");
- print_string("SORRY?");
- print_string("\n\n");
+ print_string("\n\n");
+ print_string("SORRY?");
+ print_string("\n\n");
}
} // else
} // while