autover.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 45 行

C
45
字号
#ifndef lintstatic char sccsid[] = "@(#)autover.c	4.2	(Berkeley)	5/27/83";#endif not lint# include	"trek.h"/***  Automatic Override****	If we should be so unlucky as to be caught in a quadrant**	with a supernova in it, this routine is called.  It is**	called from checkcond().****	It sets you to a random warp (guaranteed to be over 6.0)**	and starts sending you off "somewhere" (whereever that is).****	Please note that it is VERY important that you reset your**	warp speed after the automatic override is called.  The new**	warp factor does not stay in effect for just this routine.****	This routine will never try to send you more than sqrt(2)**	quadrants, since that is all that is needed.*/autover(){	double			dist;	register int		course;	printf("RED ALERT:  The %s is in a supernova quadrant\n", Ship.shipname);	printf("***  Emergency override attempts to hurl %s to safety\n", Ship.shipname);	/* let's get our ass out of here */	Ship.warp = 6.0 + 2.0 * franf();	Ship.warp2 = Ship.warp * Ship.warp;	Ship.warp3 = Ship.warp2 * Ship.warp;	dist = 0.75 * Ship.energy / (Ship.warp3 * (Ship.shldup + 1));	if (dist > 1.4142)		dist = 1.4142;	course = ranf(360);	Etc.nkling = -1;	Ship.cond = RED;	warp(-1, course, dist);	attack(0);}

⌨️ 快捷键说明

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