#include typedef int _;const W=78,H=22;char D[H][W+1];_ EX,RL,A=4,G=2,C,E=99,M=9,L=9,F=1 ,RX,RY,XD,YD,DD,S,T,X,Y,Z;extern "C"{time(_);rand();srand(_);getch();exit(_);}r (_ n){return rand()%n;}void k(){for(C=9;(C<0)||(C>8);)C=getch()-49;YD=RY-(C/3-1 );XD=RX+(C%3-1);if(D[YD][XD]!=32)RY=YD,RX=XD;else k();}void g(){puts("you died" );getch();exit(0);}main(){srand(time(0));for(;F<27;F+=5){for(Y=0;Y9;Z-=10)putchar('*');puts(Z>5? "+":"-"); D[RY][RX]='.';k();E--;if(E<0)g();if(r(M-L+1)>r(M))L++;C=D[RY][RX];if(C=='%') break;else if(C=='!')L=M++;else if(C==')')A++;else if(C==']')G++;else if(C==':' )E=99;else if(C>='A'){C-='A';if(C<26){Z=r(C/2+8)+r(C/4+3)*r(C/6+3)-r(A)-r(G);L -=Z>0? Z:r(C+1);if(--L<0)g();EX+=C;E-=r(6);if(RL*RL*2<++EX)M+=++RL,puts( "you gain level");}}}}printf("your score:%d",EX);getch();}