Annotation of 43BSDReno/games/hack/hack.rip.c, revision 1.1.1.1

1.1       root        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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.