HOPPING NOTE by たけぽん

再生

 プチコンで作られた音楽ゲーム、いわゆる音ゲーだ。
 ゲームを始めると、一列に並んだキャラの中で1人だけステージ上にいるのがわかるだろう。上から降りてくるラインがキャラと重なるのに合わせて、タイミングよくボタンを押すのだ! 押すべきボタンはキャラの真下に表示されているぞ。
 もちろんタイミングがズレるとミスになる。5回失敗でゲームオーバーだ。ゲームが進むと、複数のボタンを同時に押したり、すばやく連続して押したりと難易度もアップ。リズム感の限界に挑戦だ!
 

私が作りました

たけぽん

はじめは複数のボタンを押す「縄跳び」のゲームだったのですが、改良していくうちに音ゲーになってしまいました。


 CHECK POiNT 

ワンパク
ウォォォ! 何度やっても×判定だぜ! キビシすぎるんじゃねぇか?

インテリ
判定部分は50行目からだけど、ひらたく言えば◎判定を出すには誤差0.0333秒以内、○判定なら誤差0.25秒以内でボタンを押さないといけないみたいだね。

神崎
キビシイといえばキビシイかな。ちょっとずるいけど、この判定をゆるめに改造することも……。

博士
他にも改造ポイントとしては、8分音符など他のタイミングでの出題を増やしても面白いかもしれんな。
もっともコード圧縮のために様々な最適化が施されておるから、解析も改造も少々難しいかもしれんがのう。

ワンパク
チクショー! オレはもう1回チャレンジだ!

