#define SSTDOC "sst.doc"\r
#endif\r
\r
-int getch(void);\r
-\r
static char line[128], *linep = line;\r
static int linecount; /* for paging */\r
static int screenheight = 24;\r
2. deathray improvement (but keeping original failure alternatives)\r
\r
3. Tholian Web\r
-\r
+s\r
4. Enemies can ram the Enterprise. Regular Klingons and Romulans can\r
move in Expert and Emeritus games. This code could use improvement.\r
\r
while (fgets(linebuf, sizeof(linebuf),fp)) {\r
if (strstr(linebuf, "******"))\r
break;\r
- /* use fputs here to avoid % expansion */\r
- fputs(linebuf, stdout);\r
+ proutc(linebuf);\r
}\r
fclose(fp);\r
}\r
if (LINES)\r
screenheight = atoi(LINES);\r
\r
+ line[0] = '\0';\r
if (argc > 1) {\r
- fromcommandline = 1;\r
- line[0] = '\0';\r
while (--argc > 0) {\r
strcat(line, *(++argv));\r
strcat(line, " ");\r
}\r
}\r
- else fromcommandline = 0;\r
-\r
\r
while (TRUE) { /* Play a game */\r
- setup();\r
+ setup(line[0] == '\0');\r
if (alldone) {\r
score();\r
alldone = 0;\r
extern void clrscr(void);\r
clrscr();\r
#else\r
- proutn("\033[2J"); /* Hope for an ANSI display */\r
+ // proutn("\033[2J"); /* Hope for an ANSI display */\r
+ /* much more in that old-time TTY spirit to just throw linefeeds */\r
+ int i;\r
+ for (i = 0; i < screenheight; i++)\r
+ putchar('\n');\r
#endif\r
}\r
\r
/* We will pull these out in case we want to do something special later */\r
\r
void pause(int i) {\r
+ char buf[BUFSIZ];\r
putchar('\n');\r
if (i==1) {\r
if (skill > 2)\r
prout("[ANOUNCEMENT ARRIVING...]");\r
else\r
- prout("[IMPORTANT ANNOUNCEMENT ARRIVING -- HIT SPACE BAR TO CONTINUE]");\r
- getch();\r
+ prout("[IMPORTANT ANNOUNCEMENT ARRIVING -- PRESS ENTER TO CONTINUE]");\r
}\r
else {\r
- if (skill > 2)\r
- proutn("[CONTINUE?]");\r
- else\r
- proutn("[HIT SPACE BAR TO CONTINUE]");\r
- getch();\r
- proutn("\r \r");\r
+ if (skill > 2)\r
+ proutn("[CONTINUE?]");\r
+ else\r
+ proutn("[PRESS ENTER TO CONTINUE]");\r
+\r
}\r
+ fgets(buf, sizeof(buf), stdin);\r
if (i != 0) {\r
clearscreen();\r
}\r
skip(1);\r
}\r
\r
+void proutc(char *line) {\r
+ line[strlen(line)-1] = '\0';\r
+ fputs(line, stdout);\r
+ skip(1);\r
+}\r
+\r
void prouts(char *fmt, ...) {\r
clock_t endTime;\r
char *s, buf[BUFSIZ];\r