プチコンまとめWiki (初代/mkII)

投稿プログラム : 迷路ゲーム

パンくずリスト

2013年2月20日投稿 / 投稿者 : shiro / タグ : 投稿プログラム ゲーム 迷路 QRコード mkII専用

概要

簡単な2次元迷路ゲームです。

遊び方

実行すると、下画面に迷路が表示されます。
左上にある青い点を、ペンでドラッグして右下のゴールまで運んでください。
途中で道を外れたり、ペンが画面から離れると、スタートまで戻されます。
ゴールに辿りついた後、画面をタップすると次の迷路が表示されます。

一言

穴掘り法の迷路作成を試したくて、1日で簡単に作りました。
ゲームはおまけです(^^)

スクリーンショット・動画

photo1.jpg
photo2.jpg

QR コード

プチコンmkII 向けの QR コードです。

PRG:MAZE
1/22/2
maze-qr0.pngmaze-qr1.png

プログラムリスト

  1. ’*** メイロ ***
  2. @START
  3. ’=== ショキ セッテイ ===
  4. CLEAR
  5. ACLS
  6. PNLTYPE ”OFF”
  7. DIM M(32,24),SX(500),SY(500)
  8. DIM DX(5),DY(5)
  9. DX(1)=0 :DY(1)=−1
  10. DX(2)=0 :DY(2)=1
  11. DX(3)=−1:DY(3)=0
  12. DX(4)=1 :DY(4)=0
  13. ’=== メイロ サクセイ(アナホリ ホウ) ===
  14. FOR Y=0 TO 22
  15. PNLSTR 0,Y,”■”*31
  16. NEXT Y
  17. ’−−− スタ−ト −−−
  18. X=29:Y=21
  19. PNLSTR X,Y,” ”
  20. M(X,Y)=1
  21. SP=0
  22. ’−−− アナホリ ル−フ゜ −−−
  23. @HORILOOP
  24. ’ホウコウ チェック
  25. CH=0
  26. FOR D=1 TO 4
  27. CX=X+DX(D)*2
  28. CY=Y+DY(D)*2
  29. IF CX<0 OR CX>30 THEN @CNEXT
  30. IF CY<0 OR CY>22 THEN @CNEXT
  31. IF M(CX,CY)==0 THEN CH=CH+POW(2,D−1)
  32. @CNEXT
  33. NEXT D
  34. ’イキト゛マリ ナラ スタック シュトク
  35. IF CH>0 THEN @DLOOP
  36. IF SP==0 THEN @HEND
  37. ST=RND(SP)+1
  38. X=SX(ST):Y=SY(ST)
  39. FOR S=ST+1 TO SP
  40. SX(S−1)=SX(S)
  41. SY(S−1)=SY(S)
  42. NEXT S
  43. SP=SP−1
  44. GOTO @HORILOOP
  45. ’アナホリ ホウコウ ケッテイ
  46. @DLOOP
  47. D=RND(4)+1
  48. IF (CH AND POW(2,D−1))==0 THEN @DLOOP
  49. ’アナホリ
  50. HX=X+DX(D)
  51. HY=Y+DY(D)
  52. M(HX,HY)=1
  53. PNLSTR HX,HY,” ”
  54. HX=HX+DX(D)
  55. HY=HY+DY(D)
  56. M(HX,HY)=1
  57. PNLSTR HX,HY,” ”
  58. ’ワカレミチ スタック
  59. CH=CH−POW(2,D−1)
  60. IF CH>0 THEN SP=SP+1:SX(SP)=X:SY(SP)=Y
  61. X=HX:Y=HY
  62. GOTO @HORILOOP
  63. ’−−− アナホリ シュウリョウ −−−
  64. @HEND
  65. PNLSTR 1,0,” ”
  66. M(1,0)=1
  67. PNLSTR 29,22,” ”
  68. M(29,22)=1
  69. ’=== ケ゛−ム スタ−ト ===
  70. BGMPLAY 4
  71. @GSTART
  72. GPAGE 1
  73. GCLS
  74. SX=12:SY=4
  75. GX=SX:GY=SY
  76. GCIRCLE GX,GY,1,6
  77. LOCATE 0,0
  78. PRINT ”ヒタ゛リウエノ アオイ ホ゜イントヲ”
  79. PRINT ”ヘ゜ンテ゛ ト゛ラック゛シテ”
  80. PRINT ”ミキ゛シタノ コ゛−ルマテ゛ ハコンテ゛ クタ゛サイ。”
  81. PRINT
  82. PRINT ”ミチヲ ハス゛レタリ”
  83. PRINT ”ヘ゜ンカ゛ ハナレルト”
  84. PRINT ”スタ−トニ モト゛サレマス。”
  85. @SLOOP
  86. TX=TCHX:TY=TCHY
  87. IF ABS(TX−SX)>4 OR ABS(TY−SY)>4 THEN @SLOOP
  88. LOCATE 0,0
  89. FOR I=1 TO 7
  90. PRINT ” ”*31
  91. NEXT I
  92. BGMPLAY 14
  93. ’−−− タッチ ル−フ゜ −−−
  94. @TCHLOOP
  95. IF TCHST==0 THEN BGMSTOP:BEEP 13:GOTO @GSTART
  96. TX=TCHX:TY=TCHY
  97. CX=FLOOR(TX/8)
  98. CY=FLOOR(TY/8)
  99. IF M(CX,CY)==0 THEN BGMSTOP:BEEP 13:GOTO @GSTART
  100. GX=TX:GY=TY
  101. GCIRCLE GX,GY,1,6
  102. IF CX==29 AND CY==22 THEN @GOAL ELSE @TCHLOOP
  103. ’=== コ゛−ル ===
  104. @GOAL
  105. BGMPLAY 5
  106. LOCATE 9,11
  107. PRINT ”★★★ GOAL ★★★”
  108. WAIT 200
  109. @TLOOP
  110. IF TCHST==0 THEN @TLOOP
  111. GOTO @START

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • shiro : 分かれ道スタックの処理にバグがあったので修正しました。できあがる迷路は実質変わらないようですが。 (2013/02/20 (水) 19:18:03)
  • Ittan : 穴堀式は公式投稿プログラム集にも似たものがありましたね。こっちは2マスずつ開けているのでカクカクが少ない感じがしますね。 (2013/02/20 (水) 21:51:11)
  • shiro : x座標・y座標が偶数の所に通路が来るようにしているので、確かに公式のプログラムより曲がりは少なくなります。あとは掘りながら分かれ道が作れるポイントをスタックしておいて、行き詰まったらそのスタックのポイントから分岐する所が相違点でしょうか。 (2013/02/21 (木) 00:41:39)
  • shiro : 実は中学生時代に雑誌で見て打ち込んだ、PC-8001用の迷路プログラムを思い出しながら作りました。PC-8001はグラフィック画面を印刷する機能が無く、プリンタのPC-PRコマンドを組み合わせて何とか迷路の印刷ルーチンを作ったものでした。 (2013/02/21 (木) 00:47:39)
  • shiro : ↑間違えました。通路は奇数座標ですね。 (2013/02/21 (木) 00:53:13)
  • 名無しさん : おおーすごい! (2013/02/21 (木) 18:40:44)
  • なーゆ : イライラ棒w (2013/02/23 (土) 15:12:23)
  • E.T : なんびょうでいけたかのひょうじきのうは簡単につけられる (2013/04/03 (水) 13:02:54)
  • 猫姫 : 事後で申し訳ありませんが、迷路作成ルーチンをゲーム製作に利用させていただきました。 (2013/04/24 (水) 05:06:53)
  • .EXE : 迷路作成システムを利用してもよろしいですか? (2013/04/30 (火) 11:53:42)
  • shiro : どうぞ (2013/04/30 (火) 18:39:32)
  • プチコンのキャラ : これは電撃イライラ棒?? (2013/05/30 (木) 16:47:22)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.026 秒 | このページの最終更新 : 2013/05/30 (木) 16:47:22 (2362d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30