プログラムリスト

  1. ’HOPPING NOTE 
  2. ’ by タケホ゜ン 
  3. CLS:CLEAR:VISIBLE 1,1,1,1,1,0
  4. SPPAGE 0:BGPAGE 0
  5. BGCLIP 0,0,31,23:GOSUB @SHOKI
  6. FOR K=0 TO 7
  7. SPSET K,W(K),C(K),0,0,2:NEXT
  8. @START0
  9. SC=0:RO=1:BA=0
  10. @START1
  11. CLS:FOR K=0 TO 7:B(K)=0
  12. H(K)=0:K(K)=0:S(K)=0:Y(K)=168
  13. P(K)=1:SPCHR K,W(K)
  14. SPANIM K,A(K),10,0
  15. SPOFS K,K*24+36,168:NEXT
  16. SP=7:SN=0
  17. COLOR 14:LOCATE 5,20
  18. ?”К  ←  ↑  Х  Ф  Б  А  К”
  19. COLOR 15:LOCATE 0,0
  20. ?”SCORE ”;SC:COLOR 13
  21. LOCATE 27,0:?”BAD ”;BA
  22. @START3
  23. B=RND(8)
  24. @ST3
  25. IF S(B)==0 THEN @ST2
  26. B=B+1:IF B>7 THEN B=0
  27. GOTO @ST3
  28. @ST2
  29. S(B)=RND(4)+1:Y(B)=33+S(B)*24
  30. SN=SN+1:K(B)=-6
  31. SPOFS B,B*24+36,Y(B)
  32. K=0:NW=144:NJ=0:NK=0
  33. @L0
  34. IF S(K)==0 THEN @L9
  35. IF K(K)>-6 THEN @L4
  36. B=BUTTON()
  37. IF B AND Q(K) THEN @L1
  38. IF B XOR Q(K) THEN H(K)=0
  39. GOTO @L9
  40. @L1
  41. IF H(K)!=0 THEN @L9
  42. K(K)=-5:B(K)=1:H(K)=1
  43. BEEP 22,O(K):SPCHR K,J(K)
  44. SPANIM K,1,10,0:J=-S(K)*24+48
  45. LOCATE K*3+5,18
  46. IF J!=NW THEN @L2
  47. P(K)=3:COLOR 3:?”◎”;:GOTO @L4
  48. @L2
  49. IF J<NW-3 THEN @L3
  50. IF J>NW+3 THEN @L3
  51. P(K)=2:COLOR 4:?”○”;:GOTO @L4
  52. @L3
  53. P(K)=0.5:COLOR 13:?”м”;
  54. @L4
  55. Y(K)=Y(K)+K(K)*3:K(K)=K(K)+1
  56. SPOFS K,K*24+36,Y(K)
  57. IF K(K)<6 THEN @L9
  58. K(K)=-6:SPCHR K,W(K)
  59. SPANIM K,A(K),10,0
  60. @L9
  61. K=K+1:IF K>7 THEN K=0:VSYNC 2
  62. NJ=NJ+1:IF NJ<SP THEN @L0
  63. NJ=0:NW=NW-1:BGOFS 0,0,NW
  64. IF NW==0 THEN BEEP 28
  65. IF NW==96 THEN BEEP 28
  66. IF NW!=30 THEN @NA7
  67. COLOR 11:LOCATE 5,18
  68. ?”-  -  -  -  -  -  -  -”;
  69. @NA7
  70. J=NW%24:IF J!=0 THEN @NA8
  71. BEEP 27,0,64,0
  72. @NA8
  73. IF NW>-49 THEN @L0
  74. NW=47:NK=NK+1:GP=1
  75. FOR J=0 TO 7
  76. IF S(J)==0 THEN @NA9
  77. IF P(J)!=1 THEN @NA9
  78. P(J)=0.5:LOCATE J*3+5,18
  79. COLOR 13:?”м”;
  80. @NA9
  81. GP=GP*P(J):P(J)=1:NEXT
  82. I=9:IF GP<=0.5 THEN @MA4
  83. IF GP>2 THEN I=3
  84. SC=SC+GP*20:COLOR 15
  85. LOCATE 6,0:?SC;:COLOR I
  86. LOCATE 15,3:?GP*20;”  ”
  87. @NA10
  88. IF NK>2 THEN @MA3
  89. GOTO @L0
  90. @MA3
  91. IF SN<RO THEN @START3
  92. RO=RO+1:IF RO>8 THEN RO=8
  93. GOTO @START1
  94. @MA4
  95. I=13:GP=0:COLOR 13
  96. LOCATE 15,3:?”BAD ”:BA=BA+1
  97. BEEP 11:LOCATE 27,0
  98. ?”BAD ”;BA:IF BA<5 THEN @NA10
  99. VSYNC 30:BEEP 64:COLOR 3
  100. LOCATE 11,3:?”GAME  OVER”
  101. LOCATE 9,15:?”HIT ANY BUTTON”
  102. VSYNC 60
  103. @OV1
  104. B=BUTTON():IF B==0 THEN @OV1
  105. GOTO @START0
  106. @SHOKI
  107. DIM Q(8),W(8),J(8),A(8),C(8)
  108. DIM B(8),H(8),K(9),S(8),Y(8)
  109. DIM O(8),P(8)
  110. FOR K=0 TO 63
  111. FOR J=0 TO 63
  112. BGPUT 0,J,K,0,0,0,0
  113. BGPUT 1,J,K,0,0,0,0:NEXT
  114. NEXT:BGOFS 0,0,0:BGOFS 1,0,24
  115. CHRINIT ”BGU0”
  116. A$=”00000000”:B$=”11111111”
  117. C$=”DDDDDDDD”:D$=”33333333”
  118. E$=A$+A$+A$+A$+A$+A$+A$
  119. F$=C$+E$:G$=B$+E$:H$=D$+E$
  120. CHRSET ”BGU0”,1,F$
  121. CHRSET ”BGU0”,2,G$
  122. CHRSET ”BGU0”,3,H$
  123. FOR J=0 TO 1
  124. FOR K=0 TO 31
  125. BGPUT 0,K,J*12,1,11,0,0
  126. FOR I=0 TO 3
  127. BGPUT 1,K,J*12+I*3,2,2,0,0
  128. NEXT
  129. BGPUT 1,K,J*12+9,3,2,0,0:NEXT
  130. NEXT
  131. FOR K=0 TO 7
  132. READ Q(K),W(K),J(K),A(K),C(K),O(K)
  133. NEXT:RETURN
  134. DATA 256, 68, 93,4,2, 128
  135. DATA   4,100,125,4,5, 768
  136. DATA   1,194,195,2,5,1536
  137. DATA 128,130,130,2,5,1792
  138. DATA  64, 68, 93,4,4,2560
  139. DATA  32,148,148,2,3,3200
  140. DATA  16,194,195,2,3,3840
  141. DATA 512,100,125,4,4,4160