summaryrefslogtreecommitdiffstats
path: root/hack/hack.rip.c
diff options
context:
space:
mode:
authorcgd <cgd@NetBSD.org>1993-03-21 09:45:37 +0000
committercgd <cgd@NetBSD.org>1993-03-21 09:45:37 +0000
commit77e3814f0c0e3dea4d0032e25666f77e6f83bfff (patch)
tree7eddfcbf3dd12089e71dc3fafb0a106c5c5766c7 /hack/hack.rip.c
parente81d63576b2e46ab90da7d75fa155ea57ee4d32e (diff)
downloadbsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.gz
bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.tar.zst
bsdgames-darwin-77e3814f0c0e3dea4d0032e25666f77e6f83bfff.zip
initial import of 386bsd-0.1 sources
Diffstat (limited to 'hack/hack.rip.c')
-rw-r--r--hack/hack.rip.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/hack/hack.rip.c b/hack/hack.rip.c
new file mode 100644
index 00000000..bdc28230
--- /dev/null
+++ b/hack/hack.rip.c
@@ -0,0 +1,81 @@
+/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
+/* hack.rip.c - version 1.0.2 */
+
+#include <stdio.h>
+#include "hack.h"
+
+extern char plname[];
+
+static char *rip[] = {
+" ----------",
+" / \\",
+" / REST \\",
+" / IN \\",
+" / PEACE \\",
+" / \\",
+" | |",
+" | |",
+" | |",
+" | |",
+" | |",
+" | 1001 |",
+" *| * * * | *",
+" _________)/\\\\_//(\\/(/\\)/\\//\\/|_)_______\n",
+0
+};
+
+outrip(){
+ register char **dp = rip;
+ register char *dpx;
+ char buf[BUFSZ];
+ register x,y;
+
+ cls();
+ (void) strcpy(buf, plname);
+ buf[16] = 0;
+ center(6, buf);
+ (void) sprintf(buf, "%ld AU", u.ugold);
+ center(7, buf);
+ (void) sprintf(buf, "killed by%s",
+ !strncmp(killer, "the ", 4) ? "" :
+ !strcmp(killer, "starvation") ? "" :
+ index(vowels, *killer) ? " an" : " a");
+ center(8, buf);
+ (void) strcpy(buf, killer);
+ if(strlen(buf) > 16) {
+ register int i,i0,i1;
+ i0 = i1 = 0;
+ for(i = 0; i <= 16; i++)
+ if(buf[i] == ' ') i0 = i, i1 = i+1;
+ if(!i0) i0 = i1 = 16;
+ buf[i1 + 16] = 0;
+ center(10, buf+i1);
+ buf[i0] = 0;
+ }
+ center(9, buf);
+ (void) sprintf(buf, "%4d", getyear());
+ center(11, buf);
+ for(y=8; *dp; y++,dp++){
+ x = 0;
+ dpx = *dp;
+ while(dpx[x]) {
+ while(dpx[x] == ' ') x++;
+ curs(x,y);
+ while(dpx[x] && dpx[x] != ' '){
+ extern int done_stopprint;
+ if(done_stopprint)
+ return;
+ curx++;
+ (void) putchar(dpx[x++]);
+ }
+ }
+ }
+ getret();
+}
+
+center(line, text) int line; char *text; {
+register char *ip,*op;
+ ip = text;
+ op = &rip[line][28 - ((strlen(text)+1)/2)];
+ while(*ip) *op++ = *ip++;
+}