[alt.sources] suicide.c

jgo@mcgp1.UUCP (John Opalko, N7KBT) (09/20/88)

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 =======================

/*-------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--------------------------------------------*/

============== suicide1.c =====================

/************************** BEGIN SUICIDE PROGRAM *****************************/

#include <curses.h>
main()
{
	int i, j;

	static int cx[] = {
		20, 25, 30, 40, 44, 48, 57 };
	

	static char *road[] = {
		"------------------------------------------------------------------------------",
		" ",
		" ",
		" ---   ---   ---   ---   ---   ---   ---   ---   ---   ---   ---   ---   ---",
		" ",
		" ",
		"-----------------------------------------------------------------------------" };

	static char *car[] = {
		" _/-\__",
		" =o--o+"};

	static char *guy[] = {
		"o",
		"X",
		" "};

	static char *boom[] = {
		"    . *  . ",
		"   ^  : .o . ",
		"  =  \'$-# .  ",
		"   . /=./\ ",
		"     . v .  "};

	static char *cry[] = {
		"Hey!",
		"You!",
		"Watch out",
		"for",
		"the",
		"CAR !!!!"};

	static char *bye[] = {
		" ",
		" ",
		" ",
		"Bye",
		"sick",
		" world !!"};

	initscr();
	clear();
	printpic(road, 7, 8, 0);
	for(i=0; i < 60; i++) {
		printpic(car, 2, 12, i);
		if(i%10 == 0) {
			j = i/10;
			printpic(guy, 3, 17-(j), 65);
			mvprintw(3, cx[j], cry[j]);
			mvprintw(20, cx[j]+18, bye[j]);
			if(j == 5)
				mvprintw(14, 64, "---");
		}	
	}
	printpic(boom, 4, 11, 60);
	refresh();
	endwin();
	getchar();
	
}

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

/****************** END OF SUICIDE PROGRAM ************************************/


	Enjoy, all you morbid people!!!!!