1 long h
[4];t(){h
[3]-=h
[3]/3000;setitimer(0,h
,0);}c
,d
,l
,v
[]={(int)t
,0,2},w
,s
,I
,K
2 =0,i
=276,j
,k
,q
[276],Q
[276],*n
=q
,*m
,x
=17,f
[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1,
3 12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12,
4 1,12,11,-12,-1,1,2,-12,-1,12,13,-12,12,13,14,-11,-1,1,4,-13,-12,12,16,-11,-12,
5 12,17,-13,1,-1,5,-12,12,11,6,-12,12,24};u(){for(i
=11;++i
<264;)if((k
=q
[i
])-Q
[i
]
6 ){Q
[i
]=k
;if(i
-++I
||i
%12<1)printf("\033[%d;%dH",(I
=i
)/12,i
%12*2+28);printf(
7 "\033[%dm "+(K
-k
?0:5),k
);K
=k
;}Q
[263]=c
=getchar();}G(b
){for(i
=4;i
--;)if(q
[i
?b
+
8 n
[i
]:b
])return 0;return 1;}g(b
){for(i
=4;i
--;q
[i
?x
+n
[i
]:x
]=b
);}main(C
,V
,a
)char*
9 *V
,*a
;{h
[3]=1000000/(l
=C
>1?atoi(V
[1]):2);for(a
=C
>2?V
[2]:"jkl pq";i
;i
--)*n
++=i
<
10 25||i
%12<2?7:0;srand(getpid());system("stty cbreak -echo stop u");sigvec(14,v
,
11 0);t();puts("\033[H\033[J");for(n
=f
+rand()%7*4;;g(7),u(),g(0)){if(c
<0){if(G(x
+
12 12))x
+=12;else{g(7);++w
;for(j
=0;j
<252;j
=12*(j
/12+1))for(;q
[++j
];)if(j
%12==10){
13 for(;j
%12;q
[j
--]=0);u();for(;--j
;q
[j
+12]=q
[j
]);u();}n
=f
+rand()%7*4;G(x
=17)||(c
14 =a
[5]);}}if(c
==*a
)G(--x
)||++x
;if(c
==a
[1])n
=f
+4**(m
=n
),G(x
)||(n
=m
);if(c
==a
[2])G
15 (++x
)||--x
;if(c
==a
[3])for(;G(x
+12);++w
)x
+=12;if(c
==a
[4]||c
==a
[5]){s
=sigblock(
16 8192);printf("\033[H\033[J\033[0m%d\n",w
);if(c
==a
[5])break;for(j
=264;j
--;Q
[j
]=
17 0);while(getchar()-a
[4]);puts("\033[H\033[J\033[7m");sigsetmask(s
);}}d
=popen(
18 "stty -cbreak echo stop \023;sort -mnr -o HI - HI;cat HI","w");fprintf(d
,
19 "%4d from level %1d by %s\n",w
,l
,getlogin());pclose(d
);}