hack.rip.c revision 1.1 1 1.1 cgd /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
2 1.1 cgd /* hack.rip.c - version 1.0.2 */
3 1.1 cgd
4 1.1 cgd #include <stdio.h>
5 1.1 cgd #include "hack.h"
6 1.1 cgd
7 1.1 cgd extern char plname[];
8 1.1 cgd
9 1.1 cgd static char *rip[] = {
10 1.1 cgd " ----------",
11 1.1 cgd " / \\",
12 1.1 cgd " / REST \\",
13 1.1 cgd " / IN \\",
14 1.1 cgd " / PEACE \\",
15 1.1 cgd " / \\",
16 1.1 cgd " | |",
17 1.1 cgd " | |",
18 1.1 cgd " | |",
19 1.1 cgd " | |",
20 1.1 cgd " | |",
21 1.1 cgd " | 1001 |",
22 1.1 cgd " *| * * * | *",
23 1.1 cgd " _________)/\\\\_//(\\/(/\\)/\\//\\/|_)_______\n",
24 1.1 cgd 0
25 1.1 cgd };
26 1.1 cgd
27 1.1 cgd outrip(){
28 1.1 cgd register char **dp = rip;
29 1.1 cgd register char *dpx;
30 1.1 cgd char buf[BUFSZ];
31 1.1 cgd register x,y;
32 1.1 cgd
33 1.1 cgd cls();
34 1.1 cgd (void) strcpy(buf, plname);
35 1.1 cgd buf[16] = 0;
36 1.1 cgd center(6, buf);
37 1.1 cgd (void) sprintf(buf, "%ld AU", u.ugold);
38 1.1 cgd center(7, buf);
39 1.1 cgd (void) sprintf(buf, "killed by%s",
40 1.1 cgd !strncmp(killer, "the ", 4) ? "" :
41 1.1 cgd !strcmp(killer, "starvation") ? "" :
42 1.1 cgd index(vowels, *killer) ? " an" : " a");
43 1.1 cgd center(8, buf);
44 1.1 cgd (void) strcpy(buf, killer);
45 1.1 cgd if(strlen(buf) > 16) {
46 1.1 cgd register int i,i0,i1;
47 1.1 cgd i0 = i1 = 0;
48 1.1 cgd for(i = 0; i <= 16; i++)
49 1.1 cgd if(buf[i] == ' ') i0 = i, i1 = i+1;
50 1.1 cgd if(!i0) i0 = i1 = 16;
51 1.1 cgd buf[i1 + 16] = 0;
52 1.1 cgd center(10, buf+i1);
53 1.1 cgd buf[i0] = 0;
54 1.1 cgd }
55 1.1 cgd center(9, buf);
56 1.1 cgd (void) sprintf(buf, "%4d", getyear());
57 1.1 cgd center(11, buf);
58 1.1 cgd for(y=8; *dp; y++,dp++){
59 1.1 cgd x = 0;
60 1.1 cgd dpx = *dp;
61 1.1 cgd while(dpx[x]) {
62 1.1 cgd while(dpx[x] == ' ') x++;
63 1.1 cgd curs(x,y);
64 1.1 cgd while(dpx[x] && dpx[x] != ' '){
65 1.1 cgd extern int done_stopprint;
66 1.1 cgd if(done_stopprint)
67 1.1 cgd return;
68 1.1 cgd curx++;
69 1.1 cgd (void) putchar(dpx[x++]);
70 1.1 cgd }
71 1.1 cgd }
72 1.1 cgd }
73 1.1 cgd getret();
74 1.1 cgd }
75 1.1 cgd
76 1.1 cgd center(line, text) int line; char *text; {
77 1.1 cgd register char *ip,*op;
78 1.1 cgd ip = text;
79 1.1 cgd op = &rip[line][28 - ((strlen(text)+1)/2)];
80 1.1 cgd while(*ip) *op++ = *ip++;
81 1.1 cgd }
82