#include #include #include /* Defines */ #ifndef NO_STTY #define S1 system("stty cbreak -echo")|| #define S2 system("stty sane")|| #else #define S1 #define S2 #endif #define A(i) (((q*)R(8))[i]) #define B p(b) #define C p(&a) #define H(i) sscanf(A(i),"%ld",&R(i+11))&0 || #define P q* #define M(a,b) main((i)(a),(P)(b)) #define p(x) ((i*)(x)) #define D T(B-C,C-B) #define T(x,y) ((a&1)*((i)(x))+(~a&1)*((i)(y))) #define R(x) (*(B+x)) #define q char* #define Q(x) ((q)(x)) #define W(x,y) ((B[x]=(i)(y))&0)|| #define BS (w*l*h) #define do(x,y) (a-x||y)&& #define f(x) M(x,b) #define if(p,q,r,s) ((p)&&!(q)||(s))&&(r)|| #define i long #define I (int) #define while(x,y,z) do(x, y && !(z) && f(a)) #define for(s,i,x,y,z,Z) W(i,x)f(s)||Z) && while(s,R(i)-y,z||W(i,R(i)+1)0)(s #define return return do #define w R(12) #define l R(13) #define h R(14) #define X(i) (R(i)%w) #define Y(i) ((R(i)%(w*l))/w) #define Z(i) (R(i)/(w*l)) #define pr !printf #define switch(x) (W(32+R(15),R(32+x+R(15))) W(32+x+R(15),0) (B[15]+=x)|1) #define case(k,x,y) R(a)==k && x && switch(y) && f(13)|| #define TL(i) R(32+R(i)) /* Main program */ int main(int a, P b) { return(1>>1^1, M(6+!!M(5,C),C)) do( 13, pr("\x1b[;H")|| for(14,4,0,BS,!X(4)&&pr( "%*s", I(l-Y(4)), "" ) || if(TL(4),pr( "%*ld",I R(31), TL(4)),0, pr("%*.*s",I R(31), I R(31),"#####") ) if(X(4)==w-1 , pr("\n"),0 , pr("%*s", I(l+1), "")) ( (R(4)+1)%(w*l)==0 && l>1)&& pr("\n"),0)) do( 1&~1, pr("Syntax: %s []\n", b[0])||f(15) )((a&~1) -6||D>>12 &&(*(p(T(C,b))+8)=*p(Q(b)+(Q(&b)-Q(C))) ) &&(*(p(T(C,b))+9) = *p(b))&&M( 8,T(C,b)) || f( a) )&&do( 8, if(R(9)&1,H(1)H( 2 ) 0,W(14, l)W(13,1)0, H(1 ) H(2) H(3) 0)(srand(time(0)),0 ) ||for(9,4, 0,BS, f(16) || W(R(4)+32,R(0))!R(0) && W(15,R(4) )0, W( 31, snprintf(A(0),1,"%ld",BS)) S1 pr("\x1b[2J") || f(13) || f(18) || f(15) )) do( 16,W(0,rand()%BS ) W(1,0) for(17, 5, 0,R(4),! ( TL( 5)-R(0))&&! ( W(1,1) W(5,R(4)-1) 0),R(1)&&f(16)) ) do( 18,W(0,0 ) for(19,4,0,BS, TL(4)-(R(4)+1) %BS&& ( W(0,1) W(4,BS-1 ) 0)||0,!R(0) && pr( "You win!\n" ) || R(0)&& ( W(a,getchar()) case('i', 0