プチコンで作られた音楽ゲーム、いわゆる音ゲーだ。
ゲームを始めると、一列に並んだキャラの中で1人だけステージ上にいるのがわかるだろう。上から降りてくるラインがキャラと重なるのに合わせて、タイミングよくボタンを押すのだ! 押すべきボタンはキャラの真下に表示されているぞ。
もちろんタイミングがズレるとミスになる。5回失敗でゲームオーバーだ。ゲームが進むと、複数のボタンを同時に押したり、すばやく連続して押したりと難易度もアップ。リズム感の限界に挑戦だ!
たけぽん
はじめは複数のボタンを押す「縄跳び」のゲームだったのですが、改良していくうちに音ゲーになってしまいました。
- ’HOPPING NOTE
- ’ by タケホ゜ン
- CLS:CLEAR:VISIBLE 1,1,1,1,1,0
- SPPAGE 0:BGPAGE 0
- BGCLIP 0,0,31,23:GOSUB @SHOKI
- FOR K=0 TO 7
- SPSET K,W(K),C(K),0,0,2:NEXT
- @START0
- SC=0:RO=1:BA=0
- @START1
- CLS:FOR K=0 TO 7:B(K)=0
- H(K)=0:K(K)=0:S(K)=0:Y(K)=168
- P(K)=1:SPCHR K,W(K)
- SPANIM K,A(K),10,0
- SPOFS K,K*24+36,168:NEXT
- SP=7:SN=0
- COLOR 14:LOCATE 5,20
- ?”К ← ↑ Х Ф Б А К”
- COLOR 15:LOCATE 0,0
- ?”SCORE ”;SC:COLOR 13
- LOCATE 27,0:?”BAD ”;BA
- @START3
- B=RND(8)
- @ST3
- IF S(B)==0 THEN @ST2
- B=B+1:IF B>7 THEN B=0
- GOTO @ST3
- @ST2
- S(B)=RND(4)+1:Y(B)=33+S(B)*24
- SN=SN+1:K(B)=-6
- SPOFS B,B*24+36,Y(B)
- K=0:NW=144:NJ=0:NK=0
- @L0
- IF S(K)==0 THEN @L9
- IF K(K)>-6 THEN @L4
- B=BUTTON()
- IF B AND Q(K) THEN @L1
- IF B XOR Q(K) THEN H(K)=0
- GOTO @L9
- @L1
- IF H(K)!=0 THEN @L9
- K(K)=-5:B(K)=1:H(K)=1
- BEEP 22,O(K):SPCHR K,J(K)
- SPANIM K,1,10,0:J=-S(K)*24+48
- LOCATE K*3+5,18
- IF J!=NW THEN @L2
- P(K)=3:COLOR 3:?”◎”;:GOTO @L4
- @L2
- IF J<NW-3 THEN @L3
- IF J>NW+3 THEN @L3
- P(K)=2:COLOR 4:?”○”;:GOTO @L4
- @L3
- P(K)=0.5:COLOR 13:?”м”;
- @L4
- Y(K)=Y(K)+K(K)*3:K(K)=K(K)+1
- SPOFS K,K*24+36,Y(K)
- IF K(K)<6 THEN @L9
- K(K)=-6:SPCHR K,W(K)
- SPANIM K,A(K),10,0
- @L9
- K=K+1:IF K>7 THEN K=0:VSYNC 2
- NJ=NJ+1:IF NJ<SP THEN @L0
- NJ=0:NW=NW-1:BGOFS 0,0,NW
- IF NW==0 THEN BEEP 28
- IF NW==96 THEN BEEP 28
- IF NW!=30 THEN @NA7
- COLOR 11:LOCATE 5,18
- ?”- - - - - - - -”;
- @NA7
- J=NW%24:IF J!=0 THEN @NA8
- BEEP 27,0,64,0
- @NA8
- IF NW>-49 THEN @L0
- NW=47:NK=NK+1:GP=1
- FOR J=0 TO 7
- IF S(J)==0 THEN @NA9
- IF P(J)!=1 THEN @NA9
- P(J)=0.5:LOCATE J*3+5,18
- COLOR 13:?”м”;
- @NA9
- GP=GP*P(J):P(J)=1:NEXT
- I=9:IF GP<=0.5 THEN @MA4
- IF GP>2 THEN I=3
- SC=SC+GP*20:COLOR 15
- LOCATE 6,0:?SC;:COLOR I
- LOCATE 15,3:?GP*20;” ”
- @NA10
- IF NK>2 THEN @MA3
- GOTO @L0
- @MA3
- IF SN<RO THEN @START3
- RO=RO+1:IF RO>8 THEN RO=8
- GOTO @START1
- @MA4
- I=13:GP=0:COLOR 13
- LOCATE 15,3:?”BAD ”:BA=BA+1
- BEEP 11:LOCATE 27,0
- ?”BAD ”;BA:IF BA<5 THEN @NA10
- VSYNC 30:BEEP 64:COLOR 3
- LOCATE 11,3:?”GAME OVER”
- LOCATE 9,15:?”HIT ANY BUTTON”
- VSYNC 60
- @OV1
- B=BUTTON():IF B==0 THEN @OV1
- GOTO @START0
- @SHOKI
- DIM Q(8),W(8),J(8),A(8),C(8)
- DIM B(8),H(8),K(9),S(8),Y(8)
- DIM O(8),P(8)
- FOR K=0 TO 63
- FOR J=0 TO 63
- BGPUT 0,J,K,0,0,0,0
- BGPUT 1,J,K,0,0,0,0:NEXT
- NEXT:BGOFS 0,0,0:BGOFS 1,0,24
- CHRINIT ”BGU0”
- A$=”00000000”:B$=”11111111”
- C$=”DDDDDDDD”:D$=”33333333”
- E$=A$+A$+A$+A$+A$+A$+A$
- F$=C$+E$:G$=B$+E$:H$=D$+E$
- CHRSET ”BGU0”,1,F$
- CHRSET ”BGU0”,2,G$
- CHRSET ”BGU0”,3,H$
- FOR J=0 TO 1
- FOR K=0 TO 31
- BGPUT 0,K,J*12,1,11,0,0
- FOR I=0 TO 3
- BGPUT 1,K,J*12+I*3,2,2,0,0
- NEXT
- BGPUT 1,K,J*12+9,3,2,0,0:NEXT
- NEXT
- FOR K=0 TO 7
- READ Q(K),W(K),J(K),A(K),C(K),O(K)
- NEXT:RETURN
- DATA 256, 68, 93,4,2, 128
- DATA 4,100,125,4,5, 768
- DATA 1,194,195,2,5,1536
- DATA 128,130,130,2,5,1792
- DATA 64, 68, 93,4,4,2560
- DATA 32,148,148,2,3,3200
- DATA 16,194,195,2,3,3840
- DATA 512,100,125,4,4,4160