#DEFINE MIDI_LOADER M@MIDILOAD STATIC GET_SYSTEMTIMER FUNC KEKKA FPSWAIT(FPS) NOWTIME=SYSTIME() WHILE (NOWTIME-GET_SYSTEMTIMER)<(1000/FPS) NOWTIME=SYSTIME() ENDWHILE KEKKA=1000/(NOWTIME-GET_SYSTEMTIMER) GET_SYSTEMTIMER=SYSTIME() ENDFUNC FUNC KEKKA STICK_X(NO) STCX=I@KEYBTN(0XCD)-I@KEYBTN(0XCB)+I@JOYDPOS(NO,0) KEKKA=0 IF STCX<=(0-1) THEN KEKKA=0-1 ENDIF IF STCX>=1 THEN KEKKA=1 ENDIF ENDFUNC FUNC KEKKA STICK_Y(NO) STCY=I@KEYBTN(0XD0)-I@KEYBTN(0XC8)+I@JOYDPOS(NO,1) KEKKA=0 IF STCY<=(0-1) THEN KEKKA=0-1 ENDIF IF STCY>=1 THEN KEKKA=1 ENDIF ENDFUNC FUNC KEKKA KEY_BUTTON(KEYNO,NO1,NO2) KEKKA=I@KEYBTN(KRYNO)ORI@JOYBTN(NO1,NO2) ENDFUNC FUNC KEKKA M@MIDILOAD(A$) F@FILECOPY(A$,"\MARON_STAGE.TMP",1) MD=MIDI_LOADER("\MARON_STAGE.TMP") F@DELETE("\MARON_STAGE.TMP") KEKKA=MD ENDFUNC FUNC KEKKA CRASH_S(X1,Y1,V1,W1,X2,Y2,V2,W2) VV=((V1*0.5)+(V2*0.5))/1.0;WW=((W1*0.5)+(W2*0.5))/1.0 XX=ABS(X1-X2);YY=ABS(Y1-Y2) KEKKA=0 SELECT WHEN (XX<=VV) AND (YY<=WW): KEKKA=1 BREAK ENDSELECT ENDFUNC FUNC KEKKA CRASH_C(X1,Y1,X2,Y2,V2) VV=SQRT(POW((X1-X2),2)+POW((Y1-Y2),2)) IF VV<=V2 THEN KEKKA=1 ELSE KEKKA=0 ENDIF ENDSELECT ENDFUNC