Six Rock(シックス・ロック) by 三毛乱ジェロ

再生

 一見何の画面か分からない? 実はコレ、数字を使った落ち物パズルゲームなのだ。
 動画のプレーとタイトル画面の説明文を見てもらえばすぐわかるだろう。選んだ隣同士の数字の合計を「6」にするのが目的だ。たとえば互いにとなり合った「2」「3」「1」を選べば、その3つが全部消えて、その穴を埋めるように数字が落ちてくる。
 時間切れでゲームオーバーだが、合計が「6」になればタイムメーターが回復する。数字を何個もつなげるほど戻る時間も多いし、得点も高くなるぞ。合計が「6」を超えてしまったら選び直し。Lボタン+Rボタンで、ゲーム中1回だけ数字のシャッフルができるからうまく使いこなそう。

私が作りました

三毛乱ジェロ
mixi

昔はMSX・FAN誌によく投稿してました。
今はmixiやってます。マイミクも募集中です。


 CHECK POiNT 

インテリ
最初におことわりしておくと、プレイ動画はルールとゲームオーバーがわかるようにわざとゆっくり遊んでいて、本当はもっとスピーディーなゲームだそうです。

博士
う……うむ、まあ重要なことではあるな。ヘタだと思われたくない言い訳のような気もするが。

ワンパク
ウォオー! そうは言うがジッサイ、オレが遊ぶとすぐに手詰まりになっちまうぜ! どうなってやがる?

神崎
何も考えずに消していくとすぐに「どう選んでも合計が6以上になってしまう」エリアができちゃうんだね。落ちてくる数字を調節しながら遊ぶのがコツになるのかな。

ワンパク
ナルホドな……「落ちてくる」感覚がピンと来なかったが、よく見るとたしかに重力にそって数字が下りてきてんのか。ソコに注意して遊ぶと、シンプルだがかなりアツくなるルールだゼ!

博士
そういう意味では一瞬で落ちてくるより、アニメ状に落ちてきた方がわかりやすかったかもしれんな。
改造でそう変えることもできるじゃろうが、そこまでできるなら「落ちる」感覚もとっくに分かっとるハズじゃし、フクザツなとこじゃのう。

