-void cramf(double x, int w, int d) {\r
- char buf[64];\r
- sprintf(buf, "%*.*f", w, d, x);\r
- proutn(buf);\r
-}\r
-\r
-void crami(int i, int w) {\r
- char buf[16];\r
- sprintf(buf, "%*d", w, i);\r
- proutn(buf);\r
-}\r
-\r
-double square(double i) { return i*i; }\r
- \r
-static void clearscreen(void) {\r
- /* Somehow we need to clear the screen */\r
-#ifdef __BORLANDC__\r
- extern void clrscr(void);\r
- clrscr();\r
-#else\r
- proutn("\033[2J"); /* Hope for an ANSI display */\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
- 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
- }\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
- }\r
- if (i != 0) {\r
- clearscreen();\r
- }\r
- linecount = 0;\r
-}\r
-\r
-\r
-void skip(int i) {\r
- while (i-- > 0) {\r
- linecount++;\r
- if (linecount >= 23)\r
- pause(0);\r
- else\r
- putchar('\n');\r
- }\r
-}\r
-\r
-\r
-void proutn(char *s) {\r
- fputs(s, stdout);\r
-}\r
-\r
-void prout(char *s) {\r
- proutn(s);\r
- skip(1);\r
-}\r
-\r
-void prouts(char *s) {\r
- clock_t endTime;\r
- /* print slowly! */\r
- while (*s) {\r
- endTime = clock() + CLOCKS_PER_SEC*0.05;\r
- while (clock() < endTime) ;\r
- putchar(*s++);\r
- fflush(stdout);\r
- }\r
-}\r
-\r