fork download
  1. =begin
  2.  
  3. 堀江伸一
  4. casio basic language
  5. FX-CG50グラフ電卓で動く、足して10を作るスライドパズル。
  6.  
  7. 一桁の数字が7*7マスに49個並んでるので、スライドして数字を合計して10を作るゲームです。
  8. 10ができると数字が消えて得点が入ります。
  9.  
  10. 操作方法
  11. マス目選択モードと足し算モードがあります。
  12. マス目選択モード(選択マスが緑)
  13. 2,4,6,8キーで上下左右移動、数字のあるマスで5キーを押すと足し算モードになります。
  14.  
  15. 足し算モード(選択マスが赤)
  16. 赤色の選択マスの数字を2,4,6,8キーで上下左右に移動して10を作ります。
  17. 移動先と選択マスの数字の和が11以上なら移動できません。
  18. 和が10なら数字が消えて得点が入ります。
  19. 和が9以下なら移動先でその数字になります。
  20. 空白マスは0として扱います。
  21. 5キーを押すとマス目選択モードに戻ります。
  22.  
  23. 数字を合計10にして消してスコアを獲得し盤面の数字全消し190点を目指してください。
  24. 10が作れないかの判定は行ってないので、作れなくなったらexeキーを押すとゲーム終了できます。
  25.  
  26.  
  27. 'ProgramMode:RUN
  28. 5->X
  29. 4->Y
  30. 0->T
  31. 0->K
  32. 0->S
  33. 0->A
  34. 0->B
  35.  
  36. [[10,9,8,4,2,3,5,4,10][10,1,5,1,2,2,1,1,10][10,2,7,2,6,6,9,3,10][10,2,8,2,4,5,3,2,10][10,1,1,1,7,1,4,4,10][10,7,8,2,5,2,3,5,10][10,3,4,3,5,7,3,5,10]]->Mat M
  37.  
  38. For 1->I To 7
  39. For 1->J To 9
  40.  
  41. If Mat M[I,J]=10
  42. Then
  43.  
  44. Locate J,I,"_#E6A6_"
  45.  
  46. Else
  47.  
  48. Locate J,I,Mat M[I,J]
  49.  
  50. IfEnd
  51.  
  52. Next
  53. Next
  54. Green Locate X,Y,Mat M[Y,X]
  55. Locate 12,3,"SCORE"
  56. Locate 12,4,0
  57. While K<>31
  58.  
  59. If 16<T
  60. Then
  61. 0->T
  62.  
  63. Goto 0
  64. Lbl 1
  65.  
  66. If A=0
  67. Then
  68.  
  69. Goto 2
  70. Lbl 3
  71.  
  72. Else
  73.  
  74. Goto 4
  75. Lbl 5
  76.  
  77. IfEnd
  78. Locate 12,4,S
  79. 0->K
  80. IfEnd
  81.  
  82. If K=0
  83. Then
  84. Getkey->K
  85. IfEnd
  86.  
  87. T+1->T
  88.  
  89. WhileEnd
  90. Goto 9
  91.  
  92. Lbl 0
  93.  
  94. X->V
  95. Y->W
  96.  
  97. If K=53
  98. Then
  99. X+1->X
  100. IfEnd
  101.  
  102. If K=73
  103. Then
  104. X-1->X
  105. IfEnd
  106.  
  107. If K=62
  108. Then
  109. Y+1->Y
  110. IfEnd
  111.  
  112. If K=64
  113. Then
  114. Y-1->Y
  115. IfEnd
  116.  
  117. If (K=63) And (0<Mat M[W,V]) And (A=0)
  118. Then
  119. 1->A
  120.  
  121. Else
  122.  
  123. If K=63 And A=1
  124. Then
  125. 0->A
  126. IfEnd
  127. IfEnd
  128.  
  129. If X<2 Or 8<X
  130. Then
  131. V->X
  132. IfEnd
  133.  
  134. If Y<1 Or 7<Y
  135. Then
  136. W->Y
  137. IfEnd
  138.  
  139. Goto 1
  140.  
  141. Lbl 2
  142.  
  143. Mat M[W,V]->P
  144. Mat M[Y,X]->Q
  145.  
  146. If P=0
  147. Then
  148. Locate V,W," "
  149. Else
  150. Locate V,W,P
  151. IfEnd
  152.  
  153. If Q=0
  154. Then
  155. Green Locate X,Y,"_#E6A6_"
  156. Else
  157. Green Locate X,Y,Q
  158. IfEnd
  159.  
  160. Goto 3
  161.  
  162. Lbl 4
  163.  
  164. Mat M[W,V]->P
  165. 0->Mat M[W,V]
  166. Mat M[Y,X]->Q
  167. P+Q->R
  168. Locate V,W," "
  169. If R=10
  170. Then
  171. Green Locate X,Y,"_#E6A6_"
  172. 0->Mat M[Y,X]
  173. 0->A
  174. S+10->S
  175. Else
  176.  
  177. If 10<R
  178. Then
  179. V->X
  180. W->Y
  181. P->Mat M[Y,X]
  182. Red Locate X,Y,P
  183. Else
  184. R->Mat M[Y,X]
  185. Red Locate X,Y,R
  186. IfEnd
  187.  
  188. IfEnd
  189.  
  190.  
  191.  
  192. Goto 5
  193.  
  194. Lbl 9
  195. ClrText
  196. Locate 3,3,"GAME CLEAR"
  197. Locate 3,4,"SCORE"
  198. Locate 3,5,S
  199. =end
  200. puts "casio basic language FX-CG50 グラフ電卓で動くスライドパズル"
  201.  
Success #stdin #stdout 0.01s 7952KB
stdin
Standard input is empty
stdout
casio basic language FX-CG50 グラフ電卓で動くスライドパズル