diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2015-05-09 11:50:36 -0400 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2015-05-09 11:50:36 -0400 |
| commit | 313a10a1251cfd588cebf6389395617bc2672b0c (patch) | |
| tree | fa8c6d393e21ee6c6d67d1a5c977dce1eb36c274 /chatbot.c | |
| parent | 38f8ea46442e27d117af113dfd61f2567040260f (diff) | |
| download | wargames-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.c | 127 |
1 files changed, 65 insertions, 62 deletions
@@ -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 |