⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zork.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
static char sccsid[] = "	zork.c	4.1	82/10/24	";#include <stdio.h>/* * Dungeon - open UP dungeon */#ifdef CHECKUIDint users[] = {	522,    /* sa */	164,    /* Leiby */	229,    /* richards */	264,    /* marshall */	1099,   /* wizard */	425,    /* clm */	15,     /* mowle */	32,     /* ghg */	27,	/* qtip (zager) */	530,	/* mike */	16,	/* bc */	333,	/* pdh */	230,	/* wa1yyn */	19,	/* joe	43,	/* bruner */	308,	/* gedeon (watch him closely!) */	429,	/* mayhew */	743,	/* alicia */	367,	/* feather */	85,	/* clark bar */	382,	/* malcolm */	99,	/* jones */	636,    /* gfg */	0 };#endifmain(){	register int *up;	register uid;	int fd3, fd4, fd5;#ifdef CHECKUID	uid = getuid();	for (up=users; *up; up++)		if (*up == uid)			goto ok;	printf("You are not a Wizard!\n");	exit();#endif	/*	 * open up files needed by program	 * look in current directory first, then try default names	 * The following files must be as follows:	 * "dtext.dat" open read-only on fd 3	 * "dindex.dat open read-only on fd 4 (maybe this file isn't used)	 * "doverlay" open read-only on fd 5 (put this file on fast disk)	 */	close(3);	close(4);	close(5);	if ((fd3 = open("dtext.dat", 0)) < 0)		if ((fd3 = open("/usr/games/lib/dtext.dat", 0)) < 0)			error("Can't open dtext.dat\n");	if ((fd4 = open("dindex.dat", 0)) < 0)		if ((fd4 = open("/usr/games/lib/dindex.dat", 0)) < 0)			error("Can' open dindex.dat\n");	if ((fd5 = open("doverlay", 0)) < 0)		if ((fd5 = open("/tmp/nedtmp/doverlay", 0)) < 0)			if ((fd5 = open("/usr/games/lib/doverlay", 0)) < 0)				error("Can't open doverlay\n");	if (fd3 != 3 || fd4 != 4 || fd5 != 5)		error("Files opened on wrong descriptors\n");	signal(2,1);	printf("You are in an open field west of a big white house with a boarded\n");	printf("front door.\n");	printf("There is a small mailbox here.\n>");	fflush(stdout);#ifdef pdp11	execl("dungeon","zork", 0);	execl("/usr/games/lib/dungeon","zork", 0);#else	if( (uid=open("dungeon", 0)) > 0 ) {		close(uid);		execlp("compat", "zork", "dungeon", 0);		execlp("/usr/games/lib/compat", "zork", "dungeon", 0);	}	execlp("compat", "zork", "/usr/games/lib/dungeon", 0);	execlp("/usr/games/lib/compat", "zork", "/usr/games/lib/dungeon", 0);#endif	printf("Can't start dungeons.\n");	exit(0);}error(s)char *s;{	printf("%s", s);	exit(1);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -