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

📄 mille.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
# include	"mille.h"# include	<signal.h># ifdef attron#	include	<term.h># endif	attron/* * @(#)mille.c	1.3 (Berkeley) 5/10/83 */int	rub();char	_sobuf[BUFSIZ];main(ac, av)reg int		ac;reg char	*av[]; {	reg bool	restore;	double		avs[3];	if (strcmp(av[0], "a.out") == 0) {		outf = fopen("q", "w");		setbuf(outf, 0);		Debug = TRUE;	}	restore = FALSE;# ifdef pdp11	if (geteuid() != ARNOLD) {		loadav(avs);		if (avs[2] > 9.0) {			printf("Sorry.  The load average is too high.\n");			printf("Please try again later\n");			exit(1);		}	}# endif	switch (ac) {	  case 2:		rest_f(av[1]);		restore = TRUE;	  case 1:		break;	  default:		printf("usage: milles [ restore_file ]\n");		exit(-1);		/* NOTREACHED */	}	setbuf(stdout, _sobuf);	Play = PLAYER;	initscr();# ifdef attron#	define	CA	cursor_address# endif	if (!CA) {		printf("Sorry.  Need cursor addressing to play mille\n");		exit(-1);	}	delwin(stdscr);	stdscr = Board = newwin(BOARD_Y, BOARD_X, 0, 0);	Score = newwin(SCORE_Y, SCORE_X, 0, 40);	Miles = newwin(MILES_Y, MILES_X, 17, 0);#ifdef attron	idlok(Board, TRUE);	idlok(Score, TRUE);	idlok(Miles, TRUE);#endif	leaveok(Score, TRUE);	leaveok(Miles, TRUE);	clearok(curscr, TRUE);# ifndef PROF	srand(getpid());# else	srand(0);# endif	crmode();	noecho();	signal(SIGINT, rub);	for (;;) {		if (!restore || (Player[PLAYER].total >= 5000		    || Player[COMP].total >= 5000)) {			if (Player[COMP].total < Player[PLAYER].total)				Player[PLAYER].games++;			else if (Player[COMP].total > Player[PLAYER].total)				Player[COMP].games++;			Player[COMP].total = 0;			Player[PLAYER].total = 0;		}		do {			if (!restore)				Handstart = Play = other(Handstart);			if (!restore || On_exit) {				shuffle();				init();			}			newboard();			if (restore)				mvwaddstr(Score, ERR_Y, ERR_X, Initstr);			prboard();			do {				domove();				if (Finished)					newscore();				prboard();			} while (!Finished);			check_more();			restore = On_exit = FALSE;		} while (Player[COMP].total < 5000		    && Player[PLAYER].total < 5000);	}}/* *	Routine to trap rubouts, and make sure they really want to * quit. */rub() {	signal(SIGINT, 1);	if (getyn("Really? "))		die();	signal(SIGINT, rub);}/* *	Time to go beddy-by */die() {	signal(SIGINT, 1);	if (outf)		fflush(outf);	mvcur(0, COLS - 1, LINES - 1, 0);	endwin();	exit(1);}

⌨️ 快捷键说明

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