プログラムリスト

  1. ’ SIX ROCK
  2. ’ 2011 Michelan-gelo.
  3. ’ ショキセッテイ
  4. CLEAR
  5. DIM D(16,11),GX(7),GY(7),BE(5)
  6. HS=0
  7. BE(0)=38:BE(1)=7
  8. BE(2)=60:BE(3)=37:BE(4)=32
  9. GOTO @TITLE
  10. ’ メイン
  11. @MAIN
  12. BGMSTOP:CLS
  13. X=FLOOR(XD/2):Y=FLOOR(YD/2)
  14. ZX=X:ZY=Y
  15. TM=30:TE=0:GV=0:SC=0:RT=0
  16. COLOR 15
  17. LOCATE 10,12:PRINT”R E A D Y ?”
  18. BEEP 32:VSYNC 150
  19. ’ MAKE SCREEN+スウシ゛ヲイレル
  20. @MAKESC
  21. CLS:COLOR 15
  22. FOR I=1 TO YD
  23.  FOR J=1 TO XD
  24.   R=RND(RN)+1
  25.   D(J,I)=R
  26.   LOCATE J*2-1,I*2-1:PRINT R
  27.  NEXT
  28. NEXT
  29. E=1:C=0:F=0
  30. LOCATE 1,22:PRINT”SCORE:”;SC
  31. IF RT==0 THEN LOCATE 19,22:PRINT”К+К:RESET”
  32. GOSUB @JIKAN
  33. BGMPLAY BP
  34. ’ メイン
  35. @LOOP
  36. ZX=X:ZY=Y
  37. BT=BUTTON()
  38. IF BT==8 AND X<XD THEN X=X+1:E=1
  39. IF BT==4 AND X>1  THEN X=X-1:E=1
  40. IF BT==2 AND Y<YD THEN Y=Y+1:E=1
  41. IF BT==1 AND Y>1  THEN Y=Y-1:E=1
  42. IF BT==768 AND RT==0 THEN RT=1:GOTO @MAKESC
  43. IF BT==16 AND C==0 THEN GOSUB @CHOICE
  44. VSYNC 6
  45. TE=TE+1:IF TE>=10 THEN GOSUB @MINUS
  46. IF GV==1 GOTO @GMOVER
  47. IF E!=1 GOTO @LOOP
  48. COLOR 9
  49. LOCATE ZX*2-2,ZY*2-2:PRINT”   ”
  50. LOCATE ZX*2-2,ZY*2  :PRINT”   ”
  51. LOCATE X*2-2,Y*2-2  :PRINT”┌ ┐”
  52. LOCATE X*2-2,Y*2    :PRINT”└ ┘”
  53. IF F>=1 THEN GOSUB @CHOICE
  54. IF C==6 THEN GOSUB @ERASE
  55. IF C>=7 THEN GOSUB @OVER
  56. BEEP 49:E=0
  57. GOTO @LOOP
  58. ’ センタク
  59. @CHOICE
  60. IF F==0 GOTO @CHOICE2
  61. G=0
  62. FOR I=1 TO F
  63.  IF GX(I)==X AND GY(I)==Y THEN G=1
  64. NEXT
  65. IF G==1 THEN RETURN
  66. @CHOICE2
  67. BEEP 3
  68. C=C+D(X,Y):F=F+1
  69. COLOR 7
  70. LOCATE X*2-1,Y*2-1:PRINT D(X,Y)
  71. GX(F)=X:GY(F)=Y
  72. VSYNC 10
  73. RETURN
  74. ’ ショウキョ
  75. @ERASE
  76. COLOR 3
  77. FOR I=1 TO F
  78.  ZX=GX(I):ZY=GY(I)
  79.  LOCATE ZX*2-1,ZY*2-1:PRINT ”м”
  80.  BEEP 12:VSYNC 15
  81.  LOCATE ZX*2-1,ZY*2-1:PRINT ” ”
  82. NEXT
  83. ’ シタカラ ウエニ エランテ゛ナイカ チェック+イレカエ
  84. ’ コレカ゛ナイト ケシタアトノ スウシ゛カ゛ オカシクナル
  85. FOR I=1 TO F
  86.  ZY=GY(I)
  87.  FOR J=I TO F
  88.   IF GX(I)==GX(J) AND ZY>GY(J) THEN ZZ=ZY:GY(I)=GY(J):GY(J)=ZZ
  89.  NEXT
  90. NEXT
  91. ’ ケス
  92. COLOR 15
  93. FOR I=1 TO F
  94.  BEEP BE(F-2)
  95.  ZX=GX(I):ZY=GY(I)
  96.  FOR J=ZY TO 1 STEP -1
  97.   D(ZX,J)=D(ZX,J-1)
  98.   LOCATE ZX*2-1,J*2-1:PRINT D(ZX,J)
  99.  NEXT
  100.  D(ZX,1)=RND(RN)+1
  101.  LOCATE ZX*2-1,1:PRINT D(ZX,1)
  102.  VSYNC 3
  103. NEXT
  104. ’ オオク ケスト ホ゛-ナスアリ
  105. SC=SC+FLOOR(F*1.3)
  106. TM=TM+FLOOR(F*1.3)-1
  107. IF F==6 THEN TM=TM+1:SC=SC+1
  108. LOCATE 1,22:PRINT”SCORE:”;SC
  109. ’ ノーマルモート゛ノミ レヘ゛ルアッフ゜アリ
  110. IF SC>100 THEN RN=5
  111. GOSUB @JIKAN
  112. C=0:F=0:TE=0
  113. RETURN
  114. ’ モト゛ス
  115. @OVER
  116. COLOR 15
  117. FOR I=1 TO F
  118.  ZX=GX(I):ZY=GY(I)
  119.  LOCATE ZX*2-1,ZY*2-1:PRINT D(ZX,ZY)
  120.  BEEP 11:VSYNC 15
  121. NEXT
  122. C=0:F=0
  123. RETURN
  124. ’ シ゛カン ヲ ヘラス
  125. @MINUS
  126. TM=TM-1
  127. IF TM==0 THEN GV=1
  128. GOSUB @JIKAN
  129. TE=0
  130. RETURN
  131. ’ シ゛カン ノ ヒョウシ゛
  132. @JIKAN
  133. COLOR 4:IF TM<10 THEN COLOR 7
  134. IF TM>30 THEN TM=30
  135. FOR I=0 TO TM-1
  136.  LOCATE I,21:PRINT”■ ”
  137. NEXT
  138. RETURN
  139. ’ ケ゛ームオーハ゛ー
  140. @GMOVER
  141. BGMPLAY 6
  142. COLOR 13:LOCATE 0,21:PRINT” ”
  143. FOR I=0 TO 4
  144. ’ 23コノ クウハク
  145.  LOCATE 4,I+8:PRINT”                       ”
  146. NEXT
  147. LOCATE 7,10:PRINT”G A M E   O V E R”
  148. LOCATE 12,21:PRINT”PUSH Х”
  149. IF HS<SC THEN HS=SC
  150. @GLOOP
  151. BT=BUTTON()
  152. IF BT!=128 GOTO @GLOOP
  153. ’ タイトル
  154. @TITLE
  155. CLS:BGMPLAY 0
  156. COLOR 15:PRINT”HIGH SCORE:”;HS
  157. COLOR 7:LOCATE 0,2
  158. PRINT”   ┠┠          ┠┠”
  159. PRINT”  ┻           ┻  ┛        ┻”
  160. COLOR 8
  161. PRINT”  ┻    ┃      ┻  ┛        ┻ ┗”
  162. PRINT”   ┏┏┓ ┳ ┫ ┗  ┳┏┏ ┳┏┏┓┳┏┏ ┳┗”
  163. COLOR 7
  164. PRINT”     ┛ ┻  ┫   ┻ ┫ ┻  ┛┻   ┻ ┫”
  165. PRINT”   ┠┠━ ┻ ┗ ┫  ┃  ━┃┠┠━┃┠┠ ┃  ━”
  166. COLOR 4
  167. LOCATE  1, 9:PRINT”ヤリカタ:トナリアウ スウシ゛ノ コ゛ウケイカ゛”
  168. LOCATE  6,10:PRINT”6ニ ナルヨウニ スウシ゛ヲ エランテ゛ネ”
  169. LOCATE  6,11:PRINT”タテ ヨコ カキ゛カ゛タ ナンテ゛モ OK”
  170. COLOR 9
  171. LOCATE  6,12:PRINT”Aホ゛タンテ゛ スウシ゛ヲ ヒトツ エランタ゛ラ”
  172. LOCATE  6,13:PRINT”アトハ Пキーテ゛ イト゛ウスルタ゛ケ”
  173. LOCATE  6,14:PRINT”シタノ タイマーカ゛ ナクナッタラ オワリタ゛ヨ”
  174. COLOR 15
  175. LOCATE  5,16:PRINT”Aホ゛タン:ノーマル モート゛(8*6)”
  176. LOCATE  5,17:PRINT”Xホ゛タン:スハ゜ルタモート゛(15*10)”
  177. LOCATE  5,18:PRINT”Bホ゛タン:シュウリョウ”
  178. LOCATE  7,21:PRINT”2011 Michelan-gelo.”
  179. H=0
  180. @TITLE2
  181. BT=BUTTON()
  182. IF BT==16 THEN XD=8:YD=6:BP=1:RN=4:H=1
  183. IF BT==64 THEN XD=15:YD=10:BP=3:RN=5:H=1
  184. IF BT==32 GOTO @SHURYOU
  185. IF H==0 GOTO @TITLE2
  186. GOTO @MAIN
  187. ’ シュウリョウ
  188. @SHURYOU
  189. BGMSTOP
  190. END