aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranklin Wei <franklin@fwei.tk>2014-06-22 16:47:24 -0400
committerFranklin Wei <franklin@fwei.tk>2014-06-22 16:47:24 -0400
commit314aa1044b78ad58e0a9e53b38c91de8714b5922 (patch)
tree86c776eb080e882903df4a723e3be8daa786bc67
parentcdbad1c7e4d89d8d11b34f625905b6949bba3fe7 (diff)
downloadwargames-server-314aa1044b78ad58e0a9e53b38c91de8714b5922.zip
wargames-server-314aa1044b78ad58e0a9e53b38c91de8714b5922.tar.gz
wargames-server-314aa1044b78ad58e0a9e53b38c91de8714b5922.tar.bz2
wargames-server-314aa1044b78ad58e0a9e53b38c91de8714b5922.tar.xz
Added map, improved logon garbage
-rw-r--r--MAP15
-rw-r--r--Makefile2
-rw-r--r--README.md3
-rw-r--r--chatbot.c17
-rw-r--r--chatbot.h1
-rw-r--r--joshua.c38
-rw-r--r--util.c13
-rw-r--r--util.h2
8 files changed, 62 insertions, 29 deletions
diff --git a/MAP b/MAP
new file mode 100644
index 0000000..64f6b85
--- /dev/null
+++ b/MAP
@@ -0,0 +1,15 @@
+
+ __________--^-^-\ ___ __-/^^\
+ /. \__. ___/ || __/ _/ _-_
+ \ \. / / _ __/^ /__/ \/^^\___-__
+ / L-^-/ / | \_-- \
+/ ( / /\/
+| | _/ __ __/
+\ / / ___/_//
+ \__ / | / \/
+ \________ __ _____ \ \_ __--_ ^\_ \
+ \__ / V \ \ \__ _/ \-/ //
+ \ / \/ \ _/ //
+ \_/ \_/
+
+ UNITED STATES SOVIET UNION \ No newline at end of file
diff --git a/Makefile b/Makefile
index b021949..d437816 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-SOURCES=joshua.o main.o
+SOURCES=joshua.o main.o util.o chatbot.o
CXXFLAGS=-I. -lncurses
CFLAGS=-I. -std=gnu99
all: $(SOURCES)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8facc37
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+==WarGames==
+
+Program to simulate the W.O.P.R. from WarGames. \ No newline at end of file
diff --git a/chatbot.c b/chatbot.c
new file mode 100644
index 0000000..89e5cc5
--- /dev/null
+++ b/chatbot.c
@@ -0,0 +1,17 @@
+#include <curses.h>
+#include <util.h>
+#include <strings.h>
+void do_chatbot(void)
+{
+ while(1)
+ {
+ char buf[513];
+ int ret=getnstr(buf, 512);
+ if(ret==ERR)
+ {
+ print_string("\n\n");
+ print_string(cantUnderstand_respond[sizeof(cantUnderstand_respond)/sizeof(const char*)]);
+ print_string("\n\n");
+ }
+ }
+}
diff --git a/chatbot.h b/chatbot.h
new file mode 100644
index 0000000..c3c1db0
--- /dev/null
+++ b/chatbot.h
@@ -0,0 +1 @@
+void do_chatbot(void);
diff --git a/joshua.c b/joshua.c
index 29083a0..cf6311b 100644
--- a/joshua.c
+++ b/joshua.c
@@ -1,8 +1,9 @@
#include <joshua.h>
+#include <chatbot.h>
#include <curses.h>
#include <stdlib.h>
+#include <util.h>
#define RANDOM_TIME 1
-#define SLEEP_TIME 50000
void allLower(char* str)
{
for(int i=0;str[i];++i)
@@ -10,36 +11,15 @@ void allLower(char* str)
str[i]=tolower(str[i]);
}
}
-void print_string(const char* str) /* print string, slowly */
-{
- int i=0;
- while(str[i])
- {
- addch(str[i]);
- usleep(SLEEP_TIME);
- beep();
- refresh();
- ++i;
- }
-}
void random_stuff(void) /* print random junk on the screen for about 3 seconds */
{
- int maxx, maxy;
- int stop=time(0)+RANDOM_TIME;
- getmaxyx(stdscr, maxy, maxx);
clear();
- for(;time(0)<=stop;)
- {
- for(int x=0;x<maxx;++x)
- {
- for(int y=0;y<maxy;++y)
- {
- mvaddch(y, x, (rand()%255)+1);
- beep();
- }
- }
- refresh();
- }
+ /* credit for this text goes to David Brownlee and Chirs Carter */
+ print_string("#45 11456 11009 11893 11972 11315\nPRT CON. 3.4.5. SECTRAN 9.4.3. PORT STAT: SD-345\n\n(311) 699-7305\n");
+ clear();
+ print_string("\n\n\n\n\n\n\n");
+ print_string("(311) 767-8739\n(311) 936-2364\n- PRT. STAT. CRT. DEF.\n||||||||||||||==================================================\nFSKDJLSD: SDSDKJ: SBFJSL: DKSJL: SKFJJ: SDKFJLJ:\nSYSPROC FUNCT READY ALT NET READY\nCPU AUTH RY-345-AX3 SYSCOMP STATUS ALL PORTS ACTIVE\n22/34534.90/3209 11CVB-3904-3490\n(311) 935-2364\n");
+ usleep(500000);
clear();
}
void be_joshua()
@@ -76,10 +56,12 @@ void be_joshua()
}
} while(strcmp(buf, "joshua"));
random_stuff();
+ usleep(SLEEP_TIME*25);
print_string("GREETINGS, PROFESSOR FALKEN.\n\n");
refresh();
getnstr(buf, 32); /* ignore this */
print_string("\n\nHOW ARE YOU FEELING TODAY?\n\n");
refresh();
+ do_chatbot();
endwin();
}
diff --git a/util.c b/util.c
new file mode 100644
index 0000000..a02150e
--- /dev/null
+++ b/util.c
@@ -0,0 +1,13 @@
+#include <util.h>
+#include <curses.h>
+void print_string(const char* str) /* print string, slowly */
+{
+ int i=0;
+ while(str[i])
+ {
+ addch(str[i]);
+ usleep(SLEEP_TIME);
+ refresh();
+ ++i;
+ }
+}
diff --git a/util.h b/util.h
new file mode 100644
index 0000000..0f08cdb
--- /dev/null
+++ b/util.h
@@ -0,0 +1,2 @@
+#define SLEEP_TIME 5000
+void print_string(const char*);