むりやりガッチ! by 三毛乱ジェロ

再生

 手数制限付きのハラハラドキドキのパズルゲーム。
 ゲームスタートして右側に表示される、でこぼこの赤いブロック。これと凸凹がピッタリ合わさるように左側の青いブロックを削っていこう。
 十字ボタンでカーソル移動、Aボタンで「カーソルより右にあるブロックを全部」削る。うまく削り終わったらRボタンで判定開始! そうそう、画面下にある緑色の「手数」を使い切ってしまうと強制的に判定が始まってしまうぞ。

私が作りました

三毛乱ジェロ

MSXでBASICを覚え、windowsでその複雑さに心が折れた者です。
歳は取ってもアイデアは枯れないよ。


 CHECK POiNT 

ワンパク
ウォオー! 分かっているハズなのに、つい、つい余計にケズっちまったァー!

博士
攻略法はわかっても、つい見た目に惑わされて失敗してしまうようじゃの。単純なようでアイデアの勝利じゃ。

インテリ
ステージが進むとブロックの区切り目が見えなくなってますます難しくなるね。リストでは一見同じに見えるけど、「■■■」と「┿┿┿」のように大きい四角記号・小さい四角記号の切り替えで作っているんだ。

神崎
65行目の左側はSHIFTキーを押して入力するスキマつきの■、右側はSHIFTキーを使わないスキマなしの┿。66行目はスキマなし、95行目はスキマつきだから入力するときは気を付けて!

博士
判定は最上段の1行を常に「合致している」基準にして、その下の行の赤青ブロック合計数も1行目と同じか、という順序で判定しておるのじゃな。
感覚的には行単位で判定するよりも、青ブロックをまとめて近づけたときに最初に合致しなかった部分がエラーになる、という見せ方の方がしっくりくるじゃろうか。その分プログラムは複雑になってしまうじゃろうが……

ワンパク
……ハッ!? オ、オレが1行目だけは常にカンペキだと思っていたのにはそういう秘密が……!

博士
……こういうやつもおるしのう。

