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

📄 io.c

📁 unix v7是最后一个广泛发布的研究型UNIX版本
💻 C
字号:
#include "old.h"rline(){	char *p1;	int c;	p1 = sbuf;	while((c = getchar()) != '\n')		if(c <= 0)			onhup(); else			*p1++ = c;	*p1++ = '\0';}getchar(){	int c;loop:	c = 0;	read(0, &c, 1);	if(c == 0 && intrp) {		intrp = 0;		goto loop;	}	return(c);}pboard(){	int i, x, y, c, p;	c = 0;	i = 0;	x = 8;	while(x--) {		if(!mantom || mfmt)			putchar('1'+x); else			putchar('8'-x);		putchar(' ');		c++;		y = 8;		while(y--) {			c++;			putchar(' ');			if(p = board[i++])				putchar("kqrbnp PNBRQK"[p+6]); else				if((c&1)!=0)					putchar('*'); else					putchar('-');		}		putchar('\n');		if(intrp)			return;	}	if(mfmt)		printf("\n   a b c d e f g h"); else		printf("\n   q q q q k k k k\n   r n b     b n r");		printf("\n");}out1(m){	printf("%d. ", moveno);	if(mantom)		printf("... ");	out(m);	putchar('\n');}out(m)int m;{	int from, to, epf, pmf;	from = m>>8;	to = m&0377;	if(mfmt) {		algco(from);		algco(to);		return;	}	mantom? bmove(m): wmove(m);	epf = pmf = 0;	switch(amp[-1]) {	case 0:	case 1:		stdp(board[to]);	ed:		putchar('/');		stdb(from);		if(amp[-2]) {			putchar('x');			stdp(amp[-2]);			putchar('/');		} else			putchar('-');		stdb(to);		break;	case 3:		putchar('o');		putchar('-');	case 2:		putchar('o');		putchar('-');		putchar('o');		break;	case 4:		epf = 1;		putchar('p');		goto ed;	case 5:		pmf = 1;		putchar('p');		goto ed;	}	if(pmf) {		putchar('(');		putchar('q');		putchar(')');	}	if(epf) {		putchar('e');		putchar('p');	}	if(check())		putchar('+');	mantom? bremove(): wremove();}stdp(p)int p;{	if(p < 0)		p = -p;	p = "ppnbrqk"[p];	putchar(p);}stdb(b)int b;{	int r, f;	r = b/8;	if((f = b%8) < 4)		putchar('q'); else {		putchar('k');		f = 7-f;	}	f = "rnb\0"[f];	if(f)		putchar(f);	putchar(mantom? r+'1': '8'-r);}algco(p)int p;{	putchar('a'+(p%8));	putchar('8'-(p/8));}putchar(c){	switch(c) {	case '\t':		do			putchar(' ');		while(column%8);		return;	case '\n':		column = 0;		break;	default:		column++;	}	write(1, &c, 1);}prtime(a, b){	printf("time = %d/%d\n", a, b);}score1(m){	if(intrp)		return;	if(!mantom) {		if(moveno < 10)			putchar(' '); else			putchar(moveno/10 + '0');		putchar(moveno%10 + '0');		putchar('.');		putchar(' ');	} else		while(column < 20)			putchar(' ');	out(m);	if(mantom)		putchar('\n');}score(){	int *p;	putchar('\n');	p = amp;	while(amp[-1] != -1) {		mantom? wremove(): bremove();		decrem();	}	posit(score1, p);	putchar('\n');}

⌨️ 快捷键说明

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