#if 0

From eagle!ukc!mcvax!uunet!intek01!mcgp1!jgo Sun Sep 25 01:19:43 BST 1988
Article 1 of alt.sources:
Path: raven!eagle!ukc!mcvax!uunet!intek01!mcgp1!jgo
>From: jgo@mcgp1.UUCP (John Opalko, N7KBT)
Newsgroups: alt.sources
Subject: suicide.c (from 1983)
Keywords: oldie but goodie
Message-ID: <1580@mcgp1.UUCP>
Date: 19 Sep 88 22:03:25 GMT
Distribution: alt
Organization: McCaw Cellular Communications, Inc., Seattle, WA
Lines: 248


In article <10082@eddie.MIT.EDU>, nathan@eddie.MIT.EDU (Nathan Glasser) writes:
> In article <754@gtx.com> al@gtx.UUCP (Alan Filipski) writes:
> >Has anyone got a copy of Nathan Glasser's program suicide.c?
> >It was posted to net.suicide in early January 1983.
> 
> I don't think I've actually got a copy of my original posting, but
> I could probably reconstruct the program without too much difficulty.
> If someone actually still has a copy (I'd be pretty impressed by this),
> they can feel free to post it, otherwise I can probably get around to it.
> 
> Probably a better place to post it now would be in comp.sources.games.
> -- 
> 				Nathan Glasser

Okay, you can start being impressed.  I searched through a bunch of old tapes
and I found suicide.c AND suicide1.c.  I guess it pays to be a packrat.

Anyway, here they are.  They run on SysV, but have unresolved external
references on ULTRIX.  I probably modified them to run on SysV five years ago;
I don't remember.  It shouldn't be too difficult to get them to run under BSD.



				Is it time for alt.suicide yet?

				John Opalko
				Washington State Home for the Bizarre



========================= suicide.c =======================
#endif

/*-------begin-suicide.c-------------------------------------------*/
#include <curses.h>
main()
{
    int i, j;
    static char *tree[] = {
	"  ((( (   ( )) ) ))",
	"    | ( (((()( ( )|",
	"\\   |    )  ))) ) |",
	" \\  |             |",
	"\\ \\ |             |",
	" \\ \\   _____      ---------------.",
	"  \\   /     \\                ___/",
	"   \\  |      \\    ----------/",
	"    | |       |   |",
	"    |  \\_____/    |",
	"    |             |",
	"    |             |",
	"    |             |",
	"    |             |",
	"    |             |",
	"    |             |",
	"    |             |",
	"    |             |",
	"    |             |",
	"   /               \\",
	"  |                 |",
	" /                   \\",
    "                      ------------------------------------------------"};

    static char *man1[] = {
	" __o__",
	"   I",
	"  / \\"};

    static char *man2[] = {
	"   o",
	"  /\\",
	" |_"};

    static char *man3[] = {
	"  o",
	" /\\",
	"|",
	" \\"};

    static char *man4[] = {
	"    ",
	"\\o/",
	" I ",
	"/ \\"};

    static char *man5[] = {
	"     ",
	" \\o/ ",
	"\\_I_/"};

    static char *man6[] = {
	"    o    /",
	"  /    ",
	"\\      I",
	"----\\"};

    static struct {
	int y;
	int x;
    } divecoord[] = {
	2,34,
	1,34,
	1,35,
	1,36,
	1,37,
	1,38,
	1,39,
	0,40,
	0,41,
	0,42};


    initscr();
    clear();
    printpic(tree,23,0,0);
    for (i = 20; i < 31; i++)
	printpic(man1,3,2,i);
    for (i = 31; i < 33; i++)
	printpic(man2,3,2,i);
    move(2,33); clrtoeol();
    move(3,33); clrtoeol();
    move(4,33); clrtoeol();
    mvprintw(0,19,"Aaaaa");
    for (i = 0; i < 10; i++)
    {
	if (i == 5)
	    mvprintw(0,24,"uuuuuuuu");
	printpic(man3,4,divecoord[i].y,divecoord[i].x);
	for (j = 0; j < 4; j++)
	{
	    move(divecoord[i].y + j,divecoord[i].x);
	    clrtoeol();
	}
    }
    mvprintw(0,32,"gggggggggggggggg");
    printpic(man4 + 1,3,1,43);
    for (i = 1; i < 11; i++)
	printpic(man4,4,i,43);
    move(0,48); printw("hhhhhhhhhhhhhhhhhhhhh");
    for (i = 11; i < 21; i++)
	printpic(man5,3,i,42);
    mvprintw(0,69,"!!!!!!!!!!");
    printpic(man6,4,19,41);
    move(23,0);
    refresh();
    endwin();
}

printpic(pic,len,y,x)
char **pic;
int len, y, x;
{
    int i;
    for (i = 0; i < len; i++)
	mvprintw(i + y,x,pic[i]);
    refresh();
}
/*--------end-suicide.c--------------------------------------------*/
