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