#include #include #include #include #include static const char ttyfn[]="/dev/tty",waz[]="@$##====----.... "; #define DLW (sizeof(waz)-1) /* X^31+X^13+1 */ #define RPOLY 0x80002001UL unsigned long rseed=1; int rnd(int bits) { int i; for(i=0; i>=1; } return rseed&((1<>(r-'1'); } /* losuj czy i jak zmienic kierunek ruchu */ /* r=rand()>>9; r&=0xf; */ r=rnd(4); if(r<4) d=(d+r+6+r/2)%8; /* wylicz nowe wspolrzedne glowy weza */ x+=mx+dt[d+2]; y+=maxy+dt[d]; x%=mx; y%=maxy; /* wyswietl weza na ekranie */ for(i=DLW; ; ) { i--; term_gotoxy(2*wx[i],wy[i]); putchar(waz[i]); putchar(waz[i]); if(i==0) break; wy[i]=wy[i-1]; wx[i]=wx[i-1]; } wy[0]=y; wx[0]=x; fflush(stdout); goto nast; /* konczac program odtworz ustawienia terminala */ stop: clearscreen(); tcsetattr(1,TCSAFLUSH,&old_t); return 0; }