Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2018/06/17 15:09:58

MixJuice GET URL : kidspod.club/mj/499

コイン集め

『コイン集め』はコインをひたすら集めるゲームです。
途中から出てくる『火』に触れるとゲームオーバー。

【操作】
←:プレイヤーが左に移動します。
→:プレイヤーが右に移動します。
スペースキー:プレイヤーがジャンプします。
←+スペースキー:プレイヤーが左にジャンプします。
→+スペースキー:プレイヤーが右にジャンプします。

【プログラム解説】
プログラムは3ファイル分を使います。
ファイル0: 10~330
ファイル1:400~440,900~999
ファイル2:500~860

主な内容
10~330:初期設定&オープニング
400~440:BGM
500~860:メインループ
   500~510:コイン動作
   520~570:ファイヤー動作
   600~720:プレイヤー動作
   800~860:当たり判定
900~999:ゲームオーバー

<変数>
F : 当たり判定値
G : 地上のY座標
I : ループ変数①
J : ループ変数②
K : キー入力
L : キー同時押し(#1002)
S : スコア
V : ジャンプ・カウント値
W : 斜めジャンプ用のX増減値
X : プレイヤーのX座標
Y : プレイヤーのY座標
Z : プレイヤーの向き
[0] : コインのX座標
[1] : コインのY座標
[2] : ファイヤー①のX座標
[3] : ファイヤー①のY座標
[4] : ファイヤー②のX座標
[5] : ファイヤー②のY座標

<SPRITE番号>
0~9 : 床
10,11 : スコア
12 : プレイヤー
13,14 : ファイヤー
15 : コイン

※下記のF=5がファイヤーとの当たり判定値です。
 ゲームが難しい場合は値を小さくすると難易度が下がります。
  800 FORI=0TO4STEP2:J=9:F=5:IFI=0F=6

【更新履歴】
20018/06/24 コイン&ファイヤーの表示と座標変更の順番を適正化
ジャンプ中にコインを取ると得点は2点に変更

SOURCE CODE

  1. 1 'Initialize
  2. 10 VIDEO0:CLV:WAIT150:?"PC RESET"
  3. 20 G=32:V=4:X=-8:Y=G:LET[0],36,-8,80,G,-8,16
  4. 30 ?"PC SPRITE USER FD 08 888222188882222288776068887666768887666888225AB88821AAB888877E88"
  5. 40 ?"PC SPRITE USER FE 08 88822218888222228877606888766676822766681825AA418EAAAAB888888878"
  6. 50 ?CHR$(128,4,6,#10):WAIT60
  7. 100 ?"PC MUSIC SCORE 00 01 30 >B>E~~~":WAIT60
  8. 110 FORI=0TO9:FORJ=45TO40STEP-1
  9. 120 ?CHR$(128,6,8,I,I*8,J)
  10. 130 ?CHR$(128,5,7,I,#5D)
  11. 140 WAIT3:NEXT:NEXT
  12. 150 ?"PC MUSIC SCORE 00 00 30 <DDRDRDDR>BRRR<GRRR"
  13. 160 ?"PC MUSIC SCORE 01 00 30 F+F+RF+RF+F+RGRRRGRRR"
  14. 170 ?"PC MUSIC SCORE 02 00 30 >EERERCERGRRRRRRR"
  15. 180 WAIT20:?CHR$(128,4,12,1):WAIT5
  16. 190 FORI=1TO8:X=X+4
  17. 200 ?CHR$(128,6,8,12,X,Y)
  18. 210 ?CHR$(128,5,7,12,#FD+I%2):WAIT12:NEXT:CLK
  19. 220 ?CHR$(128,6,8,15,[0],[1])
  20. 230 ?CHR$(128,5,7,15,53)
  21. 240 ?CHR$(128,6,8,13,[2],[3])
  22. 250 ?CHR$(128,5,7,13,64)
  23. 260 ?CHR$(128,6,8,14,[4],[5])
  24. 270 ?CHR$(128,5,7,14,64)
  25. 280 WAIT40
  26. 290 ?CHR$(128,6,8,11,72,0)
  27. 300 ?CHR$(128,5,7,11,166)
  28. 310 ?CHR$(128,6,8,10,64,0)
  29. 320 ?CHR$(128,5,7,10,166)
  30. 330 LRUN1
  31.  
  32. 2 'sub
  33. 400 ?"PC MUSIC SCORE 00 00 50 $<C>C<<A>A<A+>A+RRR<C>C<<A>A<A+>A+RRR<F>F<D>D<D+>D+RRR<F>F<D>D<D+>D+RRR"
  34. 410 ?"PC MUSIC SCORE 01 00 50 $C>C<<A>A<A+>A+RRRC>C<<A>A<A+>A+RRR<F>F<D>D<D+>D+RRR<F>F<D>D<D+>D+RRR"
  35. 420 ?"PC MUSIC SCORE 02 00 30 R"
  36. 430 ?CHR$(128,4,12,1)
  37. 440 LRUN2
  38. 900 ?CHR$(128,4,12,0)
  39. 910 ?"PC MUSIC SCORE 00 00 30 <GRRGGAB>CR<GRCRRR"
  40. 920 ?"PC MUSIC SCORE 01 00 30 G>DRDDC<BGERECRRR"
  41. 930 ?"PC MUSIC SCORE 02 00 30 B>FRFFEDCRRRRRR"
  42. 940 ?CHR$(128,4,12,1)
  43. 950 FORI=1TO10
  44. 960 ?CHR$(128,6,8,12,X,Y-I):NEXT
  45. 970 WAIT20:?CHR$(128,5,16,12,!Z):WAIT20
  46. 980 FORI=Y-10TO45
  47. 990 ?CHR$(128,6,8,12,X,I):NEXT
  48. 999 WAIT200:LRUN0
  49.  
  50. 3 'main
  51. 500 [1]=[1]+1:IF[1]>G[1]=0
  52. 510 ?CHR$(128,6,8,15,[0],[1])
  53. 520 IFS<10GOTO600
  54. 530 [2]=[2]-2:IF[2]<-8[2]=80
  55. 540 ?CHR$(128,6,8,13,[2],[3])
  56. 550 IFS<15GOTO600
  57. 560 [4]=[4]+3:IF[4]>80[4]=-8:[5]=G-8-RND(16)
  58. 570 ?CHR$(128,6,8,14,[4],[5])
  59. 600 K=INKEY():L=PEEK(#1002)
  60. 610 IF (K=0)|(Y!=G)GOTO700
  61. 620 IF K=28 X=X-4:Z=1
  62. 630 IF K=29 X=X+4:Z=0
  63. 640 IF K=32 V=-3:W=0
  64. 650 IF L=17 W=-2
  65. 660 IF L=18 W=2
  66. 670 ?CHR$(128,5,16,12,Z)
  67. 680 ?CHR$(128,5,7,12,#FE)
  68. 700 IF V<4 Y=Y+3*V:V=V+1:X=X+W:WAIT4 ELSE ?CHR$(128,5,7,12,#FD)
  69. 710 IFX<0X=0:CLK
  70. 715 IFX>72X=72:CLK
  71. 720 ?CHR$(128,6,8,12,X,Y)
  72. 800 FORI=0TO4STEP2:J=9:F=5:IFI=0F=6
  73. 810 IF([I]>X-F)*([I]<X+F)*([I+1]>Y-F)*([I+1]<Y+F)J=I
  74. 820 IFJ!=0GOTO840
  75. 830 [0]=8+RND(56):[1]=0
  76. 831 ?"PC MUSIC SCORE 02 01 30 >B>E~~~":S=S+1:IFY<30S=S+1
  77. 832 ?CHR$(128,5,7,10,166+S/10)
  78. 833 ?CHR$(128,5,7,11,166+S%10)
  79. 840 IF(J=2)+(J=4) LRUN1,900
  80. 850 NEXT
  81. 860 WAIT2:GOTO500

COMMENT

Kidspod運営チーム
Kidspod運営チーム2018/06/29 19:05:59

すごい! 音楽もグラフィックも、見事なまでに世界一有名なゲームですね。起動させたとき、思わずうなってしまいました。大作です!

S