秘宝の谷 by たけぽん

再生

 どこか懐かしいアクションゲーム。落下しながら黄色のダイヤを探そう!
 十字ボタン左右で移動。岩に乗り上げてしまうと、どんどん上に流されて押しつぶされる危機だ。リンゴを取れば位置が下がるので、少しずつでも距離をかせいでおこう。
 ダイヤを取ればステージクリア。どんどん高速になっていく降下についていけるかな?

私が作りました

たけぽん

PC-8001まだ持ってます。


 CHECK POiNT 

神崎
こっちは1画面プログラムを4画面ならべた「4画面プログラム」だね。

ワンパク
横画面にハミ出さないようにプログラムするのもタイヘンなんだぜ、ガッデム! 男だったらハミ出してみろや!

博士
いや、それもどうじゃろう。
このゲームは下方向にスクロールしていくわけじゃが、簡単に言えばどんどん最上段を消しながら最下段を追加し続けているということじゃな。

インテリ
コンソール画面は最下段に1行書き足すと自動的に1行繰り上がるから、こういうスクロールには相性がいいんだね。

博士
かつてのBASICでも基本じゃったのう。逆に上に昇っていく「逆スクロール」は鬼門じゃった……時代を感じるわい。

プログラムリスト

  1. ’ヒホウノタニ
  2. CLS:CLEAR:VISIBLE 1,1,0,0,0,0
  3. @HAJIME
  4. SC=0:RO=1
  5. @START
  6. CLS:COLOR 15:LOCATE 12,5
  7. PRINT ”LEVEL”;RO:BGMSTOP
  8. LOCATE 12,9:PRINT ”READY!”
  9. COLOR 13:X=15:Y=15:DE=0
  10. WT=8001-RO*1000
  11. IF WT<1 THEN WT=1
  12. FOR K=0 TO 22
  13. LOCATE 0,K:PRINT ”┷”;
  14. LOCATE 31,K:PRINT ”┷”;:NEXT
  15. FOR K=0 TO 50000:NEXT
  16. BGMPLAY 14
  17. @MAIN
  18. X1=0:Y1=0:KI=BUTTON()
  19. IF KI AND 4 THEN X1=-1
  20. IF KI AND 8 THEN X1=1
  21. IF X<2 AND X1==-1 THEN X1=0
  22. IF X>29 AND X1==1 THEN X1=0
  23. HT=CHKCHR(X+X1,Y+1)
  24. H2=CHKCHR(X+X1,Y):K=RND(27)
  25. COLOR 8:LOCATE K,23
  26. PRINT ”┷┷┷┷┷”;:COLOR 13
  27. LOCATE 0,23:PRINT ”┷”;
  28. LOCATE X,Y:PRINT ” ”;
  29. LOCATE 31,23:PRINT ”┷”;
  30. DE=DE+1:K=10+RO*20
  31. IF DE>K THEN GOSUB @HIHOU
  32. K=RND(RO*7+8)
  33. IF K<3 THEN GOSUB @DRAWAPP
  34. IF HT==143 THEN Y1=-1
  35. IF H2==143 THEN X1=0
  36. X=X+X1:Y=Y+Y1
  37. IF HT==233 THEN GOSUB @APPLE
  38. IF Y<1 GOTO @OVER
  39. COLOR 15:LOCATE X,Y:PRINT ”г”
  40. IF HT==242 GOTO @TAKARA
  41. IF H2==242 GOTO @TAKARA
  42. SC=SC+1:COLOR 15:LOCATE 1,0
  43. PRINT ”SCORE ”;SC
  44. FOR K=0 TO WT:NEXT
  45. GOTO @MAIN
  46. @DRAWAPP
  47. COLOR 12:K=RND(30)+1
  48. LOCATE K,22:PRINT ”Ш”;
  49. RETURN
  50. @HIHOU
  51. COLOR 3:LOCATE RND(30)+1,22
  52. PRINT ”б”;:DE=DE-30:RETURN
  53. @TAKARA
  54. K=X-1:IF K<1 THEN K=1
  55. J=Y-2:IF J<0 THEN J=0
  56. COLOR 9:LOCATE K,J
  57. PRINT ”ヤッタ-”;:LOCATE K,J+1
  58. PRINT ”\ /”;:SC=SC+1000
  59. RO=RO+1:BGMPLAY 4
  60. FOR K=0 TO 40000:NEXT
  61. GOTO @START
  62. @APPLE
  63. FOR K=0 TO 100:COLOR RND(15)
  64. LOCATE X,Y:PRINT ”г”;
  65. FOR J=0 TO 100:NEXT
  66. NEXT:BEEP 12,2250,90,0
  67. SC=SC+50
  68. LOCATE X,Y:PRINT ” ”;
  69. Y=Y+1:IF Y>20 THEN Y=20
  70. RETURN
  71. @OVER
  72. BGMPLAY 3
  73. FOR K=0 TO 100:COLOR RND(15)
  74. LOCATE X,0:PRINT ”м”;
  75. FOR J=0 TO 500:NEXT
  76. NEXT:BGMPLAY 15:COLOR 15
  77. LOCATE 11,6:PRINT ”GAME OVER”
  78. LOCATE 12,8:PRINT ”LEVEL ”;RO
  79. LOCATE 11,11:PRINT”SCORE ”;SC
  80. LOCATE 10,17
  81. PRINT ”HIT A BUTTON”;
  82. @ABUTTON
  83. K=BUTTON()
  84. IF K AND 16 THEN @HAJIME
  85. IF K AND 1024 THEN @BGSTOP
  86. GOTO @ABUTTON
  87. @BGSTOP
  88. BGMSTOP:END