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

2018/03/07 01:13:43

MixJuice GET URL : kidspod.club/mj/471

Gold Rush

『Gold Rush』は、金を採掘してお金を貯めるアクションゲームです。

【ルール】
主人公は金を採掘するために金鉱へやって来ました。
金鉱の奥の突き当り(右側)で金を採掘することができます。

金鉱には徐々に水が溜まって行きます。
溺れてしまう前に金鉱の出口にあるポンプ(左側)で排水して下さい。

金を $ 200 貯めればゲームクリアです。
主人公が溺れてしまうとゲームオーバーです。

【操作】
←→:主人公を移動させる

【更新履歴】
2018/03/07 初版公開
2018/03/07 水位が 0 の時に排水するとエラーとなる問題を修正

【ソースコード解説】
《変数》
X : 主人公の X 座標
G : Gold, 採掘した金の量
K : Key, キー入力値
S : String, 文字列
A : Address : アドレスの保持
L : Level, 水位(0 ~ 31)
W : Wait, 水位上昇のウェイト
I, J : Iterator, ループ変数
M, N : 一時変数(キャラクタ定義に利用)

《PCGパターン》
#E0 ~ #E3 : 主人公(右向き)
#E4 ~ #E7 : 主人公(左向き)
#E8 ~ #EB : 金鉱

#760 ~ : 主人公(右向き)の文字列
#76D ~ : 主人公(左向き)の文字列
#77A ~ : 金鉱の文字列

《コード》
5 : タイトル
10 : 初期化、「主人公(右向き)」のキャラクタ定義
12 : 「主人公(左向き)」と「金鉱」のキャラクタ定義
14 ~ 16 : 画面描画とゲーム開始時の初期化
20 : 水位上昇とゲームオーバー判定
30 : キー入力受付
40 : 主人公の移動
50 : 採掘の処理とゲームクリア判定
60 : 排水の処理
70 : 処理の繰り返し
80 : 採掘した金の量の表示
90 : 文字列 S の表示

  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

SOURCE CODE

5 'Gold Rush
10 CLS:CLV:POKE#700,61,110,247,74,73,65,38,40,92,94,223,223,157,224,155,167,177,222,95,94,94,94,62,78,68,68,68,72,72,120,126,127
12 FORI=0TO31:M=PEEK(#700+I):FORJ=0TO7:N=N<<1+M&1:M=M>>1:NEXT:POKE#720+I,N:NEXT:FORI=0TO63:POKE#740+I,0:NEXT:FORI=0TO2:FORJ=0TO3:POKE#760+I*13+J*3,#E0+I*4+J,31,28,0:NEXT:NEXT
14 LC0,1:?CHR$(#98,#91,#99);:FORI=2TO18:LC0,I:?CHR$(#92*(I<8),3,#92*(I<15)+2*(I>14));:NEXT
16 FORI=1TO31:LCI,19:?CHR$(3);:NEXT:FORI=15TO18:LC31,I:?CHR$(3);:NEXT:FORI=0TO12:COPY#946+I*32,#B66,26:NEXT:FORI=3TO30:LCI,15:?STR$(#77A);:NEXT:X=4:S=#760:GSB80:GSB90
20 W=W+1:IFW>40:W=0:FORI=0TO2:A=#71F+I*32-L:POKEA,~PEEK(A):NEXT:L=L+1:IFL>31:LC11,21:?"GAME OVER!":END
30 K=INKEY():IFK<28||K>29GOTO20
40 S=#77A:GSB90:X=X-(K=28)+(K=29):S=#760+13*(K=28):GSB90
50 IFX>29S=#77A:GSB90:G=G+1:GSB80:X=29:S=#760:GSB90:IFG>199LC13,21:?"CLEAR!":END
60 IFX<4S=#77A:GSB90:X=4:S=#76D:GSB90:IFL>0FORI=0TO2:FORJ=0TOL-1:A=#71F+I*32-J:POKEA,~PEEK(A):NEXT:NEXT:L=0
70 GOTO20
80 LC0,0:?"$";G;:RTN
90 LCX,15:?STR$(S);:RTN

COMMENT

Kidspod運営チーム
Kidspod運営チーム2018/03/26 09:30:41

お金を取るか命を取るかのせめぎあいですね。お金を取るスピードが早めなので、ついつい欲張ってしまいます。今回もドット絵がすごい!