// #define GTC_ONCALC //undo this line if with GCC4TI #define MIN_AMS 200 #include #ifdef GTC_ONCALC long al(long a) {return a;} long mu(long a,long b) {return a*b;} long di(long a,long b) {return a/b;} #else #define al(a) (a) #define mu(a,b) (a)*(b) #define di(a,b) (a)/(b) #endif #define WITH_GRAPHH WINDOW wind; unsigned char is_interh; unsigned char *lcdad; unsigned char gmode; INT_HANDLER OldInt5 = NULL; unsigned int ii2; long var3,var4,var9,var10,var11,var12,var13,var14,var16,var17,var18,var20,var21,var22,var23,var26,var28,var32,var33,var37; char *psb1; char psb7[]={252,252,252,252,252,252}; char psb8[]={248,248,248,248,248,0}; char psb38[]={248,248,248,248,248}; long fc1(),fc2(),fc3(),fc4(),fc5(),fc6(long,long),fc7(long,long),fc8(long,long,long),fc9(long,long,long),fc10(),fc11(),fc12(),fc13(),fc14(); long fxy0(void); long fiy1(void); #include #include #include #ifdef WITH_GRAPHH #ifdef GTC_ONCALC #include #else #include #endif #endif #include #include #include #include long fxy0(void) { (++((var4))); return (long)(fc1()); } long fiy1(void) { if(psb1) { free(psb1); } } long fc1() { FontSetSys(0); printf_xy(50,91,"Mines : %ld ",(long)var3); printf_xy(105,91,"Times : %ld ",(long)var4); } long fc2() { f_inter_(1,18); } long fc3() { fiy1(); f_inter_(1,0); f_finish_(0); } long fc4() { psb1=(char *)malloc(abs(1*(mu(var14,var13)-0)/(1))+1);ii2=0; for(var16=0;var16!=(mu(var14,var13)+1);var16+=1) { *((char *)(psb1)+ii2++)=100;} psb1; for(var17=0;var17!=((var13)-(1)+1);var17+=1) { for(var18=0;var18!=((var14)-(1)+1);var18+=1) { if((((((long)(var18))==((long)(0))) || (((long)(var18))==((long)((var14)-(1))))) || (((long)(var17))==((long)(0)))) || (((long)(var17))==((long)((var13)-(1))))) { f_sprt8_(al(mu(var17,6)),al(mu(var18,6)),6,(unsigned char*)(psb7),gmode,lcdad); } else { f_sprt8_(al(mu(var17,6)),al(mu(var18,6)),6,(unsigned char*)(psb8),gmode,lcdad); } } } for(var17=1;var17!=((var13)-(2)+1);var17+=1) { for(var18=1;var18!=((var14)-(2)+1);var18+=1) { psb1[(var17)+(mu(var13,var18))]=(char)(0); } } } long fc5() { var20=(long)(0); while((var20)<(var12)) { var17=(long)((random(var10))+(1)); var18=(long)((random(var11))+(1)); var21=(long)(psb1[(var17)+(mu(var13,var18))]); if((var21)!=(9)) { psb1[(var17)+(mu(var13,var18))]=(char)(9); (++((var20))); } } for(var17=1;var17!=((var13)-(2)+1);var17+=1) { for(var18=1;var18!=((var14)-(2)+1);var18+=1) { if(((long)(psb1[(var17)+(mu(var13,var18))]))==((long)(9))) { for(var22=-1;var22!=(1+1);var22+=1) { for(var23=-1;var23!=(1+1);var23+=1) { if((((long)(var22))==((long)(0))) && (((long)(var23))==((long)(0)))) {(++((var23)));} if(((((((var22)+(var17))>(0)) && (((var22)+(var17))<=(var10))) && (((var23)+(var18))>(0))) && (((var23)+(var18))<=(var11))) && ((psb1[((var17)+(var22))+(mu(var13,(var18)+(var23)))])!=(9))) { psb1[((var17)+(var22))+(mu(var13,(var18)+(var23)))]=(char)((psb1[((var17)+(var22))+(mu(var13,(var18)+(var23)))])+(1)); } } } } } } } long fc6(long var17,long var18) { (gmode=1); f_fillrect_(al(mu(6,var17)),al(mu(6,var18)),al((mu(6,var17))+(5)),al((mu(6,var18))+(5)),gmode,lcdad); (gmode=0); } long fc7(long var17,long var18) { FontSetSys(0); if(((var17)>=(1)) && ((var18)<=((var14)-(1)))) { if(f_gpix_(al(mu(6,var17)),al(mu(6,var18)),lcdad)) {(++((var26)));} fc6(var17,var18); } else { return 0; } if(((var17)>=(1)) && ((var18)<=((var14)-(1)))) { MoveTo(mu(var17,6),mu(var18,6)); } else { return 0; } var21=(long)(psb1[(var17)+(mu(var13,var18))]); if(((var21)>=(1)) && ((var21)<=(8))) { printf("%ld",(long)(var21)); } if(((long)(var21))==((long)(9))) { f_drawstr_(al((mu(6,var17))-(1)),al(mu(6,var18)),(char*)("*"),gmode); return 1; } if(((long)(var21))==((long)(100))) {f_sprt8_(al(mu(var17,6)),al(mu(var18,6)),6,(unsigned char*)(psb7),gmode,lcdad);} return 0; } long fc8(long var17,long var18,long var16) { "up8:"; var28=(long)(0); var16=(long)(psb1[(var17)+(mu(var13,(var18)-(var28)))]); while(((var16)>=(0)) && ((var16)<=(8))) { fc7(var17,(var18)-(var28)); (++((var28))); var16=(long)(psb1[(var17)+(mu(var13,(var18)-(var28)))]); } "up2"; var28=(long)(0); var16=(long)(psb1[(var17)+(mu(var13,(var18)+(var28)))]); while(((var16)>=(0)) && ((var16)<=(8))) { fc7(var17,(var18)+(var28)); (++((var28))); var16=(long)(psb1[(var17)+(mu(var13,(var18)+(var28)))]); } } long fc9(long var17,long var18,long var16) { "left:"; var20=(long)(0); var21=(long)(psb1[((var17)-(var20))+(mu(var13,var18))]); while(((var21)>=(0)) && ((var21)<=(8))) { if(((var21)>=(0)) && ((var21)<=(8))) { fc8((var17)-(var20),var18,0); fc7((var17)-(var20),var18); } else { break; } (++((var20))); var21=(long)(psb1[((var17)-(var20))+(mu(var13,var18))]); } "right:"; var20=(long)(0); var21=(long)(psb1[((var17)+(var20))+(mu(var13,var18))]); while(((var21)>=(0)) && ((var21)<=(8))) { if(((var21)>=(0)) && ((var21)<=(8))) { fc7((var17)+(var20),var18); fc8((var17)+(var20),var18,0); } (++((var20))); var21=(long)(psb1[((var17)+(var20))+(mu(var13,var18))]); } } long fc10() { FontSetSys(0); for(var17=0;var17!=((var13)-(1)+1);var17+=1) { for(var18=0;var18!=((var14)-(1)+1);var18+=1) { fc7(var17,var18); } } } long fc11() { f_sprt8_(al(mu(6,var32)),al(mu(6,var33)),6,(unsigned char*)(psb7),gmode,lcdad); } long fc12() { f_inter_(1,0); fc10(); text_("WIN"); fc3(); } long fc13() { f_inter_(1,0); fc10(); f_keywait_(); text_("GAME OVER"); fc3(); } long fc14() { var37=(long)(0); FontSetSys(0); while((var37)!=(264)) { if(((long)((mu(var10,var11))-(var12)))==((long)(var26))) {fc12();} var37=(long)(f_keywait_()); (gmode=2); fc11(); if((((long)(var37))==((long)(344))) && ((var32)<(var10))) {(++((var32)));} if((((long)(var37))==((long)(338))) && ((var32)>(1))) {(--((var32)));} if((((long)(var37))==((long)(337))) && ((var33)>(1))) {(--((var33)));} if((((long)(var37))==((long)(340))) && ((var33)<(var11))) {(++((var33)));} if(((long)(var37))==((long)(269))) { if((psb1[(var32)+(mu(var13,var33))])<=(9)) { psb1[(var32)+(mu(var13,var33))]=(char)((11)+(psb1[(var32)+(mu(var13,var33))])); MoveTo((mu(6,var32))-(1),mu(6,var33)); printf("%s","*"); } else { psb1[(var32)+(mu(var13,var33))]=(char)((psb1[(var32)+(mu(var13,var33))])-(11)); if((psb1[(var32)+(mu(var13,var33))])<=(8)) { fc6(var32,var33); f_sprt8_(al(mu(var32,6)),al(mu(var33,6)),5,(unsigned char*)(psb38),gmode,lcdad); } else { fc7(var32,var33); } } } if((((long)(var37))==((long)(13))) || (((long)(var37))==((long)(268)))) { if((((long)(psb1[(var32)+(mu(var13,var33))]))==((long)(9))) && ((var26)>(0))) {fc13();} if(f_gpix_(al(mu(6,var32)),al(mu(6,var33)),lcdad)) {fc9(var32,var33,0);} } (gmode=2); fc11(); } } void _main(void) { kbhit(); is_interh=1; init_inter(); OldInt5=GetIntVec(AUTO_INT_5); SetIntVec(AUTO_INT_5,MyInt5); init_save_load_scr(); #ifdef GTC_ONCALC #ifdef WITH_GRAPHH loadasm(); #endif #endif lcdad=0x4C00; gmode=0; kbq=kbd_queue (); randomize(); (gmode=2); FontSetSys(0); gkey(); execbas(basicfh0); var9=(long)(osvar2_2("lvli")); var10=(long)(25); var11=(long)(14); var12=(long)(5); if(((long)(var9))==((long)(3))) { var10=(long)(25); var11=(long)(14); var12=(long)(50); } if(((long)(var9))==((long)(2))) { var10=(long)(15); var11=(long)(10); var12=(long)(25); } if(((long)(var9))==((long)(1))) { var10=(long)(10); var11=(long)(6); var12=(long)(5); } var13=(long)((var10)+(2)); var14=(long)((var11)+(2)); label_39:; var32=(long)(1); var33=(long)(1); var3=(long)(var12); OSInitKeyInitDelay(30); OSInitBetweenKeyDelay(15); var4=(long)(0); var26=(long)(0); fc2(); f_clrscr_(lcdad); fc4(); fc5(); f_savescr_(0,lcdad); fc11(); fc14(); fc10(); f_keywait_(); fc3(); f_finish_(0); }