#define A 64 #define/*XXXXXXXXXX*/B 256 /*XXXXXXXXXXXXXXXXX*/#include /*XXXXXXXXXXXXXXXXXXXXXX*/#include /*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX*/#include"SDL.h" #define/*XXXXXXXXXXXXXXXXXXXXXXXXXXXXX[*/m(a,b,c)a##b##c typedef/**/Sint32 i;i/**/p[A][4][B][2],d[4][B][2],q=0,b[4][2] ,S,C,H,I,e,R,K,E=1,G,u,t,s=SDL_HWSURFACE|SDL_DOUBLEBUF,P[4][3]={{ 255,16,16},{00,255,00},{255,255,64},{64,128,255}},w=800,h=600; const SDL_VideoInfo*v;SDL_Surface*o;SDL_Event n;i O(i/**/x,i y){return(y-x)* (float)rand()/RAND_MAX+x;}void g(i z,i x,i/**/y){if(p[q][I][S][C]z)d[I][S][C]-=O (x,y);e=d[I][S][C];d[I][S][C] =e<-H?-H:(e>H?H:e);}void c(i x,i/**/y,i/**/z){t =SDL_MapRGB(o->format,x*S/A,y* #define r(Z){SDL_FillRect(o,NULL,t);for(S=1;S <=A;S++){C=(q+S)%A;for(I=0;I<4\ ;I++){c(255,255,255);for(H=0;H>=16;if(e>=0&&e>=16;if(R>=0&&\ Rpixels)+R*(o ->pitch)+(e*K))=(Z)t;{;}}}}}} S/A,z*S/A);}int main(int x,char**y){if(SDL_Init(m(SDL, _INIT_,VIDEO))<0)puts( "SDL\40error. ");else{;atexit(SDL_Quit);v= SDL_GetVideoInfo();K=v-> m(v ,fm,t)->BytesPerPixel;if(K -2&&K!=4)puts( "Bad\40pixel\40format"); else{if(x> 1)s|= SDL_FULLSCREEN;o=m(SD, L_SetVideo ,Mode)( w,h,K*8,s) ;if(!o)puts("error!"); else{;m(SDL , _WM_SetC ,aption)( " Schierke",NULL);srand( time(NULL)) ; for (I= 0;I <4; ++ I){for(S=0;S