プログラムリスト

  1. ’
  2. ’ ムリヤリ カ゛ッチ
  3. ’ BY Michelan-gelo.
  4. ’
  5. ’ ?ショキセッテイ
  6. ’
  7. CLEAR
  8. VISIBLE 1,1,0,0,1,0
  9. DIM A(17),B(17)
  10. TE=0
  11. HS=0
  12. DA=2
  13. MA=1
  14. PA=5
  15. ’
  16. SPSET 0,28,12,0,0,0
  17. ’
  18. ’ ?タイトル
  19. ’
  20. @TITLE
  21. CLS
  22. SPOFS 0,1024,1024
  23. C=4
  24. SC=0
  25. BGMPLAY 17
  26. ’
  27. COLOR 13
  28. LOCATE 10, 5:PRINT” ┨┓┳┻ ┻┳┯┯┻ ┻”
  29. LOCATE 10, 6:PRINT”┳┨    ┻ ┛┃  ┻”
  30. LOCATE 10, 7:PRINT”┻┨┠┨┻┠┨ ┛ ┻┠┨”
  31. COLOR 10
  32. LOCATE 10, 9:PRINT” ┨┠┓━━  ┠┨━┻ ”
  33. LOCATE 10,10:PRINT” ┻ ┛ ┛┛┓┠┨┠┻ ”
  34. LOCATE 10,11:PRINT” ┻ ┛ ┠┠┛┠┨ ┳ ”
  35. ’
  36. COLOR 4
  37. LOCATE  3,18:PRINT”ヤリカタ:アカ ノ テ゛コホ゛コニ アウヨウニ”
  38. LOCATE  8,19:PRINT”アオ ノ フ゛ロックヲ ケス゛ッテネ”
  39. ’
  40. COLOR 15
  41. LOCATE  4,22:PRINT”2008 2011 Michelan-gelo.”
  42. LOCATE  6, 2:PRINT”HIGH SORE:”;HS
  43. ’
  44. LOCATE  9,14:PRINT”Aホ゛タン:ノ-マル モ-ト゛”
  45. LOCATE  9,15:PRINT”Xホ゛タン:スハ゜ルタ モ-ト゛”
  46. LOCATE  9,16:PRINT”Bホ゛タン:シュウリョウ”
  47. ’
  48. H=0
  49. ’
  50. @TITLE2
  51. BT=BUTTON()
  52. IF BT==16 THEN DA=2:PA=4:MA=1:H=1
  53. IF BT==64 THEN DA=3:PA=6:MA=2:H=1
  54. IF BT==32 GOTO @SHURYOU
  55. ’
  56. IF H==0 GOTO @TITLE2
  57. ’
  58. ’ ?カ゛メン ノ シ゛ュンヒ゛
  59. ’
  60. @MAKESC
  61. CLS
  62. BGMSTOP
  63. D=11
  64. TE=0
  65. IF MA==1 THEN TE=31:BP=26:S$=”■”: IF C>7 THEN S$=”┿”
  66. IF MA==2 THEN TE=C+1:BP=27:S$=”■”
  67. ’
  68. FOR I=1 TO C
  69.  FOR J=1 TO 2
  70.   J=2
  71.   E=RND(PA)-DA
  72.   D=D+E
  73.   IF D>14 OR D<3 THEN J=1:D=D-E
  74.  NEXT
  75.  A(I)=14
  76.  B(I)=D
  77. ’
  78.  FOR J=1 TO D
  79.   COLOR 10
  80.   FOR K=1 TO 14
  81.    LOCATE K,I:PRINT S$
  82.   NEXT
  83.   COLOR 13
  84.   FOR K=30-D TO 30
  85.    LOCATE K,I:PRINT S$
  86.   NEXT
  87.  NEXT
  88. NEXT
  89. ’
  90. COLOR 15
  91. LOCATE 4,19:PRINT”SCORE:”;SC
  92. LOCATE 4,20:PRINT”Aホ゛タン:ケス゛ル Rホ゛タン:カンリョウ”
  93. COLOR 4
  94. FOR I=1 TO TE
  95.  LOCATE I,21:PRINT”■”
  96. NEXT
  97. ’
  98. X=14
  99. Y=1
  100. BGMPLAY BP
  101. ’
  102. ’ ?メイン
  103. ’
  104. @MAIN
  105. BT=BUTTON()
  106. IF TE==0 GOTO @JUDGE
  107. IF BT==8 AND X<14 THEN X=X+1:BEEP 49
  108. IF BT==4 AND X>1  THEN X=X-1:BEEP 49
  109. IF BT==2 AND Y<C  THEN Y=Y+1:BEEP 49
  110. IF BT==1 AND Y>1  THEN Y=Y-1:BEEP 49
  111. ’
  112. IF BT==16 THEN GOSUB @DIG
  113. IF BT==512 GOTO @JUDGE
  114. ’
  115. VSYNC 5
  116. ’
  117. SPOFS 0,X*8,Y*8
  118. GOTO @MAIN
  119. ’
  120. @DIG
  121. IF A(Y)<X THEN RETURN
  122. FOR I=X TO A(Y)
  123.  LOCATE I,Y:PRINT ” ”
  124. NEXT
  125. BEEP 3
  126. A(Y)=X-1
  127. TE=TE-1
  128. LOCATE TE+1,21:PRINT ” ”
  129. RETURN
  130. ’
  131. @JUDGE
  132. BGMSTOP
  133. SPOFS 0,1024,1024
  134. COLOR 15
  135. LOCATE 6,18:PRINT”J U D G E M E N T !”
  136. BEEP 43
  137. VSYNC 125
  138. ’
  139. G=A(1)+B(1)
  140. H=0
  141. FOR I=1 TO C
  142.  F=A(I)+B(I)
  143.  V$=”GOOD!”
  144.  MC=0
  145.  IF G!=F THEN H=1:V$=”N G !”:MC=1
  146.  COLOR 10:IF MC==1 THEN COLOR 2
  147.  FOR J=1 TO 29-B(I)+(F-G)
  148.   LOCATE J,I:PRINT S$
  149.  NEXT
  150.  BP=7:IF MC==1 THEN BP=13
  151.  COLOR 15:LOCATE 3,I:PRINT V$
  152.  BEEP BP
  153.  VSYNC 36
  154. NEXT
  155. ’
  156. IF H==1 GOTO @GOVER
  157. ’
  158. COLOR 3
  159. LOCATE 6,18:PRINT”C L E A R !  PUSH Y ”
  160. BEEP 34
  161. COLOR 15
  162. CZ=(TE*MA)+(C*20)
  163. LOCATE 17,19:PRINT”POINT:”;CZ
  164. SC=SC+CZ
  165. LOCATE 4,19:PRINT”SCORE:”;SC
  166. ’
  167. @CLOOP
  168. BT=BUTTON()
  169. IF BT!=128 GOTO @CLOOP
  170. ’
  171. C=C+1
  172. IF C==17 THEN C=16:DA=4:PA=8
  173. GOTO @MAKESC
  174. ’
  175. ’ ?ケ゛-ム オ-ハ゛-
  176. ’
  177. @GOVER
  178. COLOR 7
  179. LOCATE 6,18:PRINT”GAME OVER    PUSH Y ”
  180. BEEP 37
  181. IF HS<SC THEN HS=SC
  182. ’
  183. @GLOOP
  184. BT=BUTTON()
  185. IF BT!=128 GOTO @GLOOP
  186. GOTO @TITLE
  187. ’
  188. ’ ?オワリ
  189. ’
  190. @SHURYOU
  191. BGMSTOP
  192. END