2021年8月9日投稿 / 投稿者 : Na / タグ : 投稿プログラム ゲーム 音楽 リズムゲーム 音ゲー MML オリジナル曲 QRコード mkII専用 Dropシリーズ
プチコンmkII 向けの QR コードです。
パッケージパラメーターはF3E4です。
’=============== ’ Drop−m by Na ’=============== ’SAVE ”NA_DRPM”,”F3E4” ’Package: ’ SPU2,5,6,7,BGU0,1 ’ BGF0,COL0,1,2 ’LIST @LIST ’COL2U 2? A? ’センキョク 01CDEF ’コンホ゛ 03 ’シ゛メン 4 ’COL2L ’スコア F ’リサ゛ルト 03 ICONCLR PNLTYPE ”OFF” COLOR 0,0:CLS GPAGE 1,1,1:GCOLOR 0 FOR P=3 TO 0 STEP −1 GPAGE 0,P,0:GCOLOR 0:GCLS NEXT GDRAWMD 0 SPPAGE 1:SPCLR SPPAGE 0:SPCLR BGPAGE 1:BGCLR BGPAGE 0:BGCLR BGOFS 0,0,0:BGOFS 1,0,0 CLEAR BGMSTOP DEBUG=0 ?”Loading... MEM$=”” SYSBEEP=0 SAVFILE$=”MEM:NA_DRPM” LOAD SAVFILE$,0 IF PACKAGE$==”F3E4” THEN @LDSKIP ’LOAD ”BGU0U:SLOP”,0 LOAD ”BGU1U:DROPM_LG”,0 ’LOAD ”SPU1U:NUM16”,0 ’LOAD ”SPU2U:DROPV_S2”,0 ’LOAD ”SCU0U:DRP2”,0 ’LOAD ”BGF0U:HIRAKATA”,0 LOAD ”COL0U:DROPM_GB”,0 LOAD ”COL2U:DROPM_G”,0 ’LOAD ”GRP2:DROPM_G”,0 LOAD ”SPU7U:SBCH_X01”,0 ’LOAD ”COL1U:SBCL_X01”,0 LOAD ”SPU2U:NUM16_V”,0 LOAD ”BGF0U:DROPM_F”,0 LOAD ”SPU5U:DROPM_F1”,0 LOAD ”COL1U:DROPM_SP”,0 LOAD ”SPU6U:DROPM_S6”,0 LOAD ”BGU0U:DROPM_GB”,0 BEEP @LDSKIP SPNUM16=64*2 SPNUM12=64*2+32 SPSTAR=64*2+28 SPNOTE=64*2+16 SPX01=64*7 SPX03=64*6 SPF1=64*5 SPNUM16_L=64*0 SPSTAR_L=64*0+28 SPNUM8_L=64*1 @PFONTDAT DATA −1,0,0,7,0,7,0,8,0,7,0,7,0,7,0,7,0,7,1,6,0,7,0,7,0,7,1,6,0,7,0,7 DATA 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,1,0,7,0,7,0,7,0,7,1,6,1,6,2,5,2,5 DATA −1,0,3,1,1,3,1,5,1,5,1,5,1,5,2,2,2,3,2,3,1,5,1,5,2,2,1,5,2,2,1,6 DATA 1,5,2,3,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,2,2,1,3,2,4,1,5,1,4,1,5 DATA 1,5,0,7,0,6,0,6,0,6,0,6,0,6,0,7,0,7,2,3,1,5,0,7,0,6,0,7,0,7,0,6 DATA 0,6,0,6,0,7,0,6,0,7,0,7,0,7,0,7,0,7,0,7,1,5,2,3,1,5,2,3,1,5,0,7 DATA 2,2,1,6,0,6,1,5,1,6,1,5,2,4,1,5,0,6,2,3,2,3,0,6,2,3,0,6,0,6,1,5 DATA 0,6,1,6,0,5,1,5,2,4,0,6,0,6,0,7,1,5,0,6,1,5,2,4,3,1,1,4,1,5,0,7 DATA 0,7,1,3,2,4,1,4,1,3,2,2,0,6,0,6,0,6,0,5,0,6,0,6,0,6,0,6,0,6,0,5 DATA 1,5,0,7,0,7,0,6,0,7,0,7,0,7,0,6,1,4,0,7,0,7,0,6,0,6,0,7,0,7,0,6 DATA 0,7,1,3,2,4,1,4,1,3,2,2,0,6,0,5,1,4,0,5,0,5,0,5,0,5,0,6,1,4,0,5 DATA 1,5,0,7,0,6,0,7,0,7,0,7,0,6,0,7,0,6,0,7,0,6,0,7,0,7,0,6,0,6,0,6 DATA 0,6,0,7,0,7,0,7,0,5,0,6,0,6,0,6,0,7,0,6,0,6,0,6,0,6,0,7,0,7,0,7 DATA 0,6,0,7,0,6,0,7,0,7,0,7,0,6,0,6,0,5,0,7,0,6,0,6,0,6,0,6,0,4,0,4 DATA 0,7,0,6,0,7,0,7,0,6,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,6 DATA 0,7,0,7,0,7,0,7,0,7,0,7,0,6,0,6,0,5,0,6,0,7,0,6,0,7,0,7,0,4,0,4 DIM PFT_S[256],PFT_W[256] RESTORE @PFONTDAT FOR I=0 TO 255 READ PFT_S[I],PFT_W[I] NEXT ’ ゛ ノ チョウセイ PFT_S[&HDE]=1 PFT_S[&HFE]=1 @PFONTD_1 ’0123456789abcdef ’BGMLSP ハイ ’imtelodyunチュマシッ ’ハイスコアクリフルンホェトャレシ ’゛゜!−コウシンキョノリスタトッ DATA 1,8,2,8,1,10,1,8,2,7,1,8,−1,0,−1,0,−1,0,−1,0,−1,0,−1,0,−1,0,−1,0,1,10,2,8 DATA 2,3,1,11,1,7,2,6,2,3,2,6,2,7,1,8,1,7,1,7,1,10,1,9,1,10,2,9,2,7,−1,0 DATA 1,10,2,8,2,9,2,8,1,10,2,8,2,6,1,9,1,10,2,9,2,9,1,9,2,6,1,8,2,8,2,9 DATA 2,5,1,5,2,2,2,9,2,9,1,8,3,6,1,9,2,9,2,7,2,10,2,7,1,9,1,10,3,8,2,7 DIM PFT1_S[64],PFT1_W[64] FOR I=0 TO 63 READ PFT1_S[I],PFT1_W[I] NEXT ’ ゛ ノ チョウセイ PFT1_S[&H30]=4:PFT1_W[&H30]=4 SYSBEEP=1 BREPEAT 0,13,8 BREPEAT 1,13,8 BREPEAT 2,20,11 BREPEAT 3,20,11 BREPEAT 4 BREPEAT 5 BREPEAT 6 BREPEAT 7 SPPAGE 0 BGPAGE 0 GPAGE 0,0,0 FOR I=0 TO 255 ’SPU2カラSPS0Lニコヒ゜− CHRREAD(”SPU2”,I),C$ CHRSET ”SPS0L”,I,C$ ’ ’BGF0カラBGU3ニコヒ゜− ’ CHRREAD(”BGF0”,I),C$ ’ C2$=”” ’ FOR J=0 TO 63 ’ IF MID$(C$,J,1)==”0” THEN C2$=C2$+”3” ELSE C2$=C2$+”D” ’ NEXT ’ CHRSET ”BGU3”,I,C2$ ’ ’BGF0カラBGF0Lニコヒ゜− ’ CHRREAD(”BGF0”,I),C$ ’ CHRSET ”BGF0L”,I,C$ NEXT FOR I=0 TO 9 CHRREAD(”BGF0”,48+I),C$ CHRSET ”SPU0”,I*4,C$ CHRSET ”SPS1L”,I*4,C$ NEXT ’キョクセンタクノBG ’00011 ’01111 ’01111 ’11111 ’11111 ’CHRSET ”BGU0U”,&HAD,”0”*(8*3+6)+”2200002222000022220002222200022222” ’CHRSET ”BGU0U”,&HAE,”0”*(8*3)+”2”*(8*5) ’CHRSET ”BGU0U”,&HAF,”0”*(8*3)+”2200000022220000222200002222200022222000” ’CHRSET ”BGU0U”,&HCD,”00022222”*4+”00011111”*4 ’CHRSET ”BGU0U”,&HCE,”2”*(8*4)+”1”*(8*4) ’CHRSET ”BGU0U”,&HCF,”22222000”*4+”11111000”*4 ’CHRSET ”BGU0U”,&HED,”0001111100011111000011110000111100000011”+”0”*(8*3) ’CHRSET ”BGU0U”,&HEE,”1”*(8*5)+”0”*(8*3) ’CHRSET ”BGU0U”,&HEF,”1111100011111000111100001111000011”+”0”*(8*3+6) ’SCR ’slop 0,1:(0,40)~(31,63) ’grnd 0:(0,33)~(31,38) ’logo 1:(0,19)~(31,39) ’menu 0,1:(32,0)~ S1$=” CDE<>?”+”63”*16 S2$=”ABE@;=”+”63”*16 FOR I=0 TO 13 STEP 2 Y=39+I J=0 FOR X=28−3*I/2 TO 31 BGPUT 1,X,Y,&H4000+ASC(MID$(S1$,J,1))−32 BGPUT 1,X,Y+1,&H4000+ASC(MID$(S2$,J,1))−32 J=J+1 NEXT NEXT S3$=”14747479<>?”+”63”*16 S4$=”2585858:;=”+”63”*16 J=0 FOR X=3 TO 31 BGPUT 1,X,53,&H4000+ASC(MID$(S3$,J,1))−32 BGPUT 1,X,54,&H4000+ASC(MID$(S4$,J,1))−32 J=J+1 NEXT BGFILL 1,3,55,3,63,”4010” BGFILL 1,4,55,31,63,”40134016” SCX_SLOP=−4 SCY_SLOP=39*8+6 FOR Y=0 TO 3 FOR X=0 TO 7 BGPUT 0,23+X,40+10+Y,&H0100+Y*32+X+24 NEXT NEXT BGFILL 0,0,33,31,33,”40144017” BGFILL 0,0,34,31,34,”40154018” BGFILL 0,0,35,31,38,”40134016” SCX_GRND=0 SCY_GRND=(39−24)*8−2 GY_GRND=192−6*8+2 CHA_GY=192−43 FOR Y=0 TO 7 FOR X=0 TO 16 BGPUT 1,X+7,Y+24,&H0100+Y*32+X NEXT FOR X=0 TO 5+(Y>=4) BGPUT 1,X+24,Y+27,&H0100+Y*32+X+18 NEXT NEXT GPAGE 0,2,0 Y=0 GPUTCHR 0,Y*8,”BGU0”,&H14,&H4,1 GPUTCHR 8,Y*8,”BGU0”,&H17,&H4,1 Y=1 GPUTCHR 0,Y*8,”BGU0”,&H15,&H4,1 GPUTCHR 8,Y*8,”BGU0”,&H18,&H4,1 FOR Y=2 TO 5 GPUTCHR 0,Y*8,”BGU0”,&H13,&H4,1 GPUTCHR 8,Y*8,”BGU0”,&H16,&H4,1 NEXT FOR X=2 TO 31 STEP 1/4096 GCOPY 2,0,0,X*8−1,6*8−1,X*8,0,1 X=X*2 NEXT GPAGE 0,0,0 GS=1:GP=0:GPP=1 ’イロセッテイ EX=0:NEX=0 DIM BG_C$[2],BTN_C$[3,2] BG_CR=0:BG_CG=130:BG_CB=255 BTN_CR=255:BTN_CG=255:BTN_CB=255 DIF_CR=BTN_CR−BG_CR:DIF_CG=BTN_CG−BG_CG:DIF_CB=BTN_CB−BG_CB BG_C$[0]=HEX$(BG_CR,2)+HEX$(BG_CG,2)+HEX$(BG_CB,2) TR=.15 BTN_C$[0,0]=HEX$(BG_CR+DIF_CR*TR,2)+HEX$(BG_CG+DIF_CG*TR,2)+HEX$(BG_CB+DIF_CB*TR,2) TR=.30 BTN_C$[1,0]=HEX$(BG_CR+DIF_CR*TR,2)+HEX$(BG_CG+DIF_CG*TR,2)+HEX$(BG_CB+DIF_CB*TR,2) BTN_C$[2,0]=”FFFFFF” BG_CR=255:BG_CG=120:BG_CB=50 DIF_CR=BTN_CR−BG_CR:DIF_CG=BTN_CG−BG_CG:DIF_CB=BTN_CB−BG_CB BG_C$[1]=HEX$(BG_CR,2)+HEX$(BG_CG,2)+HEX$(BG_CB,2) TR=.15 BTN_C$[0,1]=HEX$(BG_CR+DIF_CR*TR,2)+HEX$(BG_CG+DIF_CG*TR,2)+HEX$(BG_CB+DIF_CB*TR,2) TR=.30 BTN_C$[1,1]=HEX$(BG_CR+DIF_CR*TR,2)+HEX$(BG_CG+DIF_CG*TR,2)+HEX$(BG_CB+DIF_CB*TR,2) BTN_C$[2,1]=”404020” COLSET ”BG”,0,BG_C$[EX] COLSET ”BG”,&HC1,BTN_C$[0,0] COLSET ”BG”,&HC2,BTN_C$[1,0] COLSET ”BG”,&HD1,BTN_C$[0,1] COLSET ”BG”,&HD2,BTN_C$[1,1] ’BGモシ゛(GRPハ ツカワナイ) COLSET ”BG”,&HC7,BTN_C$[2,0] COLSET ”BG”,&HD7,BTN_C$[2,1] ’GPUTCHRスルタメ COLSET ”BG”,&HCE,BTN_C$[2,0] COLSET ”BG”,&HCD,BTN_C$[2,0] COLSET ”BG”,&HDE,BTN_C$[0,1] COLSET ”BG”,&HDD,BTN_C$[1,1] BGPAGE 1 BG_C1$=”101020” COLSET ”BG”,0,BG_C1$ V_S=0 ’〜−1:ヒョウシ゛ナシ(アニメフレ−ム) 0:ハンテイオワリ V_T1=1 V_T2=2 V_BN=3 V_BC=4 V_BV=5 V_BP=6 V_X=7 ’シュルイ KMAX=26 DIM KC[KMAX] DIM KBN[KMAX] DIM KBC[KMAX] DIM KBV[KMAX] DIM KBP[KMAX] DIM KX[KMAX] DIM LV$[2] LV$[0]=”│л■л” LV$[1]=”а┰м├” DIM HNT$[4] HNT$[0]=”е├” HNT$[1]=”Ы▲┼” HNT$[2]=”■мб” HNT$[3]=”ミス” DIM HNT_N$[4] DIM CHA_MP[9],CHA_CLR[9] RESTORE @M0 READ MENU_CNT DIM M0_TIT$[MENU_CNT] DIM M0_TITL$[MENU_CNT] DIM M0_BG$[MENU_CNT,2] BGMBGLEN=16 @M0 DATA 3 DATA ”フリ−フ゜レイ”,”27263327312E21” DATA ”チャレンシ゛” ,”1A2D2E292F30” DATA ”チュ−トリアル”,”1A1B332C262428” FOR I=0 TO MENU_CNT−1 READ T$,TL$ M0_TIT$[I]=T$ M0_TITL$[I]=TL$ BGP=2:GOSUB @TITBG M0_BG$[I,0]=BG1$ M0_BG$[I,1]=BG2$ NEXT SVLEN=35 SVLEN1=17 ’SE,BGM BGMSET 128,”T480@86@D24B−6_<B− BGMSET 129,”T480@86@D24<B−6_>B− BGMSETD 141,@MCHA0 BGMSETD 142,@MGOVER BGMSETD 143,@MCHA1 BGMSETD 144,@MCHA4 BGMSETD 145,@MCHA6 BGMSETD 146,@MTIT2 ’キョク RESTORE @LIST READ BGM_CNT IF LEN(MEM$)<256 THEN MEM$=MEM$+CHR$(0)*(256−LEN(MEM$)) DIM BGM_ID[BGM_CNT+1] DIM BGM_VOL[BGM_CNT+1] DIM BGM_TIT$[BGM_CNT+1] DIM BGM_CMP$[BGM_CNT+1] DIM BGM_LV[BGM_CNT+1,2] DIM BGM_BG$[BGM_CNT+1,2] DIM BGM_TITL$[BGM_CNT+1] FOR I=0 TO BGM_CNT+1−1 READ ID,VOL,T$,C$,LV1,LV2,TL$ IF TL$==”” THEN GOSUB @TLGEN BGM_ID[I]=ID BGM_VOL[I]=VOL BGM_TIT$[I]=T$ BGM_TITL$[I]=TL$ BGM_CMP$[I]=C$ BGM_LV[I,0]=LV1 BGM_LV[I,1]=LV2 BGP=3:GOSUB @TITBG:GOTO @TITBGSKP @TITBG GPAGE 0,3,0 GT$=T$:GX=0:GY=0:GOSUB @GPRT_L BG1$=””:BG2$=”” FOR J=0 TO BGMBGLEN−1 C$=”” FOR Y=0 TO 7:FOR X=0 TO 7 C1=GSPOIT(X+J*8,Y) C2$=”7” IF C1==0 AND Y<4 THEN C2$=”2” IF C1==0 AND Y>=4 THEN C2$=”1” C$=C$+C2$ NEXT:NEXT CHRSET ”BGU”+STR$(BGP)+”U”,J+I*BGMBGLEN,C$ BG1$=BG1$+”C”+HEX$(256*BGP+J+I*BGMBGLEN,3) BG2$=BG2$+”D”+HEX$(256*BGP+J+I*BGMBGLEN,3) NEXT GFILL 0,0,127,15,0 ’ BG$=”” ’ FOR J=0 TO 23 ’ BG$=BG$+”C”+HEX$(ASC(MID$(T$,J,1)+” ”)+768,3) ’ NEXT GPAGE 0,0,0 RETURN @TITBGSKP BGM_BG$[I,0]=BG1$ BGM_BG$[I,1]=BG2$ NEXT FOR I=0 TO BGM_CNT+1−1 IF BGM_ID[I]>=128 THEN BGMSETD BGM_ID[I],”@M”+STR$(BGM_ID[I]) NEXT VISIBLE 1,1,1,1,1,1 GOTO @TIT @TLGEN TL0$=STR$(ID) FOR J=0 TO LEN(TL0$)−1 TL$=TL$+”−”+MID$(TL0$,J,1) NEXT RETURN @TIT_LS1 GPAGE 1 SPPAGE 1 GCLS SPCLR _SPNUMID=SPNUM16_L FOR I=0 TO 3 SPSET 30+I,SPNUM16_L+10,0,0,0,0 SPOFS 30+I,220−16*I−28,110 SPSET 40+I,SPNUM16_L+10,0,0,0,0 SPOFS 40+I,220−16*I−28,140 NEXT FOR I=0 TO 1 GT$=”.”:GX=210:GY=110+8:GOSUB @GPRT_L GY=GY+30:GOSUB @GPRT_L SPSET 34+I,0,0,0,0,0,8,8 SPSET 44+I,0,0,0,0,0,8,8 SX=224−7*I:SY=110+8 SPOFS 34+I,SX,SY SPOFS 44+I,SX,SY+30 NEXT SVDATA$=RIGHT$(MEM$,256−SVLEN*7) GT$=”チャレンシ゛ ハイスコア”:GX=24:GY=88:GOSUB @GPRT_L FOR J=0 TO 1 GT$=LV$[J]:GX=70:GY=115+30*J:GOSUB @GPRT_L MP=VAL(”&H”+MID$(SVDATA$,J*5,5)) SI=30+J*10:SC=4:SZ=0:SV=FLOOR(MP/100):GOSUB @SCSET GOSUB @SCSET_MP NEXT GLINE 16,70,239,70,15 GT$=”フリ−フ゜レイ”:GX=24:GY=48:GOSUB @GPRT_L SPSET 3,SPSTAR_L,0,0,0,0 SPOFS 3,120,30 SPSCALE 3,200 SPSET 4,SPNUM16_L+13,0,0,0,0 SPOFS 4,120+32,30+10 GT$=”/ ”+STR$(6*BGM_CNT) GX=120+86:GY=30+18:GOSUB @GPRT_L STARNUM=0 FOR I=0 TO 6 STAR=ASC(MID$(MEM$,SVLEN*I,1)+CHR$(0)) FOR J=0 TO 5 IF STAR AND 1 THEN STARNUM=STARNUM+1 STAR=STAR/2 NEXT NEXT SV=STARNUM SPSET 5,SPNUM16_L+SV%10,0,0,0,0 SPOFS 5,120+64,30+10 SPSET 6,SPNUM16_L+FLOOR(SV/10)+10*(SV<10),0,0,0,0 SPOFS 6,120+64−16,30+10 RETURN @TIT GOSUB @TIT_LS1 GPAGE 0 SPPAGE 0 BGPAGE 0 ’COLSET ”BG”,&HF6,”203880” ’COLSET ”BG”,&HFF,”FFFFFF” GCLS SPCLR CLS GPRIO 1 ’BGFILL 1,0,0,31,0,”801A” ’BGFILL 1,0,1,31,7,”8003” ’BGOFS 1,0,−140 ’GCOPY 2,0,0,127,45,0,192−46,1 ’GCOPY 2,0,0,127,45,128,192−46,1 BGOFS 0,SCX_GRND,SCY_GRND GX=80:GY=120:GT$=”リス゛ムケ゛−ム”:GOSUB @GPRT_L GX=124:GY=130:GT$=”Drop−m”:GOSUB @GPRT_L GX=44:GY=192−2.5*8:GT$=”(c) 2020−21 Na”:GOSUB @GPRT_L GX=168:GY=192−26:GT$=”Щ┝мбз”:GOSUB @GPRT_L GX=156:GY=192−26:GT$=”Й”:GOSUB @GPRT_L GX=168:GY=192−14:GT$=”─кз”:GOSUB @GPRT_L TSEL=0 BGMPLAY 6,146,127 TITCNT=0 @TITLOOP BX=12+8*SIN(RAD(TITCNT%360)) BY=19*8+6+8*SIN(RAD(1.5*TITCNT%360)) BGOFS 1,BX,BY VSYNC 1 B=BUTTON(1) IF B AND 1+2 THEN BEEP 9:TSEL=!TSEL GX=156:GY=192−26+12*!TSEL IF B AND 1+2 THEN GFILL GX,GY,GX+7,GY+7,0 GX=156:GY=192−26+12*TSEL GT$=”Й” IF B AND 1+2 THEN GOSUB @GPRT_L IF (B AND 16)>0 AND TSEL==0 THEN @MENU0 IF (B AND 16)>0 AND TSEL==1 THEN @END TITCNT=(TITCNT+1.2)%720 GOTO @TITLOOP @END BEEP 4 BGMSTOP 6,1 ACLS CHRINIT ”SPU2U” CHRINIT ”SPU5U” CHRINIT ”SPU6U” CHRINIT ”SPU7U” CHRINIT ”BGU0U” CHRINIT ”BGU1U” CHRINIT ”BGU2U” CHRINIT ”BGU3U” CHRINIT ”BGF0U” CHRINIT ”SPS0L” CHRINIT ”SPS1L” END @MENU0 BEEP 3 GPAGE 0 BGPAGE 0 GCLS BGFILL 0,32,0,63,23,0 BGFILL 1,32,0,63,23,0 BG_MY=0 ’(40−30)/2 BG_MYG=BG_MY*8 ’BGOFS 0,256,BG_MYG−192 ’BGOFS 1,256,BG_MYG−192 GOSUB @M0_STATG:GOTO @M0_STSKP @M0_STATG ’GFILL 0,192−9,255,191,26 GCOPY 2,0,0,255,6*8−1,0,GY_GRND,1 GY=CHA_GY+17:GX=40 IF MODE==0 THEN GT$=”$キョクヲ シ゛ユウニ エランテ゛ IF MODE==1 THEN GT$=”$HP=0テ゛$ ケ゛−ム オ−ハ゛− IF MODE==2 THEN GT$=”$コノ $ケ゛−ム$ノ アソヒ゛カタヲ$ GOSUB @GPRT_L GY=CHA_GY+27:GX=40 IF MODE==0 THEN GT$=”フ゜レイ$スル$ モ−ト゛ $テ゛ス$ IF MODE==1 THEN GT$=”$セ゛ンキョク$ クリア$ヲ メサ゛ソウ$ IF MODE==2 THEN GT$=”$カクニン テ゛キマス$ GOSUB @GPRT_L ’GT$=”↑↓: ┥л┿┨┌”:GX=7:GOSUB @GPRT_L ’GT$=”Ф: ○л├□м”:GX=79:GOSUB @GPRT_L ’GT$=”А: Щ┝мбз”:GX=145:GOSUB @GPRT_L ’GT$=”Х: オ−ト”:GX=211:GOSUB @GPRT_L RETURN @M0_STATG1 GCOPY 2,0,0,255,3*8−1,0,GY_GRND,1 RETURN @M0_STSKP ’NOBGM=0 MENUCNT=0 ’BGMSTOPCNT=0 MOVE=0 EXCHG=0 ’EX=0 GOSUB @M0_LS BGOFS 0,256,BG_MYG−40 BGOFS 1,256,BG_MYG−40 MENUSCR=0 GOSUB @M0_LS1 VSYNC 1 @M0LOOP FPS=FPS+1 IF DEBUG AND MAINCNTL−LASTC>59 THEN LOCATE 0,0:?FPS,:FPS=0:LASTC=MAINCNTL B=BUTTON(1) ’IF B AND 128 THEN AUTO=1:GOTO @MENU_OK IF B AND 16 THEN GOTO @M0_OK IF B AND 32 THEN BEEP 4:GOSUB @M0WAIT:GOTO @TIT IF B AND 1 THEN MOVE=MOVE−1:BEEP 9 IF B AND 2 THEN MOVE=MOVE+1:BEEP 9 ’ IF (B AND 4)>0 AND EXCHG==0 THEN EXCHG=−10:NEX=!EX:BGMPLAY 129:GOSUB @MENU_LS1 IF (B AND 4+8+64)>0 AND EXCHG==0 THEN EXCHG=10+6+10:NEX=!EX:BGMPLAY 128:GOSUB @M0_LS1 GOSUB @M0FRM GOTO @M0LOOP @M0FRM ’IF !BGMCHK(6) THEN BGMSTOPCNT=BGMSTOPCNT+1 IF MOVE<0 THEN @M0_UP IF MOVE>0 THEN @M0_DN IF MENUCNT==1 THEN @M0_MV ’IF (MENUCNT==20 OR BGMSTOPCNT>=120)AND !NOBGM THEN BGMPLAY 6,BGM_ID[BGM],BGM_VOL[BGM]:BGMSTOPCNT= IF MENUCNT>1 AND EXCHG!=0 THEN GOSUB @M0_EX @M0FRME VSYNC 1 IF MENUCNT<10000 THEN MENUCNT=MENUCNT+1 RETURN @M0_UP IF MODE==0 THEN @M0UPSKP IF MENUCNT>1 THEN @M0_RMV IF MENUCNT<0 THEN @M0FRME MODE=MODE−1 ’EX=0 EXCHG=0 GFILL 0,0,255,GY_GRND−1,0 ’GOSUB @M0_LS ’BGOFS 0,256,BG_MYG+60 ’BGOFS 0,256,BG_MYG+36,6 ’BGOFS 1,256,BG_MYG+60 ’BGOFS 1,256,BG_MYG+36,6 ’GOSUB @M0_LS1 MENUCNT=0 @M0UPSKP MOVE=MOVE+1 GOTO @M0FRME @M0_DN IF MODE==MENU_CNT−1 THEN @M0DNSKP IF MENUCNT>1 THEN @M0_RMV IF MENUCNT<0 THEN @M0FRME MODE=MODE+1 ’EX=0 EXCHG=0 GFILL 0,0,255,GY_GRND−1,0 ’GOSUB @M0_LS ’BGOFS 0,256,BG_MYG+12 ’BGOFS 0,256,BG_MYG+36,6 ’BGOFS 1,256,BG_MYG+12 ’BGOFS 1,256,BG_MYG+36,6 ’GOSUB @M0_LS1 MENUCNT=0 @M0DNSKP MOVE=MOVE−1 GOTO @M0FRME @M0_LS COLSET ”BG”,&H0,BG_C$[EX] FOR I=0 TO MENU_CNT−1 L=0’I>=5 ’IF BGM−5+I<0 THEN @M0LSCLR ’IF BGM−5+I>=BGM_CNT THEN @M0LSCLR BGPUT L,32+4,BG_MY+I*4,&HAD,&HC+EX,0,0 BGFILL L,32+5,BG_MY+I*4,63−5,BG_MY+I*4,&HAE,&HC+EX,0,0 BGPUT L,63−4,BG_MY+I*4,&HAF,&HC+EX,0,0 BGPUT L,32+4,BG_MY+I*4+1,&HCD,&HC+EX,0,0 BGFILL L,32+5,BG_MY+I*4+1,63−5,BG_MY+I*4+1,&HCE,&HC+EX,0,0 BGPUT L,63−4,BG_MY+I*4+1,&HCF,&HC+EX,0,0 BGPUT L,32+4,BG_MY+I*4+2,&HED,&HC+EX,0,0 BGFILL L,32+5,BG_MY+I*4+2,63−5,BG_MY+I*4+2,&HEE,&HC+EX,0,0 BGPUT L,63−4,BG_MY+I*4+2,&HEF,&HC+EX,0,0 ’キョクタイトル BGFILL L,32+5,BG_MY+I*4+1,32+4+BGMBGLEN−1,BG_MY+I*4+1,M0_BG$[I,EX] @M0LSSKIP NEXT RETURN @M0_LS1 RETURN SVDATA$=MID$(MEM$,SVLEN*BGM,SVLEN) STAR=ASC(SVDATA$+CHR$(0)) SVDATA1$=MID$(SVDATA$,1+SVLEN1*NEX,SVLEN1) SCORE$=LEFT$(SVDATA1$,5) OLDSCORE=VAL(”&H”+SCORE$) SCORE$=RIGHT$(” ”+STR$(OLDSCORE),6) FOR I=0 TO 3 HNT_N$[I]=STR$(VAL(”&H”+MID$(SVDATA1$,5+3*I,3))) NEXT GPAGE 1 SPPAGE 1 _SPNUMID=SPNUM16_L GFILL 24,21,255,63,0 GT$=BGM_TITL$[BGM]:GX=24:GY=24:GOSUB @GPRT_L12 GT$=LV$[NEX]:GX=24+NEX:GY=46:GOSUB @GPRT_L GT$=”Lv.”:GX=72:GOSUB @GPRT_L GT$=STR$(BGM_LV[BGM,NEX]):GX=110:GOSUB @GPRT_R GT$=”ハイスコア”:GX=126:GY=56:GOSUB @GPRT_L SI=30:SC=6:SZ=0:SV=OLDSCORE:GOSUB @SCSET GFILL 48,96,255,113,0 FOR I=0 TO 3 GT$=HNT$[I]:GX=38+48*I:GY=96:GOSUB @GPRT_L GT$=HNT_N$[I]:GX=74+48*I:GY=106:GOSUB @GPRT_R NEXT B=1+7*NEX FOR I=0 TO 2 SPCHR I,SPSTAR_L,12*((STAR AND B)==0),0,0,0 B=B*2 NEXT GPAGE 0 SPPAGE 0 RETURN @M0LSCLR BGFILL L,32+3,BG_MY+I*3,63−3,BG_MY+I*3+2,0 GOTO @M0LSSKIP @M0_MV ’BGFILL 1,32+3,BG_MY+5*3,63−3,BG_MY+5*3+2,0 ’IF !NOBGM THEN BGOFS 0,256,BG_MYG+42,6 ’IF !NOBGM THEN BGOFS 1,256,BG_MYG+30,6 GPUTCHR 20,36+MODE*32,”BGU0”,&HAD,&HC+EX,1 GPUTCHR 228,36+MODE*32,”BGU0”,&HAF,&HC+EX,1 GFILL 28,36+MODE*32+3,228−1,44+MODE*32−1,&HC2+&H10*EX GFILL 20+3,44+MODE*32,236−1−3,52+MODE*32−1,&HC2+&H10*EX GFILL 20+3,52+MODE*32,236−1−3,60+MODE*32−1,&HC1+&H10*EX GFILL 28,60+MODE*32,228−1,68+MODE*32−1−3,&HC1+&H10*EX GPUTCHR 20,60+MODE*32,”BGU0”,&HED,&HC+EX,1 GPUTCHR 228,60+MODE*32,”BGU0”,&HEF,&HC+EX,1 ’L1_$=STR$(BGM_LV[BGM,0]) ’L2_$=STR$(BGM_LV[BGM,1]) GDRAWMD 1 ’→ ’Other 00 10 ’None C1 C2 D1 D2 ’Front^0F CE CD DE DD ’Back ^20 E1 E2 F1 F2(D7→BG) ’Fr+Bk^2F EE ED FE FD ’ XOR ^10 GT$=M0_TITL$[MODE]:GX=30:GY=45+MODE*32:GP=2:GOSUB @GPRT_L12 ’GT$=BGM_CMP$[BGM]:GX=30:GY=99:GP=2:GOSUB @GPRT_L ’GT$=”Lv.”:GX=206:GY=99:GP=2:GOSUB @GPRT_R ’GT$=LV$[0]:GX=180:GY=99:GP=0:GOSUB @GPRT_R ’GT$=LV$[1]:GX=178:GY=99:GP=2:GOSUB @GPRT_R ’GP=0:GOSUB @GPRT_R ’GT$=L1_$:GX=226:GY=95:GP=0:GOSUB @GPRT_R12N ’GT$=L2_$:GX=226:GY=95:GP=2:GOSUB @GPRT_R12N ’GP=0:GOSUB @GPRT_R12N GP=0 GDRAWMD 0 ’COLSET ”GRP”,&HC1,BTN_C$[0,0] ’COLSET ”GRP”,&HC2,BTN_C$[1,0] ’COLSET ”GRP”,&HCE,BTN_C$[2,0] ’COLSET ”GRP”,&HCD,BTN_C$[2,0] COLSET ”GRP”,&HE1,BTN_C$[0,0] COLSET ”GRP”,&HE2,BTN_C$[1,0] COLSET ”GRP”,&HEE,BTN_C$[2,0] COLSET ”GRP”,&HED,BTN_C$[2,0] COLSET ”GRP”,&HD1,BTN_C$[0,1] COLSET ”GRP”,&HD2,BTN_C$[1,1] COLSET ”GRP”,&HDE,BTN_C$[0,1] COLSET ”GRP”,&HDD,BTN_C$[1,1] COLSET ”GRP”,&HF1,BTN_C$[2,1] COLSET ”GRP”,&HF2,BTN_C$[2,1] COLSET ”GRP”,&HFE,BTN_C$[2,1] COLSET ”GRP”,&HFD,BTN_C$[2,1] GOSUB @M0_STATG GOTO @M0FRME @M0_RMV ’BGMSTOP 6,1 FOR I=1 TO EXCHG>0:GOSUB @M0_EX:I=0:NEXT ’GFILL 20,0,236−1,75,0 ’GFILL 20,116,236−1,GY_GRND−1,0 ’BGOFS 0,256,BG_MYG+36,6 ’BGOFS 1,256,BG_MYG+36,6 MENUCNT=−6 GOTO @M0FRME @M0_EX IF EXCHG>10+6 THEN EXTIM=10+6+10−EXCHG:GOTO @M0EX_1 IF EXCHG>10 THEN EXTIM=10+6−EXCHG:GOTO @M0EX_2 @M0EX_3 EXTIM=10−EXCHG ’x 0 ←100 (20−236) 100→256 ’y 0 ←76 (76−116) 76→192 GDRAWMD 1 OX1=20−10*EXTIM:OY1=32+MODE*32−FLOOR(9.6*EXTIM+.5) OX2=236+10*EXTIM:OY2=72+MODE*32+FLOOR(9.6*EXTIM+.5) EXCHG=EXCHG−1 EXTIM=EXTIM+1 NX1=20−10*EXTIM:NY1=32+MODE*32−FLOOR(9.6*EXTIM+.5) NX2=236+10*EXTIM:NY2=72+MODE*32+FLOOR(9.6*EXTIM+.5) IF OY2>=GY_GRND THEN OY2=GY_GRND IF NY2>=GY_GRND THEN NY2=GY_GRND GFILL NX1,NY1,NX2−1,OY1−1,&H10 GFILL NX1,OY1,OX1−1,OY2−1,&H10 GFILL OX2,OY1,NX2−1,OY2−1,&H10 IF OY2<NY2 THEN GFILL NX1,OY2,NX2−1,NY2−1,&H10 GDRAWMD 0 IF EXTIM==1 THEN EX=NEX IF EXTIM==1 THEN COLSET ”GRP”,&H10,BG_C$[EX] IF EXTIM==1 THEN BGMPLAY 0,128,64 ’IF EXTIM>=9 THEN GOSUB @M_STATG IF EXTIM==10 THEN GOSUB @M0_LS IF EXTIM==10 THEN GPAINT 0,0,0 RETURN @M0EX_2 EXCHG=EXCHG−1 FOR I=EXTIM*2 TO EXTIM*2+1 IF I==MODE THEN @M0EX_SKP2 IF I<0 THEN @M0EX_SKP2 IF I>=MENU_CNT THEN @M0EX_SKP2 EX_Y=(BG_MY+I*4)*8 EX_Y=EX_Y−(BG_MYG−40) ’IF I<5 THEN EX_Y=EX_Y−(BG_MYG+42) ’IF I>5 THEN EX_Y=EX_Y−(BG_MYG+30) IF EX_Y<−24 THEN @M0FRME IF EX_Y>=GY_GRND THEN @M0FRME GPUTCHR 4*8,EX_Y,”BGU0U”,&HAD,&HC+EX,1 GFILL 5*8,EX_Y+3,(31−4)*8−1,EX_Y+7,&HC2+&H10*EX GPUTCHR (31−4)*8,EX_Y,”BGU0U”,&HAF,&HC+EX,1 GFILL 4*8+3,EX_Y+8,(31−4)*8+7−3,EX_Y+11,&HC2+&H10*EX GFILL 4*8+3,EX_Y+12,(31−4)*8+7−3,EX_Y+15,&HC1+&H10*EX GPUTCHR 4*8,EX_Y+16,”BGU0U”,&HED,&HC+EX,1 GFILL 5*8,EX_Y+16,(31−4)*8−1,EX_Y+23−3,&HC1+&H10*EX GPUTCHR (31−4)*8,EX_Y+16,”BGU0U”,&HEF,&HC+EX,1 GDRAWMD 1 GP=2 GT$=M0_TIT$[I]:GX=5*8:GY=EX_Y+8:GOSUB @GPRT_L GP=0 GDRAWMD 0 IF EX_Y+23>=GY_GRND THEN GOSUB @M0_STATG1 @M0EX_SKP2 NEXT RETURN @M0EX_1 ’x 20 ←108 (128) 108→ 236 ’y 76 ←20 (96) 20→ 116 IF EXTIM==1 THEN COLSET ”GRP”,&H10,BG_C$[EX] GDRAWMD 1 OX1=128−FLOOR(10.8*EXTIM+.5):OY1=52+MODE*32−2*EXTIM OX2=128+FLOOR(10.8*EXTIM+.5):OY2=52+MODE*32+2*EXTIM EXCHG=EXCHG−1 ’SGN(EXCHG) EXTIM=EXTIM+1 NX1=128−FLOOR(10.8*EXTIM+.5):NY1=52+MODE*32−2*EXTIM NX2=128+FLOOR(10.8*EXTIM+.5):NY2=52+MODE*32+2*EXTIM IF EXTIM==1 THEN GFILL NX1,NY1,NX2−1,NY2−1,&H10:GOTO @M0EX_SKP GFILL NX1,NY1,NX2−1,OY1−1,&H10 GFILL NX1,OY1,OX1−1,OY2−1,&H10 GFILL OX2,OY1,NX2−1,OY2−1,&H10 GFILL NX1,OY2,NX2−1,NY2−1,&H10 @M0EX_SKP GDRAWMD 0 RETURN @M0WAIT BGMSTOP 6,0.5 ’NOBGM=1 FOR WT=1 TO 30 GOSUB @M0FRM NEXT RETURN @M0_OK BEEP 3 FOR I=1 TO EXCHG>0:GOSUB @M0_EX:I=0:NEXT ’GFILL 20,0,236−1,75,0 ’GFILL 20,116,236−1,GY_GRND−1,0 ’BGFILL 1,32+3,BG_MY+5*3,63−3,BG_MY+5*3+2,0 ’BGOFS 0,512,BG_MYG+42,24 ’BGOFS 1,512,BG_MYG+30,24 GOSUB @M0WAIT ON MODE GOTO @MENULOAD,@CHA,@TTR @MENULOAD ’BEEP 3 ’BGMSTOP 6,0.5 MENUSCR=1 BGM=0 @MENU CLS GPAGE 1 SPPAGE 1 BGPAGE 1 GCLS SPCLR BGCLR FOR I=0 TO 2 SPSET I,SPSTAR_L,12,0,0,0 SPOFS I,24+I*28,58 SPSCALE I,200 NEXT FOR I=0 TO 5 SPSET 30+I,SPNUM16_L+10,0,0,0,0 SPOFS 30+I,220−16*I,68 NEXT GLINE 16,124,239,124,15 GT$=”│┌□┌┝■ И Ш │┰м”:GX=78:GY=136:GOSUB @GPRT_L GPUTCHR 128,GY,”BGF0”,ASC(”И”),6,1 SPSET 3,SPSTAR_L,0,0,0,0 SPOFS 3,66,150 SPSCALE 3,200 SPSET 4,SPNUM16_L+13,0,0,0,0 SPOFS 4,98,160 GT$=”/ ”+STR$(6*BGM_CNT) GX=152:GY=168:GOSUB @GPRT_L STARNUM=0 FOR I=0 TO 6 STAR=ASC(MID$(MEM$,SVLEN*I,1)+CHR$(0)) FOR J=0 TO 5 IF STAR AND 1 THEN STARNUM=STARNUM+1 STAR=STAR/2 NEXT NEXT SV=STARNUM FOR I=0 TO 1 SPSET 5+I,SPNUM16_L+10*(I>0 AND SV<10),0,0,0,0 SPOFS 5+I,130−16*I,160 NEXT SPANIM 5,SV%10+1,4,1 SPANIM 6,FLOOR(SV/10)+1,4,1 WAIT 1 GPAGE 0 SPPAGE 0 BGPAGE 0 GCLS SPCLR ’COLSET ”BG”,&HF6,BG_C$[EX] ’COLSET ”BG”,&HFF,BG_C$[EX] BGFILL 0,32,0,63,23,0 BGFILL 1,32,0,63,23,0 BG_MY=0 ’(40−30)/2 BG_MYG=BG_MY*8 BGOFS 0,256,BG_MYG−192 BGOFS 1,256,BG_MYG−192 GOSUB @M_STATG:GOTO @M_STSKP @M_STATG ’GFILL 0,192−9,255,191,26 GCOPY 2,0,0,255,6*8−1,0,GY_GRND,1 GY=192−2.5*8 GT$=”↑↓: ┥л┿┨┌”:GX=7:GOSUB @GPRT_L GT$=”Ф: ○л├□м”:GX=79:GOSUB @GPRT_L GT$=”А: Щ┝мбз”:GX=145:GOSUB @GPRT_L GT$=”Х: オ−ト”:GX=211:GOSUB @GPRT_L RETURN @M_STATG1 GCOPY 2,0,0,255,3*8−1,0,GY_GRND,1 RETURN @M_STSKP NOBGM=0 MENUCNT=0 BGMSTOPCNT=0 MOVE=0 EXCHG=0 ’EX=0 GOSUB @MENU_LS BGOFS 0,256,BG_MYG+36,15*MENUSCR BGOFS 1,256,BG_MYG+36,15*MENUSCR MENUSCR=0 GOSUB @MENU_LS1 VSYNC 1 @MENULOOP FPS=FPS+1 IF DEBUG AND MAINCNTL−LASTC>59 THEN LOCATE 0,0:?FPS,:FPS=0:LASTC=MAINCNTL B=BUTTON(1) IF B AND 128 THEN AUTO=1:GOTO @MENU_OK IF B AND 16 THEN AUTO=0:GOTO @MENU_OK IF B AND 32 THEN BEEP 4:GOSUB @MENUWAIT:GOTO @TIT IF B AND 1 THEN MOVE=MOVE−1:BEEP 9 IF B AND 2 THEN MOVE=MOVE+1:BEEP 9 ’ IF (B AND 4)>0 AND EXCHG==0 THEN EXCHG=−10:NEX=!EX:BGMPLAY 129:GOSUB @MENU_LS1 IF (B AND 4+8+64)>0 AND EXCHG==0 THEN EXCHG=10+6+10:NEX=!EX:BGMPLAY 128:GOSUB @MENU_LS1 GOSUB @MENUFRM GOTO @MENULOOP @MENUFRM IF !BGMCHK(6) THEN BGMSTOPCNT=BGMSTOPCNT+1 IF MOVE<0 THEN @MENU_UP IF MOVE>0 THEN @MENU_DN IF MENUCNT==15 THEN @MENU_MV IF (MENUCNT==20 OR BGMSTOPCNT>=120)AND !NOBGM THEN BGMPLAY 6,BGM_ID[BGM],BGM_VOL[BGM]:BGMSTOPCNT=0 IF MENUCNT>15 AND EXCHG!=0 THEN GOSUB @MENU_EX @MENUFRME VSYNC 1 IF MENUCNT<10000 THEN MENUCNT=MENUCNT+1 RETURN @MENU_UP IF BGM==0 THEN @MENUUPSKP IF MENUCNT>15 THEN @MENU_RMV IF MENUCNT<0 THEN @MENUFRME BGM=BGM−1 ’EX=0 EXCHG=0 GFILL 0,0,255,GY_GRND−1,0 GOSUB @MENU_LS BGOFS 0,256,BG_MYG+60 BGOFS 0,256,BG_MYG+36,6 BGOFS 1,256,BG_MYG+60 BGOFS 1,256,BG_MYG+36,6 GOSUB @MENU_LS1 MENUCNT=−6 @MENUUPSKP MOVE=MOVE+1 GOTO @MENUFRME @MENU_DN IF BGM==BGM_CNT−1 THEN @MENUDNSKP IF MENUCNT>15 THEN @MENU_RMV IF MENUCNT<0 THEN @MENUFRME BGM=BGM+1 ’EX=0 EXCHG=0 GFILL 0,0,255,GY_GRND−1,0 GOSUB @MENU_LS BGOFS 0,256,BG_MYG+12 BGOFS 0,256,BG_MYG+36,6 BGOFS 1,256,BG_MYG+12 BGOFS 1,256,BG_MYG+36,6 GOSUB @MENU_LS1 MENUCNT=−6 @MENUDNSKP MOVE=MOVE−1 GOTO @MENUFRME @MENU_LS COLSET ”BG”,&H0,BG_C$[EX] FOR I=0 TO 10 L=I>=5 IF BGM−5+I<0 THEN @MLSCLR IF BGM−5+I>=BGM_CNT THEN @MLSCLR BGPUT L,32+4,BG_MY+I*3,&HAD,&HC+EX,0,0 BGFILL L,32+5,BG_MY+I*3,63−5,BG_MY+I*3,&HAE,&HC+EX,0,0 BGPUT L,63−4,BG_MY+I*3,&HAF,&HC+EX,0,0 BGPUT L,32+4,BG_MY+I*3+1,&HCD,&HC+EX,0,0 BGFILL L,32+5,BG_MY+I*3+1,63−5,BG_MY+I*3+1,&HCE,&HC+EX,0,0 BGPUT L,63−4,BG_MY+I*3+1,&HCF,&HC+EX,0,0 BGPUT L,32+4,BG_MY+I*3+2,&HED,&HC+EX,0,0 BGFILL L,32+5,BG_MY+I*3+2,63−5,BG_MY+I*3+2,&HEE,&HC+EX,0,0 BGPUT L,63−4,BG_MY+I*3+2,&HEF,&HC+EX,0,0 ’キョクタイトル BGFILL L,32+5,BG_MY+I*3+1,32+4+BGMBGLEN−1,BG_MY+I*3+1,BGM_BG$[BGM−5+I,EX] @MLSSKIP NEXT RETURN @MENU_LS1 SVDATA$=MID$(MEM$,SVLEN*BGM,SVLEN) STAR=ASC(SVDATA$+CHR$(0)) SVDATA1$=MID$(SVDATA$,1+SVLEN1*NEX,SVLEN1) SCORE$=LEFT$(SVDATA1$,5) OLDSCORE=VAL(”&H”+SCORE$) SCORE$=RIGHT$(” ”+STR$(OLDSCORE),6) FOR I=0 TO 3 HNT_N$[I]=STR$(VAL(”&H”+MID$(SVDATA1$,5+3*I,3))) NEXT GPAGE 1 SPPAGE 1 _SPNUMID=SPNUM16_L GFILL 24,21,255,63,0 GT$=BGM_TITL$[BGM]:GX=24:GY=24:GOSUB @GPRT_L12 GT$=LV$[NEX]:GX=24+NEX:GY=46:GOSUB @GPRT_L GT$=”Lv.”:GX=72:GOSUB @GPRT_L GT$=STR$(BGM_LV[BGM,NEX]):GX=110:GOSUB @GPRT_R GT$=”ハイスコア”:GX=126:GY=56:GOSUB @GPRT_L SI=30:SC=6:SZ=0:SV=OLDSCORE:GOSUB @SCSET GFILL 48,96,255,113,0 FOR I=0 TO 3 GT$=HNT$[I]:GX=38+48*I:GY=96:GOSUB @GPRT_L GT$=HNT_N$[I]:GX=74+48*I:GY=106:GOSUB @GPRT_R NEXT B=1+7*NEX FOR I=0 TO 2 SPCHR I,SPSTAR_L,12*((STAR AND B)==0),0,0,0 B=B*2 NEXT GPAGE 0 SPPAGE 0 RETURN @MLSCLR BGFILL L,32+3,BG_MY+I*3,63−3,BG_MY+I*3+2,0 GOTO @MLSSKIP @MENU_MV BGFILL 1,32+3,BG_MY+5*3,63−3,BG_MY+5*3+2,0 IF !NOBGM THEN BGOFS 0,256,BG_MYG+42,6 IF !NOBGM THEN BGOFS 1,256,BG_MYG+30,6 GPUTCHR 20,76,”BGU0”,&HAD,&HC+EX,1 GPUTCHR 228,76,”BGU0”,&HAF,&HC+EX,1 GFILL 28,76+3,228−1,84−1,&HC2+&H10*EX GFILL 20+3,84,236−1−3,96−1,&HC2+&H10*EX GFILL 20+3,96,236−1−3,108−1,&HC1+&H10*EX GFILL 28,108,228−1,116−1−3,&HC1+&H10*EX GPUTCHR 20,108,”BGU0”,&HED,&HC+EX,1 GPUTCHR 228,108,”BGU0”,&HEF,&HC+EX,1 L1_$=STR$(BGM_LV[BGM,0]) L2_$=STR$(BGM_LV[BGM,1]) GDRAWMD 1 ’→ ’Other 00 10 ’None C1 C2 D1 D2 ’Front^0F CE CD DE DD ’Back ^20 E1 E2 F1 F2(D7→BG) ’Fr+Bk^2F EE ED FE FD ’ XOR ^10 GT$=BGM_TITL$[BGM]:GX=30:GY=85:GP=2:GOSUB @GPRT_L12 GT$=BGM_CMP$[BGM]:GX=30:GY=99:GP=2:GOSUB @GPRT_L GT$=”Lv.”:GX=206:GY=99:GP=2:GOSUB @GPRT_R GT$=LV$[0]:GX=180:GY=99:GP=0:GOSUB @GPRT_R GT$=LV$[1]:GX=178:GY=99:GP=2:GOSUB @GPRT_R GP=0:GOSUB @GPRT_R GT$=L1_$:GX=226:GY=95:GP=0:GOSUB @GPRT_R12N GT$=L2_$:GX=226:GY=95:GP=2:GOSUB @GPRT_R12N GP=0:GOSUB @GPRT_R12N GDRAWMD 0 ’COLSET ”GRP”,&HC1,BTN_C$[0,0] ’COLSET ”GRP”,&HC2,BTN_C$[1,0] ’COLSET ”GRP”,&HCE,BTN_C$[2,0] ’COLSET ”GRP”,&HCD,BTN_C$[2,0] COLSET ”GRP”,&HE1,BTN_C$[0,0] COLSET ”GRP”,&HE2,BTN_C$[1,0] COLSET ”GRP”,&HEE,BTN_C$[2,0] COLSET ”GRP”,&HED,BTN_C$[2,0] COLSET ”GRP”,&HD1,BTN_C$[0,1] COLSET ”GRP”,&HD2,BTN_C$[1,1] COLSET ”GRP”,&HDE,BTN_C$[0,1] COLSET ”GRP”,&HDD,BTN_C$[1,1] COLSET ”GRP”,&HF1,BTN_C$[2,1] COLSET ”GRP”,&HF2,BTN_C$[2,1] COLSET ”GRP”,&HFE,BTN_C$[2,1] COLSET ”GRP”,&HFD,BTN_C$[2,1] GOTO @MENUFRME @COLRD COLREAD(CRB$,CRI),CR,CG,CB C$=HEX$(CR,2)+HEX$(CG,2)+HEX$(CB,2) RETURN @MENU_RMV BGMSTOP 6,1 FOR I=1 TO EXCHG>0:GOSUB @MENU_EX:I=0:NEXT GFILL 20,0,236−1,75,0 GFILL 20,116,236−1,GY_GRND−1,0 BGOFS 0,256,BG_MYG+36,6 BGOFS 1,256,BG_MYG+36,6 MENUCNT=−6 GOTO @MENUFRME @MENU_EX IF EXCHG>10+6 THEN EXTIM=10+6+10−EXCHG:GOTO @MEX_1 IF EXCHG>10 THEN EXTIM=10+6−EXCHG:GOTO @MEX_2 @MEX_3 EXTIM=10−EXCHG ’x 0 ←100 (20−236) 100→256 ’y 0 ←76 (76−116) 76→192 GDRAWMD 1 OX1=20−10*EXTIM:OY1=76−FLOOR(7.6*EXTIM+.5) OX2=236+10*EXTIM:OY2=116+FLOOR(7.6*EXTIM+.5) EXCHG=EXCHG−1 EXTIM=EXTIM+1 NX1=20−10*EXTIM:NY1=76−FLOOR(7.6*EXTIM+.5) NX2=236+10*EXTIM:NY2=116+FLOOR(7.6*EXTIM+.5) IF OY2>=GY_GRND THEN OY2=GY_GRND IF NY2>=GY_GRND THEN NY2=GY_GRND GFILL NX1,NY1,NX2−1,OY1−1,&H10 GFILL NX1,OY1,OX1−1,OY2−1,&H10 GFILL OX2,OY1,NX2−1,OY2−1,&H10 IF OY2<NY2 THEN GFILL NX1,OY2,NX2−1,NY2−1,&H10 GDRAWMD 0 IF EXTIM==1 THEN EX=NEX IF EXTIM==1 THEN COLSET ”GRP”,&H10,BG_C$[EX] IF EXTIM==1 THEN BGMPLAY 0,128,64 ’IF EXTIM>=9 THEN GOSUB @M_STATG IF EXTIM==10 THEN GOSUB @MENU_LS IF EXTIM==10 THEN GPAINT 0,0,0 RETURN @MEX_2 EXCHG=EXCHG−1 FOR I=EXTIM*2−1 TO EXTIM*2 IF I==5 THEN @MEX_SKP2 IF BGM−5+I<0 THEN @MEX_SKP2 IF BGM−5+I>=BGM_CNT THEN @MEX_SKP2 EX_Y=(BG_MY+I*3)*8 IF I<5 THEN EX_Y=EX_Y−(BG_MYG+42) IF I>5 THEN EX_Y=EX_Y−(BG_MYG+30) IF EX_Y<−24 THEN @MENUFRME IF EX_Y>=GY_GRND THEN @MENUFRME GPUTCHR 4*8,EX_Y,”BGU0U”,&HAD,&HC+EX,1 GFILL 5*8,EX_Y+3,(31−4)*8−1,EX_Y+7,&HC2+&H10*EX GPUTCHR (31−4)*8,EX_Y,”BGU0U”,&HAF,&HC+EX,1 GFILL 4*8+3,EX_Y+8,(31−4)*8+7−3,EX_Y+11,&HC2+&H10*EX GFILL 4*8+3,EX_Y+12,(31−4)*8+7−3,EX_Y+15,&HC1+&H10*EX GPUTCHR 4*8,EX_Y+16,”BGU0U”,&HED,&HC+EX,1 GFILL 5*8,EX_Y+16,(31−4)*8−1,EX_Y+23−3,&HC1+&H10*EX GPUTCHR (31−4)*8,EX_Y+16,”BGU0U”,&HEF,&HC+EX,1 GDRAWMD 1 GP=2 GT$=BGM_TIT$[BGM−5+I]:GX=5*8:GY=EX_Y+8:GOSUB @GPRT_L GP=0 GDRAWMD 0 IF EX_Y+23>=GY_GRND THEN GOSUB @M_STATG1 @MEX_SKP2 NEXT RETURN @MEX_1 ’x 20 ←108 (128) 108→ 236 ’y 76 ←20 (96) 20→ 116 IF EXTIM==1 THEN COLSET ”GRP”,&H10,BG_C$[EX] GDRAWMD 1 OX1=128−FLOOR(10.8*EXTIM+.5):OY1=96−2*EXTIM OX2=128+FLOOR(10.8*EXTIM+.5):OY2=96+2*EXTIM EXCHG=EXCHG−1 ’SGN(EXCHG) EXTIM=EXTIM+1 NX1=128−FLOOR(10.8*EXTIM+.5):NY1=96−2*EXTIM NX2=128+FLOOR(10.8*EXTIM+.5):NY2=96+2*EXTIM IF EXTIM==1 THEN GFILL NX1,NY1,NX2−1,NY2−1,&H10:GOTO @MEX_SKP GFILL NX1,NY1,NX2−1,OY1−1,&H10 GFILL NX1,OY1,OX1−1,OY2−1,&H10 GFILL OX2,OY1,NX2−1,OY2−1,&H10 GFILL NX1,OY2,NX2−1,NY2−1,&H10 @MEX_SKP GDRAWMD 0 RETURN @MENUWAIT BGMSTOP 6,1 NOBGM=1 FOR WT=1 TO 60 GOSUB @MENUFRM NEXT RETURN @MENU_OK BEEP 32 FOR I=1 TO EXCHG>0:GOSUB @MENU_EX:I=0:NEXT GFILL 20,0,236−1,75,0 GFILL 20,116,236−1,GY_GRND−1,0 BGFILL 1,32+3,BG_MY+5*3,63−3,BG_MY+5*3+2,0 BGOFS 0,512,BG_MYG+42,24 BGOFS 1,512,BG_MYG+30,24 GOSUB @MENUWAIT MODE=0 GOTO @GAME @TTR MODE=2 BGM=BGM_CNT AUTO=0’1 GOTO @GAME @CHA_OK FT_L=0:GPP=1 BGMSTOP 6,1 WAIT 60 AUTO=0 MODE=1 ’INPUT CLR ’MP=RND(15000) ’CHA_MP[BGM]=MP ’GOTO ”@CHA”+STR$(BGM)+”C” ’−−−−−−−−−−−−−−−−−−−−−−−−−−− @GAME ’キョクヨミコミ ID=BGM_ID[BGM] VOL=BGM_VOL[BGM] FLABEL$=”@F”+STR$(ID)+”EX”*EX FM$=”” TIT$=BGM_TIT$[BGM] CMP$=BGM_CMP$[BGM] SCGMAXS=100000 SCGCLRS=80000 SCBASE=100000 SCBONUS=60000 ONPCNT=0 RESTORE FLABEL$ READ TMP LOOPC=0 ’FX=0:FS=0 FM$=”” FEND=0 FGET=0 TIMML0$=”T”+STR$(TMP) ’TIMML0$=TIMML0$+”{A=$0=0R$0=1R$0=2R$0=3R} ’TIMML0$=TIMML0$+”{B=$0=0R$0=1R$0=2R} ’TIMML0$=TIMML0$+”{C=$0=0R$0=1R} ’TIMML0$=TIMML0$+”{D=$0=0R} TIMML0$=TIMML0$+”{E=$0=1R$0=2R$0=3R$0=0R} TIMML0$=TIMML0$+”{F=$0=1R$0=2R$0=3R} TIMML0$=TIMML0$+”{G=$0=1R$0=2R} TIMML0$=TIMML0$+”{H=$0=1R} TIMML0$=TIMML0$+”{I=$0=2R$0=3R$0=0R$0=1R} TIMML0$=TIMML0$+”{J=$0=2R$0=3R$0=0R} TIMML0$=TIMML0$+”{K=$0=2R$0=3R} TIMML0$=TIMML0$+”{L=$0=2R} TIMML1$= ”{M=$0=3R$0=0R$0=1R$0=2R} TIMML1$=TIMML1$+”{N=$0=3R$0=0R$0=1R} TIMML1$=TIMML1$+”{O=$0=3R$0=0R} TIMML1$=TIMML1$+”{P=$0=3R} TIMML1$=TIMML1$+”{Q=$0=0R$0=1R$0=2R$0=3R} TIMML1$=TIMML1$+”{R=$0=0R$0=1R$0=2R} TIMML1$=TIMML1$+”{S=$0=0R$0=1R} TIMML1$=TIMML1$+”{T=$0=0R} TIMML$=”” TIM_L=16 TIM_C=0 PS=0 MSCNT=0 LASTA=3 CNT=−1’スタ−トマエ FOR I=0 TO !FEND GOSUB @FGET ’ READ F$ ’ IF !VAL(F$) THEN @OCLOOPSKP ’ LOOPC=LOOPC+1 ’ IF LOOPC<VAL(F$) THEN RESTORE FLABEL$+”_L” ’ GOTO @ONPCNT_S ’ @OCLOOPSKP ’ IF LEFT$(F$,1)==”@” THEN READ C,BN,BC,BV,BP,X:GOTO @ONPCNT_S FOR I=0 TO LEN(FM$)−1 C=ASC(MID$(FM$,I,1)) C2$=MID$(FM$,I,2) IF C2$==”#L” THEN @ONPCNT_CL IF PS<16 THEN MSCNT=MSCNT+4*3600/TMP/TIM_L ’ FX=FX+1 PS=PS+1 IF C>=ASC(”A”) AND C<=ASC(”Z”) THEN ONPCNT=ONPCNT+2 IF C>=ASC(”a”) AND C<=ASC(”z”) THEN ONPCNT=ONPCNT+1 GOTO @ONPCNT_S @ONPCNT_NUM NUM$=”” J=I FOR P=1 TO 1 ’ FX=FX+1 J=J+1 C=ASC(MID$(FM$,J,1)+” ”) IF C>=ASC(”0”) AND C<=ASC(”9”) THEN NUM$=NUM$+CHR$(C):P=0 NEXT ’ FX=FX−1 J=J−1 RETURN @ONPCNT_CL I=I+1 ’ FX=FX+1 GOSUB @ONPCNT_NUM I=J GOSUB @TIMLSET TIM_L=VAL(NUM$) TIM_C=PS GOTO @ONPCNT_S @TIMLSET C=PS−TIM_C IF C>0 THEN TIMML$=TIMML$+”L”+STR$(TIM_L) IF C>=254*4 THEN TIMML$=TIMML$+”[{”+CHR$(69+LASTA*4)+”}]254”*(C/(254*4)) C=C%(254*4) IF C>=4 THEN TIMML$=TIMML$+”[{”+CHR$(69+LASTA*4)+”}]”+STR$(FLOOR(C/4)) IF C%4 THEN TIMML$=TIMML$+”{”+CHR$(69+LASTA*4+4−C%4)+”}” LASTA=(LASTA+C)%4 RETURN @ONPCNT_S NEXT ’ @ONPCNT_S I=0 NEXT GOSUB @TIMLSET RESTORE FLABEL$ READ TMP LOOPC=0 FRETURN$=”” FOR I=0 TO KMAX−1 KC[I]=3:KBN[I]=−1:KBC[I]=0:KBV[I]=127:KBP[I]=64:KX[I]=100 NEXT BGMSET 255,TIMML0$,TIMML1$,TIMML$ ’MSCNT=FLOOR(4*3600/TMP+.5) ’ROUNDノカワリ MSCNT=FLOOR(MSCNT+.5) MSLEN=202 TGX=86:TGY=104 ’−−−−−−−−−−−−−−−−−−−−−−−−−− ’カ゛メン CLS GPAGE 1 SPPAGE 1 GCLS SPCLR GPAGE 0 BGPAGE 0 SPPAGE 0 GCLS ’GCOPY 2,0,0,255,191,0,0,1 ’GFILL 0,0,128,46,0 ’BGOFS 0,0,320 BGOFS 1,SCX_SLOP,SCY_SLOP BGOFS 0,0,40*8 ’コンホ゛ CRB$=”BG”:CRI=&H3F:GOSUB @COLRD COLSET ”GRP”,&H3F,C$ COLSET ”GRP”,&H30,BG_C$[EX] ’ハイケイ ’BGFILL 1,0,0,63,23,”D00B” ’BGFILL 1,40,4,42,5,”D042D043D044D062D063D064” ’CRB$=”BG”:CRI=&H06:GOSUB @COLRD ’COLSET ”BG”,&H8A,C$ NOTEMAX=29 FOR I=0 TO NOTEMAX SPSET I,SPNOTE+3,0,0,0,0 SPHOME I,8,8 SPSETV I,V_S,−100 SPOFS I,−16,−16 NEXT ’SPOFS 31,TGX,TGY ’SPSCALE 31,200 IF MODE==2 THEN @GMTITSKP GX=244 GT$=BGM_TITL$[BGM]:GY=134:GOSUB @GPRT_R12 GT$=CMP$:GY=152:GOSUB @GPRT_R IF MODE==1 THEN @GM_BGMNO GX=224 GT$=LV$[EX]+” Lv.”:GY=172:GOSUB @GPRT_R GX=244 GT$=STR$(BGM_LV[BGM,EX]):GY=168:GOSUB @GPRT_R12N GOTO @GMTITSKP @GM_BGMNO GX=204 GT$=”チャレンシ゛ モ−ト゛”:GY=172:GOSUB @GPRT_R GX=244 GT$=”/ 7”:GY=172:GOSUB @GPRT_R GX=224 GT$=STR$(BGM+1):GY=168:GOSUB @GPRT_R12N @GMTITSKP GX=244 GT$=”[ オ−ト フ゜レイ ]”:GY=116 IF AUTO THEN GOSUB @GPRT_R IF MODE!=1 THEN @GM_HPSKP SPSET 31,64,2,0,0,0 SPHOME 31,8,16 SPSCALE 31,200 SPOFS 31,TGX−24,TGY+8 SPSET 30,16,3,0,0,0 SPHOME 30,0,8 SPOFS 30,TGX−24+6,TGY SPSCALE 30,120 SPANGLE 30,30 FOR I=0 TO 15 COLSET ”GRP”,&H50+I,”FFFFFF” NEXT GT$=”HP”:GX=46:GY=122:GOSUB @GPRT_L ’GDRAWMD 1 CHA_HPO=0 SX=78:SY=122 SPSET 40,0,0,0,0,0,8,8 SPOFS 40,SX,SY SX=SX−7 SPSET 41,0,0,0,0,0,8,8 SPSETV 41,0,SX SPSETV 41,1,SY ’GT$=”0”:GX=84:GY=122 ’GP=1:GOSUB @GPRT_R ’GP=0:GOSUB @GPRT_R GOSUB @SC_HPG GOSUB @SC_HPS @GM_HPSKP SPPAGE 1 GPAGE 1 GT$=”START ▼м гбз”:GX=151:GY=176:GOSUB @GPRT_L GT$=”222324” ’スコア IF MODE==1 THEN GT$=”0205” ’MP GX=24:GY=24:GOSUB @GPRT_L12 IF MODE==0 THEN GT$=”ハイスコア”:GX=24:GY=56:GOSUB @GPRT_L ’GPP=0 IF MODE==0 THEN GT$=SCORE$:GX=256−24:GOSUB @GPRT_R ’GPP=1 ’スコアケ゛−シ゛ SCGX=25:SCGY=44 SCGLEN=207 SCGX2=SCGX+FLOOR(SCGLEN*(SCGCLRS/SCGMAXS)) IF MODE==1 THEN SCGX2=256−SCGX GLINE SCGX,SCGY−1,256−SCGX,SCGY−1,15 GLINE SCGX,SCGY+6,256−SCGX,SCGY+6,15 GLINE SCGX−1,SCGY,SCGX−1,SCGY+5,15 GLINE 256−SCGX+1,SCGY,256−SCGX+1,SCGY+5,15 COLSET ”GRP”,&HF8,”383838” COLSET ”GRP”,&HF9,”282828” COLSET ”GRP”,&HFA,”505050” COLSET ”GRP”,&HFB,”404040” COLSET ”GRP”,&HFC,”00F018” COLSET ”GRP”,&HFD,”208030” COLSET ”GRP”,&HFE,”FFA000” COLSET ”GRP”,&HFF,”8C6028” GFILL SCGX,SCGY,SCGX2,SCGY+3,&HF8 GFILL SCGX,SCGY+4,SCGX2,SCGY+5,&HF9 IF MODE!=1 THEN GFILL SCGX2,SCGY,256−SCGX,SCGY+3,&HFA IF MODE!=1 THEN GFILL SCGX2,SCGY+4,256−SCGX,SCGY+5,&HFB FOR I=0 TO 5 SPSET 30+I,SPNUM16_L+10*(I>0),0,0,0,0 SX=220−16*I:SY=21 IF MODE==1 THEN SX=SX−28 SPSETV 30+I,0,SX SPSETV 30+I,1,SY SPOFS 30+I,SX,SY SPSET I,SPNUM16_L+10,7,0,0,0 SX=220−16*I:SY=10 SPSETV I,0,SX SPSETV I,1,SY SPOFS I,SX,SY NEXT IF MODE!=1 THEN @SETMP_SKP GT$=”.”:GX=210:GY=29:GOSUB @GPRT_L FOR I=0 TO 1 SPSET 34+I,0,0,0,0,0,8,8 SX=224−7*I:SY=GY SPOFS 34+I,SX,SY NEXT MP=0:SI=30:GOSUB @SCSET_MP @SETMP_SKP GX=150 GT$=HNT$[0]:GY=78:GOSUB @GPRT_L GT$=HNT$[1]:GY=98:GOSUB @GPRT_L GT$=HNT$[2]:GY=118:GOSUB @GPRT_L GT$=HNT$[3]:GY=138:GOSUB @GPRT_L GT$=”Ш└ж”:GY=158:GOSUB @GPRT_L FOR I=0 TO 3 SPSET 10+I,SPNUM16_L+10*(I>0),0,0,0,0 SPSET 15+I,SPNUM16_L+10*(I>0),0,0,0,0 SPSET 20+I,SPNUM16_L+10*(I>0),0,0,0,0 SPSET 25+I,SPNUM16_L+10*(I>0),0,0,0,0 SPSET 40+I,SPNUM16_L+10*(I>0),0,0,0,0 SPOFS 10+I,226−16*I,73 SPOFS 15+I,226−16*I,93 SPOFS 20+I,226−16*I,113 SPOFS 25+I,226−16*I,133 SPOFS 40+I,226−16*I,153 NEXT HNT1C=0:HNT1C_O=0 HNT2C=0:HNT2C_O=0 HNT3C=0:HNT3C_O=0 HNT4C=0:HNT4C_O=0 SCORE=0:SCORE_O=0 MP=0:MP_O=0 SCADD=0 SCA=0 SCE=0:SCS=0 COMBO=0:COMBO_O=0 MAXCMB=0:MAXCMB_O=0 REST=ONPCNT:REST_O=REST _SPNUMID=SPNUM16_L SI=40:SC=4:SZ=0:SV=REST:GOSUB @SCSET FOR I=0+100*(MODE==1) TO 2 SPSET 7+I,SPSTAR_L,12,0,0,0 SPOFS 7+I,24+I*28,80 SPSCALE 7+I,200 NEXT SPPAGE 0 GPAGE 0 FOR I=0 TO 3 SPSET 32+I,SPNUM16+10,0,0,0,0 SPSETV 32+I,2,52 ’64 SPSETV 32+I,1,48 NEXT FEND=0 SPI=0 FX=0’:FS=0 PS=0 CNT=0 TTR_RSLT=0 OA=−1 BGMPLAY 7,255 FGET=1 LASTC=MAINCNTL STARTCNT=MAINCNTL GOTO @LOOP @GPRT_R12N _GX=GX FOR _I=1 TO LEN(GT$) _GC=ASC(RIGHT$(GT$,_I))−48 _GX=_GX−10 GOSUB @GP12_N NEXT RETURN @GPRT_L12 _GX=GX FOR _I=0 TO LEN(GT$)−1 STEP 2 _GCN$=MID$(GT$,_I,2) IF LEFT$(_GCN$,1)==”−” THEN @GP12_LN _GC=VAL(”&H”+_GCN$) _GCS=PFT1_S[_GC]*GS:_GCW=PFT1_W[_GC]*GS GOSUB @GP12_C _GX=_GX+_GCW+3*GS NEXT RETURN @GP12_LN _GC=VAL(RIGHT$(_GCN$,1)) _GX=_GX−2 GOSUB @GP12_N _GX=_GX+2+7+3 NEXT RETURN @GPRT_R12 _GX=GX FOR _I=LEN(GT$)−2 TO 0 STEP −2 _GCN$=MID$(GT$,_I,2) IF LEFT$(_GCN$,1)==”−” THEN @GP12_RN _GC=VAL(”&H”+_GCN$) _GCS=PFT1_S[_GC]*GS:_GCW=PFT1_W[_GC]*GS _GX=_GX−_GCW GOSUB @GP12_C _GX=_GX−3*GS NEXT RETURN @GP12_RN _GC=VAL(RIGHT$(_GCN$,1)) _GX=_GX−7−2 GOSUB @GP12_N _GX=_GX+2−3 NEXT RETURN @GP12_N GPUTCHR _GX,GY,”SPU2U”,128+_GC*4,GP,1 GPUTCHR _GX+8,GY,”SPU2U”,128+_GC*4+1,GP,1 GPUTCHR _GX,GY+8,”SPU2U”,128+_GC*4+2,GP,1 GPUTCHR _GX+8,GY+8,”SPU2U”,128+_GC*4+3,GP,1 RETURN @GP12_C ’IF _GC>=&H40 THEN ... GPUTCHR _GX−_GCS,GY,”SPU5U”,_GC*4,GP,1 GPUTCHR _GX−_GCS+8,GY,”SPU5U”,_GC*4+1,GP,1 GPUTCHR _GX−_GCS,GY+8,”SPU5U”,_GC*4+2,GP,1 GPUTCHR _GX−_GCS+8,GY+8,”SPU5U”,_GC*4+3,GP,1 RETURN @GPRT_R _GX=GX _GCS=0:_GCW=7’8 FOR _I=1 TO LEN(GT$) _GC=ASC(RIGHT$(GT$,_I)) IF GPP THEN _GCS=PFT_S[_GC]*GS:_GCW=PFT_W[_GC]*GS _GX=_GX−_GCW GPUTCHR _GX−_GCS,GY,”BGF0U”,_GC,GP,GS IF GPP THEN _GX=_GX−2*GS NEXT RETURN @GPRT_L _GX=GX _GCS=0:_GCW=7’8 _CHM=0 FOR _I=0 TO LEN(GT$)−1 _GC=ASC(MID$(GT$,_I,1)) IF _GC==ASC(”$”) THEN _CHM=!_CHM:GOTO @GP_L2 IF _CHM AND _GC>=160 THEN _GC=_GC−32 IF _CHM AND _GC>=192−32 THEN _GC=_GC+32+32 IF GPP THEN _GCS=PFT_S[_GC]*GS:_GCW=PFT_W[_GC]*GS GPUTCHR _GX−_GCS,GY,”BGF0U”,_GC,GP,GS _GX=_GX+_GCW IF GPP THEN _GX=_GX+2*GS @GP_L2 NEXT RETURN @LOOP ’IF FX<12 THEN SPCHR 31,252+3*!(FX%4),2,0,0,0 A=BGMGETV(7,0) FOR P=1 TO A!=OA AND !FEND GOSUB @FREAD OA=(OA+1)%4 P=0 NEXT OA=A BT=0 IF !AUTO THEN GOSUB @BTN IF AUTO THEN GOSUB @AUTO IF MODE==1 THEN GOSUB @CHRMV IF MODE==2 THEN GOSUB @GAME_TTR GOSUB @MOVE GOSUB @HNT IF CHA_HP>CHA_HPMAX THEN CHA_HP=CHA_HPMAX IF CHA_HP<.5 THEN CHA_HP=0 GOSUB @SCOR IF MODE==1 AND CHA_HP<.5 THEN @GOVER IF MAINCNTL<STARTCNT THEN STARTCNT=STARTCNT−524287−1 CNT=MAINCNTL−STARTCNT ’ BGOFS 1,CNT/2,0 FPS=FPS+1 IF DEBUG AND MAINCNTL−LASTC>59 THEN LOCATE 0,0:?FPS,:FPS=0:LASTC=MAINCNTL IF FEND THEN FEND=FEND+1 IF FEND==MSCNT+60 THEN BGMSTOP 6,5 IF FEND==MSCNT+120 THEN @RESULT VSYNC 1 IF BUTTON() AND 1024 THEN @QUIT GOTO @LOOP @FGET ’ IF FX−FS<LEN(FM$) THEN RETURN ’ FS=FX READ FM$ @FRCHK IF FM$==”” THEN FEND=1:RETURN IF FM$==”#GOSUB” THEN @FGOSUB IF FM$==”#RETURN” THEN @FRETURN IF FM$==”#AUTO” THEN @FAUTO IF VAL(FM$) THEN @FLOOPCHK IF LEFT$(FM$,1)==”@” THEN @FKSET RETURN @FREAD IF DEBUG THEN LOCATE 4,0:?PS, IF FX>=LEN(FM$) THEN FX=0:GOSUB @FGET IF FEND==1 THEN RETURN IF PS==16 THEN BGMPLAY 6,ID,VOL NTC=ASC(MID$(FM$,FX,1)) IF NTC==ASC(”#”) THEN FX=FX+1 FX=FX+1 IF NTC==ASC(” ”) THEN PS=PS+1:RETURN S=2 K=NTC−ASC(”A”) IF K>26 THEN K=NTC−ASC(”a”):S=1 IF K<0 OR K>26 THEN @FREAD PS=PS+1 C=KC[K] BN=KBN[K] BC=KBC[K] BV=KBV[K] BP=KBP[K] X=KX[K] SPOFS SPI,−16,−16 SPCHR SPI,SPNOTE,C,0,0,0 SPSETV SPI,V_S,S SPSETV SPI,V_T1,CNT SPSETV SPI,V_T2,CNT+MSCNT SPSETV SPI,V_BN,BN SPSETV SPI,V_BC,BC SPSETV SPI,V_BV,BV SPSETV SPI,V_BP,BP SPSETV SPI,V_X,X SPI=(SPI+1)%(NOTEMAX+1) RETURN @FKSET NT$=RIGHT$(FM$,1) K=ASC(NT$)−ASC(”A”) READ C,BN,BC,BV,BP,X IF C!=−1 THEN KC[K]=C IF BN!=−1 THEN KBN[K]=BN IF BC!=−1 THEN KBC[K]=BC IF BV!=−1 THEN KBV[K]=BV IF BP!=−1 THEN KBP[K]=BP IF X!=−1 THEN KX[K]=X READ FM$ GOTO @FRCHK @FLOOPCHK LOOPC=LOOPC+1 IF LOOPC<VAL(FM$) THEN RESTORE FLABEL$+”_L” IF DEBUG THEN LOCATE 0,1:?”Loop:”;LOOPC+1;”/”;FM$, READ FM$ GOTO @FRCHK @FGOSUB READ FGOSUB$,FRETURN$ RESTORE FLABEL$+”_”+FGOSUB$ IF DEBUG THEN LOCATE 0,2:?”Gosub:”;FGOSUB$;”/”;FRETURN$, READ FM$ GOTO @FRCHK @FRETURN IF FRETURN$!=”” THEN RESTORE FLABEL$+”_”+FRETURN$ FRETURN$=”” IF DEBUG THEN LOCATE 0,2:?” ”*32; READ FM$ GOTO @FRCHK @FAUTO READ NAUTO READ FM$ IF CNT<0 THEN GOTO @FRCHK IF AUTO==NAUTO THEN GOTO @FRCHK AUTO=NAUTO GX=244 GT$=”[ オ−ト フ゜レイ ]”:GY=116 IF AUTO THEN GOSUB @GPRT_R IF !AUTO THEN GFILL 150,116,255,123,0 GOTO @FRCHK @CHRMV IF BT THEN SPANGLE 30,30:SPANGLE 30,−40,5,−1 IF BT THEN SPCHR 31,81 IF !BUTTON() AND !SPCHK(30) THEN SPANGLE 30,30:SPCHR 31,64 RETURN @MOVE FOR I=0 TO NOTEMAX STAT=SPGETV(I,V_S) IF STAT<−10 THEN @MVSKIP IF STAT<0 THEN @MVANCNT IF STAT==1 THEN SPSCALE I,100 IF STAT==2 THEN SPSCALE I,140 T1=SPGETV(I,V_T1) T2=SPGETV(I,V_T2) XP=SPGETV(I,V_X) XD=MSLEN*XP/100 P=(T2−CNT)/(T2−T1)*1.1 D=MSLEN*P IF D>XD THEN @MV0 IF D>0 THEN @MV1 IF D>−56 THEN @MV2 @MV3 X=30 Y=TGY−(D+56)*1.5 IF Y>192+16 THEN SPSETV I,V_S,−100 GOTO @MV @MV2 X=TGX+D Y=TGY GOTO @MV @MV1 X=TGX+D*0.832 ’COS Y=TGY−D*0.555 ’SIN GOTO @MV @MV0 X=TGX+XD*0.832 Y=TGY−XD*0.555−(D−XD) @MV SPOFS I,X,Y SPANGLE I,360*P*4 ’MSLEN/(16*PI()) @MVSKIP NEXT RETURN @MVANCNT SPSETV I,V_S,STAT−1 IF STAT==−10 THEN SPOFS I,−32,−32 GOTO @MVSKIP @AUTO FOR J=SPI TO SPI+NOTEMAX I=J%(NOTEMAX+1) IF SPGETV(I,V_S)<=0 THEN @ATSKIP T2=SPGETV(I,V_T2) IF CNT<T2 THEN J=J+32:GOTO @ATSKIP ’RETURN BT=BT+SPGETV(I,V_S) J=J+32’:GOTO @ATSKIP ’RETURN @ATSKIP NEXT RETURN @HNT BN0=−1 FOR J=SPI TO SPI+NOTEMAX I=J%(NOTEMAX+1) STAT=SPGETV(I,V_S) IF STAT<=0 THEN @HNTSKIP T2=SPGETV(I,V_T2) FRM=CNT−T2 ’−:ハヤイ +:オソイ IF FRM<−15 THEN J=J+32:GOTO @HNTEND ’RETURN BN=SPGETV(I,V_BN) BC=SPGETV(I,V_BC) BV=SPGETV(I,V_BV) BP=SPGETV(I,V_BP) IF BN0<0 THEN BN0=BN:BC0=BC:BV0=BV:BP0=BP IF !BT AND FRM>5 THEN @HNT4 IF !BT THEN J=J+32:GOTO @HNTEND ’RETURN @HNTREDO BT=BT−1 IF BN>=0 THEN BEEP BN,BC,BV,BP IF STAT==1 THEN SPSETV I,V_S,−1 IF STAT==2 THEN SPSETV I,V_S,1 IF ABS(FRM)<=2 THEN @HNT1 IF ABS(FRM)<=4 THEN @HNT2 @HNT3 ’Bad IF STAT==1 THEN SPCHR I,SPNOTE+3,0,0,0,0 HNT3C=HNT3C+1 COMBO=0 REST=REST−1 IF MODE==1 THEN CHA_HP=CHA_HP−3 GOTO @HNTSKIP @HNT4 ’Miss SPSETV I,V_S,0 HNT4C=HNT4C+STAT COMBO=0 SCADD=−FLOOR(SCBASE/ONPCNT+.5) SCORE=SCORE+SCADD MP=MP−10000/ONPCNT REST=REST−STAT IF MODE==1 THEN CHA_HP=CHA_HP−5 IF MODE==1 THEN SPCHR 31,88:SPANIM 30,1,10,1 ’ナニモシナイアニメ GOTO @HNTSKIP @HNT2 ’OK IF STAT==1 THEN SPCHR I,SPNOTE+2 IF STAT==1 THEN SPANIM I,2,10,1 ’IF STAT==1 THEN SPSCALE I,200,10 HNT2C=HNT2C+1 COMBO=COMBO+1 IF COMBO>=MAXCMB THEN MAXCMB=COMBO IF COMBO>=100 THEN SCADD=SCBASE+SCBONUS ELSE SCADD=SCBASE+COMBO*(SCBONUS/100) SCADD=FLOOR(SCADD/ONPCNT*.6+.5) SCORE=SCORE+SCADD MP=MP+5000/ONPCNT REST=REST−1 IF MODE==1 THEN CHA_HP=CHA_HP+.12 GOTO @HNTSKIP @HNT1 ’Good IF STAT==1 THEN SPCHR I,SPNOTE+1 IF STAT==1 THEN SPANIM I,3,5,1 ’IF STAT==1 THEN SPSCALE I,200,10 HNT1C=HNT1C+1 COMBO=COMBO+1 IF COMBO>=MAXCMB THEN MAXCMB=COMBO IF COMBO>=100 THEN SCADD=SCBASE+SCBONUS ELSE SCADD=SCBASE+COMBO*(SCBONUS/100) SCADD=FLOOR(SCADD/ONPCNT+.5) SCORE=SCORE+SCADD MP=MP+10000/ONPCNT REST=REST−1 IF MODE==1 THEN CHA_HP=CHA_HP+.25 @HNTSKIP IF BT>0 AND STAT==2 THEN STAT=1:GOTO @HNTREDO @HNTEND NEXT IF BN0<0 THEN BN0=KBN[0]:BC0=KBC[0]:BV0=KBV[0]:BP0=KBP[0] IF BT AND BN0>=0 THEN BEEP BN0,BC0,BV0,BP0 RETURN @BTN B_=BUTTON() B=B_ AND NOT OB OB=B_ FOR I=0 TO 9 IF B AND 1 THEN BT=BT+1 B=B/2 NEXT ’ IF TCHST AND !OT THEN BT=BT+1 ’ OT=TCHST RETURN @GAME_TTR GPAGE 0 GDRAWMD 0 GPP=1 TS$=”@S7 IF PS<16*1+4 THEN RETURN IF PS==16*1+4 THEN @GTR_1 IF PS==16*4−4 THEN @GTR_2 IF PS==16*8−8 THEN @GTR_3 IF PS==16*12+4 THEN @GTR_4 IF TTR_RSLT==1 THEN TTR_RSLT=2:GOTO @GTR_R IF DEBUG AND TTR_FIN THEN LOCATE 0,5:?TTR_GX−128, IF TTR_L==0 AND TTR_FIN THEN @GTR_NEXT GOTO @TTR_GP_L0 @GTR_1 GTR$=”$コノ $ケ゛−ム$ノ アソヒ゛カタヲ$/$セツメイ スルヨ$ TTR$=”コノ/ケ゛’−ムノ/アソヒ゛カ’タヲ/セツメイスルヨ TTR_W0=120:TTR_W1=63 GOTO @GAME_TTRT @GTR_2 GTR$=”$オンフ゜カ゛ キタラ$/$ト゛レカノ $ホ゛タン$ヲ オシテネ$ TTR$=”オンフ゜カ゛/キ’タラ/ト゛’レカノ/ホ゛タンヲ/オシテ/ネ? TTR_W0=75:TTR_W1=119 GOTO @GAME_TTRT @GTR_3 GTR$=”$オオキイ オンフ゜ノ トキハ$/$2ツノ $ホ゛タン$ヲ イッショニ オシテネ$ TTR$=”オオキ’イ/オンフ゜ノ/ト’キワ/フタツ’ノ/ホ゛タンヲ/イッショニ/オシテ/ネ? TTR_W0=106:TTR_W1=146 GOTO @GAME_TTRT @GTR_4 GTR$=”$ソレテ゛ハ ヤッテミヨウ!$/ TTR$=”ソレテ゛’ワ/ヤッテミヨ’オ TTR_W0=96:TTR_W1=0 GOTO @GAME_TTRT @GTR_R GTR$=”スコア$カ゛ 80000テン イシ゛ョウ ナラ$/クリア $タ゛ヨ$ TTR$=”スコ’アカ゛/ハチマンテン/イ’シ゛ョウナラ/クリ’ア/タ゛ヨ? TTR_W0=155:TTR_W1=49 @GAME_TTRT GT$=GTR$ TTR_L=0 GT_S=INSTR(GT$,”/”) GT1$=LEFT$(GT$,GT_S) TTR_GY=160 TTR_GX=128−TTR_W0/2 GFILL 0,160,255,191,0 TALK TS$+TTR$ GOTO @TTR_GP_L @GTR_NEXT GT$=GTR$ TTR_L=1 GT1$=RIGHT$(GT$,LEN(GT$)−GT_S−1) TTR_GY=170 TTR_GX=128−TTR_W1/2 GOTO @TTR_GP_L @SCOR SCMODE=0 IF MODE==1 THEN SCMODE=1 SPPAGE 1 GPAGE 1 _SPNUMID=SPNUM16_L SI=30 IF SCORE<0 THEN SCORE=0 IF SCMODE==0 AND SCORE!=SCORE_O THEN SC=6:SZ=0:SV=SCORE:GOSUB @SCSET:GOSUB @SCMOV IF SCMODE==0 AND SCORE!=SCORE_O THEN SV=SCORE:SVMAX=SCGMAXS:GOSUB @SCDRAW SCORE_O=SCORE IF MP<0 THEN MP=0 IF SCMODE==1 AND MP!=MP_O THEN SC=4:SZ=0:SV=FLOOR(FLOOR(MP+.5)/100):GOSUB @SCSET IF SCMODE==1 AND MP!=MP_O THEN SV=FLOOR(MP+.5):SVMAX=10000:GOSUB @SCDRAW IF SCMODE==1 AND MP!=MP_O THEN GOSUB @SCSET_MP MP_O=MP SI=0 IF SCMODE==0 AND SCADD!=0 THEN SC=6:SZ=−1:SV=SCADD:GOSUB @SCSET:GOSUB @SCMOV2 SCADD=0 SCADDC=SCADDC−1 IF SCMODE==0 AND SCADDC==0 THEN GOSUB @SCADCLR SI=10 IF HNT1C!=HNT1C_O THEN SC=4:SZ=0:SV=HNT1C:GOSUB @SCSET HNT1C_O=HNT1C SI=15 IF HNT2C!=HNT2C_O THEN SC=4:SZ=0:SV=HNT2C:GOSUB @SCSET HNT2C_O=HNT2C SI=20 IF HNT3C!=HNT3C_O THEN SC=4:SZ=0:SV=HNT3C:GOSUB @SCSET HNT3C_O=HNT3C SI=25 IF HNT4C!=HNT4C_O THEN SC=4:SZ=0:SV=HNT4C:GOSUB @SCSET HNT4C_O=HNT4C SI=40 IF REST!=REST_O THEN SC=4:SZ=0:SV=REST:GOSUB @SCSET REST_O=REST SPPAGE 0 GPAGE 0 _SPNUMID=SPNUM16 SI=32:SC=4 IF COMBO!=COMBO_O THEN SZ=−1:SV=COMBO:GOSUB @SCSET:GOSUB @SCCET:GOSUB @SCMOV IF COMBO>=100 AND COMBO_O<100 THEN GOSUB @SCCOL IF COMBO<100 AND COMBO_O>=100 THEN GOSUB @SCCOL IF COMBO_O==0 AND COMBO>0 THEN GT$=”コンホ゛”:GX=39:GY=70:GOSUB @GPRT_L IF COMBO==0 AND COMBO_O>0 THEN GFILL 38,70,69,77,0 COMBO_O=COMBO IF MODE==1 AND CHA_HP!=CHA_HPO THEN GOSUB @SC_HPG IF MODE==1 AND FLOOR(CHA_HP+.5)!=FLOOR(CHA_HPO+.5) THEN GOSUB @SC_HPS RETURN @SC_HPS SPCHR 40,FLOOR(CHA_HP+.5)%10 SPCHR 41,FLOOR(CHA_HP+.5)/10 SX=SPGETV(41,0) SY=SPGETV(41,1) SPOFS 41,SX−256*(FLOOR(CHA_HP+.5)<10),SY ’GDRAWMD 1 ’GX=84:GY=122 ’GT$=STR$(FLOOR(CHA_HPO+.5)) ’GP=1:GOSUB @GPRT_R ’GP=0:GOSUB @GPRT_R ’GT$=STR$(FLOOR(CHA_HP+.5)) ’GP=1:GOSUB @GPRT_R ’GP=0:GOSUB @GPRT_R CHA_HPO=CHA_HP ’GDRAWMD 0 RETURN @SC_HPG HPGX=44:HPGY=132:HPGLEN=42 GLINE HPGX,HPGY,HPGX+HPGLEN−1,HPGY,29 IF CHA_HP<.5 THEN RETURN HPGC=15 IF CHA_HP<=CHA_HPMAX/2 THEN HPGC=12 IF CHA_HP<=CHA_HPMAX/4 THEN HPGC=2 GLINE HPGX,HPGY,HPGX+HPGLEN*CHA_HP/CHA_HPMAX−1,HPGY,HPGC RETURN @SCSET CHG=−1 SLE=0 SCM=(SV<0):SCM_=SCM FOR I=0 TO SC−1 IF SZ!=1 AND (SZ==−1 OR I!=0) AND SV==0 THEN SC1=10+2*SCM:SCM=0:GOTO @SCSCHR SLE=I+1 SPREAD(SI+I),DM,DM,DM,DM,CH OSC1=CH%512−_SPNUMID SC1=ABS(SV%10):SV=SGN(SV)*FLOOR(ABS(SV/10)) IF SC1==OSC1 THEN @SCSKIP CHG=I @SCSCHR IF SC1!=10 THEN SLE=I+1 SPCHR SI+I,_SPNUMID+SC1 @SCSKIP NEXT RETURN @SCMOV FOR I=0 TO CHG ’SPREAD(SI+I),SX,SY SX=SPGETV(SI+I,0) SY=SPGETV(SI+I,1) SPOFS SI+I,SX,SY−4 SPOFS SI+I,SX,SY,4 NEXT RETURN @SCCET IF CHG<0 THEN RETURN FOR I=0 TO SLE−1 SX=SPGETV(SI+I,2) SY=SPGETV(SI+I,1) SX=SX+16*(SLE/2−I−1) SPOFS SI+I,SX,SY SPSETV SI+I,0,SX NEXT RETURN @SCMOV2 FOR I=0 TO SLE−1 SX=SPGETV(SI+I,0) SY=SPGETV(SI+I,1) SPREAD(SI+I),DM,DM,DM,DM,CH SPCHR SI+I,CH%512,7+2*SCM_,0,0,0 SPOFS SI+I,SX+8,SY SPOFS SI+I,SX,SY,8 NEXT SCADDC=30 RETURN @SCADCLR FOR I=0 TO 5 SPCHR SI+I,_SPNUMID+10 NEXT RETURN @SCCOL FOR I=0 TO SC−1 SPREAD(SI+I),DM,DM,DM,DM,CH SPCHR SI+I,CH%512,3*(COMBO>=100),0,0,0 NEXT GDRAWMD 1 GFILL 39,70,70,77,&H30 GDRAWMD 0 RETURN @SCDRAW SCS=SCE IF SCS<SCGX−1 THEN SCS=SCGX−1 SCE=SCGLEN*(SV/SVMAX) IF SCE>SCGLEN THEN SCE=SCGLEN SCE=SCGX−1+FLOOR(SCE) GDRAWMD 1 IF SCE>SCS THEN GFILL SCS+1,SCGY,SCE,SCGY+5,&H04 IF SCS>SCE THEN GFILL SCE+1,SCGY,SCS,SCGY+5,&H04 GDRAWMD 0 RETURN @SCSET_MP ’GFILL 210,24,255,40,0 ’GT$=”.”:GX=210:GY=29:GOSUB @GPRT_L ’GT$=RIGHT$(STR$(FLOOR(MP+100.5)),2) ’GX=218:GOSUB @GPRT_L SPCHR SI+5,SPNUM8_L+FLOOR(MP+.5)/10%10 SPCHR SI+4,SPNUM8_L+FLOOR(MP+.5)%10 RETURN @QUIT GPAGE 1 GFILL 150,176,255,191,0 BGMSTOP 6,1.5 WAIT 90 IF MODE==0 THEN @MENU ’IF MODE==1 THEN GOTO ”@CHA”+STR$(BGM+1) GOTO @TIT @GOVER BGMSTOP 6,1.5 WAIT 90 BEEP 6 BGMPLAY 0,142,40 GPAGE 1 GT$=”363F0E310F”:GX=45 ’シッハ゜イ GY=90:GOSUB @GPRT_L12 @GOVER_W VSYNC 1 IF !BUTTON(2) THEN @GOVER_W CHA_MP[BGM]=FLOOR(MP+.5) CHA_CLR[BGM]=−1 GOTO @CHA7 @RESULT SPPAGE 1 GPAGE 1 IF MODE==1 THEN @RESULT2 CLR=0 IF SCORE>=SCGCLRS THEN CLR=1 IF CLR==1 AND REST+HNT3C+HNT4C==0 THEN CLR=2 IF CLR==2 AND HNT2C==0 THEN CLR=3 FOR I=0 TO 2 IF CLR>I THEN SPCHR 7+I,SPSTAR_L,0,0,0,0:BEEP 7:WAIT 20 NEXT IF CLR==0 THEN GT$=”363F0E310F”:GX=45 ’シッハ゜イ IF CLR==1 THEN GT$=”252624”:GX=54:GP=3 ’クリア IF CLR==2 THEN GT$=”272823292A30”:GX=39:GP=3 ’フルコンホ゛ IF CLR==3 THEN GT$=”203133272B252C”:GX=30:GP=3 ’ハ゜−フェクト GY=120:GOSUB @GPRT_L12 GP=0 IF CLR==0 THEN BEEP 8 IF AUTO OR SCORE<=OLDSCORE THEN @HS_SKIP IF MODE==2 THEN @HS_SKIP WAIT 30 GT$=”2021222324” ’ハイスコア GX=36:GY=148:GOSUB @GPRT_L12 GT$=”3435363732” ’コウシン! GX=54:GY=168:GOSUB @GPRT_L12 BEEP 5 @HS_SKIP CRB$=”BG”:CRI=&H3F:GOSUB @COLRD COLSET ”GRP”,&H3F,C$ COLSET ”GRP”,&H30,BG_C1$ TTR_RSLT=1 RSLTCNT=0 @RSLTLOOP VSYNC 1 RSLTCNT=(RSLTCNT+1)%12 GPAGE 1 GDRAWMD 1 IF RSLTCNT==0 THEN GFILL 26,144,117,179,&H30 IF MODE==2 THEN GOSUB @GAME_TTR IF MODE==2 AND (TTR_RSLT<2 OR !TTR_FIN) THEN @RSLTLOOP IF !BUTTON(2) THEN @RSLTLOOP GDRAWMD 0 GOSUB @SAV IF MODE==0 THEN @MENU GOTO @TIT @RESULT2 CLR=1 IF REST+HNT3C+HNT4C==0 THEN CLR=2 IF CLR==2 AND HNT2C==0 THEN CLR=3 IF CLR==1 THEN GT$=”252624”:GX=54:GP=3 ’クリア IF CLR==2 THEN GT$=”272823292A30”:GX=39:GP=3 ’フルコンホ゛ IF CLR==3 THEN GT$=”203133272B252C”:GX=30:GP=3 ’ハ゜−フェクト GY=90:GOSUB @GPRT_L12 GT$=”+ 50.00”:GX=60 IF CLR>=2 THEN GY=110:GOSUB @GPRT_L GP=0 _SPNUMID=SPNUM16_L SI=30 IF CLR>=2 THEN BEEP 12:MP=MP+5000:SC=4:SZ=0:SV=FLOOR(FLOOR(MP+.5)/100):GOSUB @SCSET:GOSUB @SCMOV IF CLR==1 THEN BEEP 7 WAIT 30 @RSLT2_W VSYNC 1 IF !BUTTON(2) THEN @RSLT2_W CHA_MP[BGM]=FLOOR(MP+.5) CHA_CLR[BGM]=CLR GOTO ”@CHA”+STR$(BGM)+”C” @SAV IF BGM>=7 THEN RETURN IF AUTO THEN RETURN IF SCORE<=OLDSCORE THEN RETURN IF CLR>=1 THEN STAR=STAR OR 1+EX*7 IF CLR>=2 THEN STAR=STAR OR 2+EX*14 IF CLR>=3 THEN STAR=STAR OR 4+EX*28 SVDATA$=CHR$(STAR)+RIGHT$(SVDATA$,34) SVDATA1$=HEX$(SCORE,5) SVDATA1$=SVDATA1$+HEX$(HNT1C,3) SVDATA1$=SVDATA1$+HEX$(HNT2C,3) SVDATA1$=SVDATA1$+HEX$(HNT3C,3) SVDATA1$=SVDATA1$+HEX$(HNT4C,3) SVDATA$=SUBST$(SVDATA$,1+SVLEN1*EX,SVLEN1,SVDATA1$) MEM$=SUBST$(MEM$,SVLEN*BGM,SVLEN,SVDATA$) SAVE SAVFILE$ RETURN ’−−−−−−−−−−−−−−−−−−−−−−−−−−− @CHA CHA_HPMAX=50 CHA_HP=CHA_HPMAX FOR I=0 TO 8 CHA_MP[I]=0 CHA_CLR[I]=0 NEXT ’INPUT BGM ’GOTO ”@CHA”+STR$(BGM) GOTO @CHA0 @CHAINIT BGMSTOP CLS GPAGE 1:GCLS SPPAGE 1:SPCLR _SPNUMID=SPNUM16_L GT$=”チャレンシ゛ モ−ト゛ スコア” GX=24:GY=24 IF CHA_CLR[0] THEN GOSUB @GPRT_L FOR J=0 TO 8 GT$=”[”+STR$(J+1)+”]” GX=36+104*(J>=4) GY=54+30*(J%4)+15*(J>=4) IF CHA_CLR[J] THEN GOSUB @GPRT_L GP=0 IF CHA_CLR[J]==2 THEN GP=3 IF CHA_CLR[J]==3 THEN GP=7 FOR I=0 TO 3 SPSET 30+J*6+I,SPNUM16_L+10,GP,0,0,0 SX=220−16*I−28−104*(J<4) SY=50+30*(J%4)+15*(J>=4) IF J==8 THEN SX=SX−5:SY=20 SPOFS 30+J*6+I,SX,SY NEXT GT$=”.” GX=210−104*(J<4) GY=58+30*(J%4)+15*(J>=4) IF CHA_CLR[J] THEN GOSUB @GPRT_L FOR I=0 TO 1 SPSET 34+J*6+I,SPNUM16_L+10,GP,0,0,0,8,8 SX=224−7*I−104*(J<4) SY=GY IF J==8 THEN SX=SX−5:SY=28 SPOFS 34+J*6+I,SX,SY NEXT MP=CHA_MP[J] SI=30+6*J:SC=4:SZ=0:SV=FLOOR(MP/100) IF CHA_CLR[J] THEN GOSUB @SCSET IF CHA_CLR[J] THEN GOSUB @SCSET_MP GP=0 @CHASCRSKP NEXT GPAGE 0:GCLS SPPAGE 0:SPCLR ’BGPAGE 0:BGCLR BGOFS 0,SCX_GRND,SCY_GRND BGFILL 1,32,0,63,63,0 BGOFS 1,32,0 @CHA_GINIT ’GCOPY 2,0,0,127,45,0,192−46,1 ’GCOPY 2,0,0,127,45,128,192−46,1 GFILL 0,CHA_GY,255,191,0 RETURN @CHA_GP_R GPP=!FT_L SKIPA=0 TALK TS$+TT$ GT_S=INSTR(GT$,”/”) GT1$=LEFT$(GT$,GT_S):GY=CHA_GY+17:GOSUB @CHA_GP_R0 GT1$=RIGHT$(GT$,LEN(GT$)−GT_S−1):GY=CHA_GY+27:GOSUB @CHA_GP_R0 CHA_GP_C=0 @CHA_GP_R1 VSYNC 1 IF !TALKCHK() THEN CHA_GP_C=CHA_GP_C+1 IF CHA_GP_C<120 AND !(BUTTON(2) AND 16) THEN @CHA_GP_R1 TALKSTOP GOTO @CHA_GINIT @CHA_GP_R0 CHM=0 GX=256−12 _GCS=0:_GCW=7 FOR I=LEN(GT1$)−1 TO 0 STEP −1 CC=ASC(MID$(GT1$,I,1)) IF CC==ASC(”$”) THEN CHM=!CHM:GOTO @CHA_GP_R2 IF CHM AND CC>=160 THEN CC=CC−32 IF CHM AND CC>=192−32 THEN CC=CC+32+32 IF GPP THEN _GCS=PFT_S[CC]:_GCW=PFT_W[CC] GX=GX−_GCW−2*GPP @CHA_GP_R2 NEXT GX=GX+2 CHM=0 VSYNC 1 FOR I=0 TO LEN(GT1$)−1 CC=ASC(MID$(GT1$,I,1)) IF CC==ASC(”$”) THEN CHM=!CHM:GOTO @CHA_GP_R3 IF CHM AND CC>=160 THEN CC=CC−32 IF CHM AND CC>=192−32 THEN CC=CC+32+32 IF GPP THEN _GCS=PFT_S[CC]:_GCW=PFT_W[CC] GPUTCHR GX−_GCS,GY,”BGF0”+”L”*FT_L,CC,0,1 FOR J=1 TO 4 IF BUTTON(2) AND 16 THEN SKIPA=1 IF !SKIPA THEN VSYNC 1 NEXT GX=GX+_GCW+2*GPP @CHA_GP_R3 NEXT RETURN @TTR_GP_L TTR_FIN=0 CHM=0 TTR_I=−1 TTR_W=0 @TTR_GP_L0 TTR_W=TTR_W−1 IF TTR_W>0 THEN RETURN TTR_W=4 TTR_I=TTR_I+1 IF TTR_I>=LEN(GT1$) THEN TTR_FIN=1:RETURN CC=ASC(MID$(GT1$,TTR_I,1)) IF CC==ASC(”$”) THEN CHM=!CHM:GOTO @TTR_GP_L0 IF CHM AND CC>=160 THEN CC=CC−32 IF CHM AND CC>=192−32 THEN CC=CC+32+32 IF GPP THEN _GCS=PFT_S[CC]:_GCW=PFT_W[CC] GPUTCHR TTR_GX−_GCS,TTR_GY,”BGF0”+”L”*FT_L,CC,0,1 TTR_GX=TTR_GX+_GCW+2*GPP RETURN @CHA_B SPSET 10,64,2,0,0,0 SPHOME 10,8,15 SPSCALE 10,200 SPOFS 10,−32,CHA_GY SPOFS 10,40,CHA_GY,60*AN IF AN THEN SPANIM 10,4,8,2 SPSET 0,16,3,0,0,0 SPHOME 0,0,8 SPSCALE 0,120 SPANGLE 0,−20 SPOFS 0,−32+4,CHA_GY−8 SPOFS 0,40+4,CHA_GY−8,60*AN RETURN @CHA_M SPSET 11,104,4,0,0,0 SPHOME 11,8,15 SPSCALE 11,200 SPOFS 11,256−40,CHA_GY SPSET 1,26,3,0,0,0 SPHOME 1,15,8 SPSCALE 1,120 SPANGLE 1,10 SPOFS 1,256−40−4,CHA_GY−8 RETURN @CHA_HL SPSET 11,416,5,0,0,0,32,32 SPSCALE 11,200 SPHOME 11,16,32 SPOFS 11,256+32,CHA_GY IF AN THEN SPANIM 11,2,12 SPOFS 11,256−40−16,CHA_GY,180*AN RETURN @CHA_HL2 SPSET 1,180,4,0,0,0 SPHOME 1,8,15 SPSCALE 1,100 SPOFS 1,256−32,CHA_GY SPANIM 1,2,6 RETURN @CHA_GH SPSET 11,196,4,0,0,0 SPHOME 11,8,15 SPSCALE 11,200 SPOFS 11,256−32+64*AN,CHA_GY−16 SPANIM 11,2,12 RETURN @CHA_BK SPSET 5,184,0,0,0,0,32,32 SPHOME 5,8,12 IF OF==0 THEN SPOFS 5,40+4+16,CHA_GY−8 IF OF==1 THEN SPOFS 5,256−40−4−16,CHA_GY−8 RETURN @CHA_HK SPSET 11,SPX01+FC*4,11,1,0,0,32,32 SPHOME 11,16,32+20−2 SPOFS 11,256−40,CHA_GY SPSET 12,SPX01+4*4,11,1,0,0,32,32 SPHOME 12,16,32−2 SPOFS 12,256−40,CHA_GY RETURN @CHA_DM SPSET 11,SPX03+FC*4,10,0,0,0,32,32 SPHOME 11,16,32+20−2 SPOFS 11,−40,CHA_GY SPOFS 11,256−40,CHA_GY,10*AN SPSET 12,SPX03+4*4,10,0,0,0,32,32 SPHOME 12,16,32−2 SPOFS 12,−40,CHA_GY SPOFS 12,256−40,CHA_GY,10*AN SPANIM 12,2,8 RETURN @CHA_WP SPSET 11,SPX01+32+FC*4,13,1,0,0,32,32 SPHOME 11,16,32+20−2 SPOFS 11,256−40,CHA_GY SPSET 12,SPX01+32+4*4,10,0,0,0,32,32 SPHOME 12,16,32−2 SPOFS 12,256−40,CHA_GY RETURN @CHA0C GOSUB @CHAINIT AN=0:GOSUB @CHA_B FC=0:GOSUB @CHA_HK GOTO @CHA_MP @CHA_MP GT$=”MP ”+STR$(FLOOR(CHA_MP[BGM]/100+.5)):GX=30:GY=CHA_GY−44:GOSUB @GPRT_L BEEP 5 WAIT 30 GOTO ”@CHA”+STR$(BGM)+STR$(CLR) @CHA_MV1 FOR I=1 TO 2 BEEP BP SPANGLE 0,30,15 WAIT 15 SPANGLE 0,−70,15,−1 WAIT 15 NEXT RETURN @CHA_MV8 BEEP 8 SPANGLE 0,−70,15,−1 WAIT 15 BEEP BP SPANGLE 0,30,15 RETURN @CHA_MV11 SPANGLE 0,−70,15,−1 RETURN @CHA_MV2 SPOFS 10,256−70,CHA_GY,60 SPOFS 0,256−70+4,CHA_GY−8,60 SPANIM 10,4,8,2 WAIT 60 RETURN @CHA_MV3 BEEP 6 SPOFS 0,40+(256−70)*2+4,CHA_GY−8,60 WAIT 30 RETURN @CHA_MV12 BEEP 6 SPOFS 0,40+(256−70)+4,CHA_GY−8,30 SPANGLE 0,−70,30,−1 WAIT 30 RETURN @CHA_MV4 BEEP 13 BEEP 14 SPOFS 11,256−40+(256−70),CHA_GY−60,30 SPOFS 12,256−40+(256−70),CHA_GY−60,30 RETURN @CHA_MV13 SPOFS 11,256−40+(256−70),CHA_GY,180 SPOFS 12,256−40+(256−70),CHA_GY,180 SPOFS 5,256−40−4−16+(256−70),CHA_GY−8,180 RETURN @CHA_MV15 SPOFS 11,256−40+(256−70),CHA_GY−120,90 SPOFS 12,256−40+(256−70),CHA_GY−120,90 SPOFS 5,256−40−4−16+(256−70),CHA_GY−120−8,90 RETURN @CHA_MV16 SPOFS 11,256−40+20,CHA_GY,30 SPOFS 12,256−40+20,CHA_GY,30 SPOFS 5,256−40−4−16−20,CHA_GY,30 RETURN @CHA_MV14 SPOFS 11,256−40+20,CHA_GY−60,20 SPOFS 12,256−40+20,CHA_GY−60,20 SPOFS 5,256−40−4−16+20,CHA_GY−60−8,20 RETURN @CHA_MV7 BEEP 15 SPCHR 1,176 SPOFS 1,256+32,CHA_GY,15 WAIT 15 RETURN @CHA_MV10 SPCHR 11,192 SPOFS 11,256+32,CHA_GY−80,90 RETURN @CHA_MV6 BEEP 13 BEEP 14 SPCHR 11,122 SPOFS 11,256−40+(256−70),CHA_GY−60,60 SPOFS 1,256−40+(256−70)−4,CHA_GY−60−8,60 RETURN @CHA_MV5 BEEP 8 BEEP 13 SPANGLE 0,−70,15,−1 SPANGLE 1,40,15 SPOFS 10,256−90,CHA_GY,30 SPOFS 0,256−90+4,CHA_GY−8,30 SPOFS 11,256−20,CHA_GY,30 SPOFS 1,256−20−4,CHA_GY−8,30 SPSET 2,20,0,0,0,0 SPHOME 2,8,8 SPOFS 2,256−55,CHA_GY−30 SPOFS 2,256−75,CHA_GY−50,30 SPANIM 2,4,8 WAIT 30 SPCLR 2 RETURN @CHA_MV9 SPCHR 11,444 SPANIM 11,1,1 RETURN @CHA_W FT_L=0:GPP=1 WAIT 30 @CHA_W2 VSYNC 1 WT=WT−1 IF WT>0 AND !BUTTON(2) THEN @CHA_W2 GOTO ”@CHA”+STR$(BGM+1) @CHA01 BP=59:GOSUB @CHA_MV1 @CHA01_2 GT$=”$ヤルキハ ハ゛ッチリ アルンシ゛ャナ$/$タノンタ゛ソ゛イ$ TT$=”ヤルキワ/ハ゛ッチ’リ/ア’ルン/シ゛ャナ_/タノ’ンタ゛/ソ゛イ” GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA02 GOSUB @CHA_MV2 BP=8:GOSUB @CHA_MV1 GOTO @CHA01_2 @CHA03 BP=59:GOSUB @CHA_MV1 GOSUB @CHA_MV3 GOSUB @CHA_MV4 GT$=”$ア〜レ〜$/ TT$=”@E13ア−−−レ−−− GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA0 BGM=0 GOSUB @CHAINIT TS$=”@S4” AN=0:GOSUB @CHA_B FC=3:GOSUB @CHA_HK SPANIM 12,2,5 BGMPLAY 6,141,75 GT$=”$タイヘン シ゛ャ!$/ TT$=”@E4タイヘンシ゛ャ! GOSUB @CHA_GP_R GT$=”ワシ$ノ「$フ゜チコン$ セツメイショ」カ゛$/$ヌスマレタノシ゛ャ$ TT$=”@E4ワシノ|フ゜チコンセツメイショ|カ゛/ヌスマ’レタノシ゛ャ! GOSUB @CHA_GP_R GT$=”ワシ$ノ カワリニ トリカエシテキテ$/$クレンカノウ?$ TT$=”@E4ワシノ/カワリニ/トリカ’エシテキテ/クレン/カノ’オ GOSUB @CHA_GP_R GOTO @CHA_OK @CHA1C GOSUB @CHAINIT AN=0:GOSUB @CHA_B GOSUB @CHA_M GOTO @CHA_MP @CHA11 BP=59:GOSUB @CHA_MV1 GT$=”$ウ−ン、 ソンナ オモチャ ミタイナノテ゛$/$タタカエルノ カナ?$ TT$=”ウ’−ン_/ソンナ/オモ’チャ/ミ’タイナノテ゛/タタカエル’ノ/カナ GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA12 GOSUB @CHA_MV2 GOSUB @CHA_MV5 GT$=”$フ−ン、 オモッタ ヨリ$/$チャント テ゛キル ミタイネ$ TT$=”フ−ン_/オモ’ッタ/ヨ’リ/チャント/テ゛キ’ル/ミ’タイ/ネ GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA13 GOSUB @CHA_MV2 BP=13:GOSUB @CHA_MV11 GOSUB @CHA_MV6 GT$=”$ウワ−$/$ヒ゛ックリ$ TT$=”ウワ’−−/ヒ゛ック’リ GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA1 BGM=1 GOSUB @CHAINIT TS$=”@S7 AN=1:GOSUB @CHA_B GOSUB @CHA_M BGMPLAY 6,143,75 WAIT 60 SPCHR 10,64 GT$=”$ト゛コヘ イクノ?$/ TT$=”ト゛’コエ/イク/ノ? GOSUB @CHA_GP_R GT$=”$ヘェ、$ハカセ$ニ オツカイヲ$/$タノマレタノネ$ TT$=”ヘエ_ハ’カセニ/オツカイヲ/タノマ’レタ/ノネ GOSUB @CHA_GP_R GT$=”$ソンナ ソウヒ゛シ゛ャ $モンスタ−$ニ$/$ヤラレチャワナイカナ?$ TT$=”@E11ソンナ/ソ’オヒ゛シ゛ャ/モ’ンスタ−ニ/ヤラレチャワナ’イ/カナ? GOSUB @CHA_GP_R GOTO @CHA_OK @CHA2C GOSUB @CHAINIT AN=0:GOSUB @CHA_B AN=0:GOSUB @CHA_HL GOTO @CHA_MP @CHA21 BP=59:GOSUB @CHA_MV1 @CHA21_2 GOSUB @CHA_MV9 BEEP 11 GOSUB @CHA_HL2 WAIT 30 TS$=”@S2 GT$=”$ヒエ−、 チョウシニ ノッテ$/$スミマセン テ゛シタ−!$ TT$=”@E12ヒエ’−_/チョウシニ/ノッテ/スミマセ’ン/テ゛シタ− GOSUB @CHA_GP_R GOSUB @CHA_MV7 WT=120:GOTO @CHA_W @CHA22 GOSUB @CHA_MV2 BP=8:GOSUB @CHA_MV1 GOTO @CHA21_2 @CHA23 GOSUB @CHA_MV2 BP=13:GOSUB @CHA_MV8 GOSUB @CHA_MV9 WAIT 15 GT$=”$ク゛エ−$/ TT$=”ク゛エ−−− GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA2 BGM=2 GOSUB @CHAINIT TS$=”@S11 AN=1:GOSUB @CHA_B AN=1:GOSUB @CHA_HL BGMPLAY 6,13,70 WAIT 60 SPCHR 10,64 WAIT 120 SPCHR 11,424 SPANIM 11,2,12 GT$=”$ココカラ サキハ トオサン!$/ TT$=”@E0ココカラ/サキワ/トオサ’ン! GOSUB @CHA_GP_R SPCHR 11,432 SPANIM 11,3,18,1 GT$=”$トオリタケレハ゛ オレヲ$/$タオシテミロ!$ TT$=”@E0トオリタ’ケレハ゛/オレオ/タオ’シテ/ミ’ロ! GOSUB @CHA_GP_R SPCHR 11,432 BGMSTOP 6,0.25 WAIT 30 GT$=”$...エ、$/$コワカ゛ッテクレナイノ?$ TT$=”_エ_|コワカ゛’ッテ/クレナ’イ/ノ? GOSUB @CHA_GP_R GOTO @CHA_OK @CHA3C GOSUB @CHAINIT AN=0:GOSUB @CHA_B AN=0:GOSUB @CHA_GH GOTO @CHA_MP @CHA31 BP=59:GOSUB @CHA_MV1 GT$=”$ソンナ オモチャ フリマワシテモ$/$ナニモ オシエテ アケ゛ナイシ $ムタ゛$タ゛ヨ−$ TT$=”ソンナ/オモ’チャ/フリマワ’シテモ/ナニモ/オシエテ/アケ゛ナ’イシ/ムタ゛タ゛ヨ− GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA32 GOSUB @CHA_MV2 GOSUB @CHA_MV10 BP=6:GOSUB @CHA_MV8 GT$=”$ソラ トヘ゛ナイン テ゛ショ?$/$オイカケテ キテモ $ムタ゛$タ゛ヨ−$ TT$=”ソ’ラ/トヘ゛ナ’イン/テ゛ショ?_/オイカ’ケテ/キ’テモ/ムタ゛タ゛ヨ− GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA33 GOSUB @CHA_MV12 BEEP 11 GT$=”$ウワ− フツウニ イタイ コレ$/ TT$=”ウワ’−/フツウニ/イタ’イ/コレ GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA3 BGM=3 GOSUB @CHAINIT TS$=”@S6 AN=1:GOSUB @CHA_B AN=1:GOSUB @CHA_GH BGMPLAY 6,21,80 FOR I=1 TO 180 SPOFS 11,256+40−72*I/180,CHA_GY−32+16*COS(I/180*2*PI()) VSYNC 1 IF I==60 THEN SPCHR 10,64 NEXT GT$=”$サカ゛シモノカナ?$/ TT$=”サカ゛シモノ/カナ? GOSUB @CHA_GP_R GT$=”$アカイ ホンヲ モッタ$/メカ゛ネ$ノ ヒトカ゛ ソッチニ イタケト゛$ TT$=”アカイ/ホ’ンヲ/モ’ッタ/メ’カ゛ネノ/ヒト’カ゛/ソッチ’ニ/イタ’ケト゛ GOSUB @CHA_GP_R GT$=”$ソンナコト オシエテ アケ゛ナイ モンネ−$/ TT$=”ソンナコ’ト/オシエテ/アケ゛ナ’イ/モンネ− GOSUB @CHA_GP_R BGMSTOP 6 SPCHR 11,194 SPANIM 11,2,12 WAIT 60 GOTO @CHA_OK @CHA4C GOSUB @CHAINIT AN=0:GOSUB @CHA_B AN=0:FC=0:GOSUB @CHA_DM FT_L=1 GOTO @CHA_MP @CHA41 BP=59:GOSUB @CHA_MV1 SPANIM 11,2,6 GT$=”ト゛ウシテモ トオシテ ホシイノ?/ TT$=”ト゛オシテモトオシテホシイノ? GOSUB @CHA_GP_R SPCHR 11,SPX03+2*4 SPANIM 11,1,1 GT$=”シ゛ャア トオシテ アケ゛ルワ/タ゛ミ− メッチャ ヤサシイ コ! TT$=”シ゛ャアトオシテアケ゛ルワ_/タ゛ミ−メッチャヤサシイコ GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA42 SPANIM 11,2,6 GT$=”マタ゛マタ゛ ネ/テ゛ナオシテ キナサイ! TT$=”マタ゛マタ゛ネ_/テ゛ナオシテキナサイ! GOSUB @CHA_GP_R SPANIM 11,1,1 GOSUB @CHA_MV2 SPCHR 11,SPX03+2*4 BP=9:GOSUB @CHA_MV1 BEEP 2 SPCHR 11,SPX03+3*4 WAIT 15 GT$=”ワカッタ ワカッタ/トオシテ アケ゛ルカラ TT$=”ワカッタ/ワカッタ/トオシテアケ゛ルカラ GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA43 SPCHR 11,SPX03+2*4 GT$=”チエッ ソレナラ コ゛ウカクテンヲ/ 170クライニ シタホウカ゛ ヨカッタ カシラ TT$=”チェ_/ソレナラコ゛ウカクテンヲヒャクナナシ゛ュウクライニシタホウカ゛ヨカッタカシラ? GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA4 BGM=4 GOSUB @CHAINIT TS$=”@S9 AN=1:GOSUB @CHA_B AN=0:FC=0:GOSUB @CHA_DM BGMPLAY 6,144,95 WAIT 60 SPCHR 10,64 SPANIM 11,2,6 FT_L=1 GT$=”ハシ゛メマシテ アタシ タ゛ミ− ヨ/ TT$=”ハシ゛メマシテ|アタシ|タ゛ミ−’ヨ GOSUB @CHA_GP_R GT$=”ココカラ サキニ ススミタケレハ゛/アタシノ テストヲ クリア シテネ TT$=”ココカラサキニススミタケレハ゛_アタシノテストヲクリアシテネ? GOSUB @CHA_GP_R SPCHR 11,SPX03+2*4 SPANIM 11,1,1 GT$=”MP>=150 テ゛/ コ゛ウカク タ゛カラネ? TT$=”エムヒ゜−ヒャクコ゛シ゛ュウイシ゛ョウテ゛/コ゛ウカクタ゛カラネ? GOSUB @CHA_GP_R GOTO @CHA_OK @CHA5C GOSUB @CHAINIT AN=0:GOSUB @CHA_B FC=0:GOSUB @CHA_WP OF=1:GOSUB @CHA_BK GOTO @CHA_MP @CHA51 BP=59:GOSUB @CHA_MV1 @CHA51_2 SPCHR 11,SPX01+32+2*4 GT$=”$ソンナニ $カエ$シテ ホシイノカ?$/$シ゛ャア $カエ$シテ ヤルヨ$ TT$=”@E11ソンナニ/カ’エシテ/ホシ’イノ/カ?_/シ゛ャ’ア/カ’エシテ/ヤル’ヨ GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA52 GOSUB @CHA_MV2 BP=8:GOSUB @CHA_MV1 GOTO @CHA51_2 @CHA53 GOSUB @CHA_MV2 BP=13:GOSUB @CHA_MV11 GOSUB @CHA_MV4 GT$=”メチャクチャ$ナ ヤリカタ タ゛ナ、$ オイ!/ TT$=”@E13メチャクチャナ/ヤリカタ/タ゛ナ/オ’イ! GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA5 BGM=5 GOSUB @CHAINIT TS$=”@S0 AN=1:GOSUB @CHA_B FC=0:GOSUB @CHA_WP OF=1:GOSUB @CHA_BK BGMPLAY 6,3,85 WAIT 60 SPCHR 10,64 SPANIM 11,2,6 GT$=”$ナニ、 コノ $ホン$ヲ$/カエ$シテ ホシイッツ−ノカ?$ TT$=”ナニ_|コノ/ホ’ンヲ/カ’エシテ/ホシ’イッツ−ノ/カ? GOSUB @CHA_GP_R GT$=”$オチテタノヲ $ハ゜クッ$タ タ゛ケタ゛$/$オトシタノカ゛ $ワル$インシ゛ャ ネ$ェ$ノカ?$ TT$=”オ’チテタノヲ/ハ゜ク’ッタ/タ゛ケ’タ゛_|オト’シタノカ゛/ワル’インシ゛ャ/ネ’エノ/カ? GOSUB @CHA_GP_R SPCHR 11,SPX01+32+2*4 SPANIM 11,1,1 GT$=”$ソレニ $セツメイショ$ ナンカ ナクテモ$/ク゛ク゛レ$ハ゛ スムタ゛ロ?$ TT$=”ソレニ/セツメイショ/ナ’ンカ/ナ’クテモ/ク゛ク゛’レハ゛/ス’ムタ゛/ロ? GOSUB @CHA_GP_R GOTO @CHA_OK @CHA6C GOSUB @CHAINIT AN=0:GOSUB @CHA_B AN=0:FC=0:GOSUB @CHA_DM OF=1:GOSUB @CHA_BK FT_L=1 GOTO @CHA_MP @CHA61 BP=59:GOSUB @CHA_MV1 SPANIM 11,2,6 GT$=”オモチャ フリマワシタッテ イミナイ ヨ−/カエシテ アケ゛ナイ モン! TT$=”オモチャフリマワシタッテ/イミナイヨ−−!_カエシテアケ゛ナイモン! GOSUB @CHA_GP_R SPCHR 11,SPX03+2*4 SPANIM 11,1,1 GOSUB @CHA_MV13 GT$=”テ゛イシ゛−、 テ゛イシ゛−♪/ TT$=”@E8@N1971テ゛ェエエエイ|@N1559シ゛イイイイイイ_@N2249テ゛ェエエエイ|@N2093シ゛イイイイイイ” GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA62 GOSUB @CHA_MV2 GOSUB @CHA_MV14 BP=59:GOSUB @CHA_MV1 GOSUB @CHA_MV15 SPCHR 11,SPX03+2*4 GT$=”キャ− ツカマエラレナイ ヨウニ/ハヤク ニケ゛ナキャ TT$=”キャ−_ツカマエラレナイヨウニ/ハヤクニケ゛ナキャ! GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA63 GOSUB @CHA_MV12 BEEP 11 BEEP 2 SPCHR 11,SPX03+3*4 SPANGLE 12,1,1 GOSUB @CHA_MV16 GT$=”ウワ− イシ゛ワル!/カエシテ アケ゛ルッテハ゛! TT$=”ウワ−イシ゛ワル!_/カエシテアケ゛ルッテハ゛! GOSUB @CHA_GP_R WT=0:GOTO @CHA_W @CHA6 BGM=6 GOSUB @CHAINIT TS$=”@S9 AN=0:GOSUB @CHA_B OF=0:GOSUB @CHA_BK WAIT 30 SPOFS 5,256−40−4−16,CHA_GY−8,10 AN=1:FC=0:GOSUB @CHA_DM BGMPLAY 6,145,60 WAIT 20 SPANIM 11,2,6 FT_L=1 GT$=”コノ ホン オモシロソウ タ゛カラ/アタシカ゛ モラッテ イクヨ! TT$=”コノホンオモシロソウタ゛カラ_アタシカ゛モラッテイクヨ! GOSUB @CHA_GP_R GT$=”ヘ゛ツニ イラナイ テ゛ショ?/アリカ゛ト−ネ! TT$=”ヘ゛ツニイラナイテ゛ショ?アリカ゛ト−ネ! GOSUB @CHA_GP_R SPCHR 11,SPX03+2*4 SPANIM 11,1,1 GT$=”ハ゛イハ゛イ/ TT$=”ハ゛イハ゛イ! GOSUB @CHA_GP_R GOTO @CHA_OK @CHA7 GOSUB @CHAINIT BGMPLAY 6,12,60 GT$=”チャレンシ゛ モ−ト゛ クリア!” GX=128−107/2:GY=CHA_GY+22 IF CHA_CLR[6]>=1 THEN GOSUB @GPRT_L WAIT 90 GPAGE 1 SPPAGE 1 IF CHA_CLR[6]<=0 THEN @CHA_R_HPSKP GT$=”HP”:GX=36+104:GY=54+30*3+15 GOSUB @GPRT_L GT$=”.”:GX=210:GY=58+30*3+15 GOSUB @GPRT_L CHA_MP[7]=FLOOR(CHA_HP*100+.5) MP=CHA_MP[7] SI=30+6*7:SC=4:SZ=0:SV=FLOOR(MP/100) GOSUB @SCSET ’GOSUB @SCMOV GOSUB @SCSET_MP BEEP 3 WAIT 60 @CHA_R_HPSKP ’GT$=”$コ゛ウケイ$”:GX=128:GY=24 ’GOSUB @GPRT_L GT$=”.”:GX=210−5:GY=28 GOSUB @GPRT_L MP=0 FOR I=0 TO 7 MP=MP+CHA_MP[I] NEXT SI=30+6*8:SC=4:SZ=0:SV=FLOOR(MP/100) GOSUB @SCSET ’GOSUB @SCMOV GOSUB @SCSET_MP FOR I=0 TO 5 SPREAD(SI+I),SX,SY SPOFS SI+I,SX,SY−4 SPOFS SI+I,SX,SY,4 NEXT BEEP 12 WAIT 60 SVDATA$=RIGHT$(MEM$,256−SVLEN*7) OLDSCORE=VAL(”&H”+MID$(SVDATA$,5*EX,5)) GT$=”ハイスコア $コウシン!$”:GX=152:GY=40:GP=3 IF MP>OLDSCORE THEN GOSUB @GPRT_L:BEEP 5 GP=0 @CHA_RS_1 VSYNC 1 IF !BUTTON(2) THEN @CHA_RS_1 IF MP>OLDSCORE THEN GOSUB @SAV1 BGMSTOP 6,0.5 GOTO @TIT @SAV1 SVDATA$=SUBST$(SVDATA$,5*EX,5,HEX$(MP,5)) MEM$=SUBST$(MEM$,SVLEN*7,256−SVLEN*7,SVDATA$) SAVE SAVFILE$ RETURN ’−−−−−−−−−−−−−−−−−−−−−−−−−−− @LIST DATA 7 DATA 0,80,”BGM00”,”フ゜リセット”,1,5 DATA ”000102−0−0 DATA 154,75,”フ゜チコマシ゛ック!”,”オリシ゛ナル”,2,5 DATA ”27311A231C1D301E2532 DATA 25,95,”BGM25”,”フ゜リセット”,2,6 DATA ”000102−2−5 DATA 155,85,”┿┨└┼Шж┰■┴□”,”オリシ゛ナル”,3,7 DATA ”383934353A3B3C3D333E DATA 22,100,”BGM22”,”フ゜リセット”,3,7 DATA ”000102−2−2 DATA 156,80,”Sudden”,”オリシ゛ナル”,4,8 DATA ”041816161319 DATA 157,50,”Limitelody”,”オリシ゛ナル”,5,9 DATA ”03101110121314151617 ’DATA 14,85,”BGM14”,”フ゜リセット”,1,5 ’DATA ”” ’DATA 152,120,”リス゛ミカルГチャイム”,”オリシ゛ナル”,2,6 ’DATA ”” ’DATA 153,115,”BGM11(アレンシ゛)”,”フ゜リセット”,2,7 ’DATA ”” ’DATA 150,80,”Get Started!”,”オリシ゛ナル”,3,7 ’DATA ”” ’DATA 23,95,”BGM23”,”フ゜リセット”,4,8 ’DATA ”” ’DATA 2,90,”BGM02”,”フ゜リセット”,4,10 ’DATA ”” ’DATA 151,127,”│кжд┌вШ”,”オリシ゛ナル”,5,10 ’DATA ”” DATA 158,100,”Default−m”,””,0,0 DATA ””
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
現在同時に 1 人がこのサイトを見ています
ページの先頭に戻る
*1 「はじまりのゆめ」
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ] PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji ページの処理時間 : 0.323 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:14 (565d) | ログイン Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30