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

2017/08/24 18:06:58

MixJuice GET URL : kidspod.club/mj/240

Mine

# ゲーム説明

音だけを頼りに、地雷・ゴールの位置を推測して、「地雷を踏まないように、ゴールを目指す」ゲームです。
(よくわからない場合は、下の動画を見ていただけると...)

キャラクターは、アローキーに対応して動きます。

サムネイルは、デバッグ表示で、地雷を"*", ゴールをいちごで出力させたものです。


# 動画リンク

*地雷とゲームオーバーの挙動(デバッグ表示)
https://vimeo.com/226283414

*ゴールとゲームクリアの挙動(デバッグ表示)
https://vimeo.com/226282514

*実際のプレイ動画
https://vimeo.com/226282754

  • 1
  • 1

SOURCE CODE

010 REM MINE
100 CLV:CLS
110 X=15:Y=11
120 FOR I=0 TO 22
130  LC 0,I:? CHR$(01): LC 30,I:? CHR$(01)
140 NEXT
150 FOR I=0 TO 30
160  LC I,0:? CHR$(01): LC I,22:? CHR$(01)
170 NEXT
180 Q=RND(27)+2: R=RND(19)+2
190 IF (X==Q)OR(Y==R) GOTO 180
191 REM LC Q,R:? CHR$(#FF)
200 FOR I=1 TO 5
210  [2*I-1]=RND(27)+2: [2*I]=RND(19)+2
220  IF (X==[2*I-1])OR(Y==[2*I]) GOTO 210
230  REM LC [2*I-1],[2*I]: ? "*"
240 NEXT
250 LC X,Y:? CHR$(#ED)
260 A=X:B=Y
270 IF BTN(LEFT)  X=X-1
280 IF BTN(RIGHT) X=X+1
290 IF BTN(UP)    Y=Y-1
300 IF BTN(DOWN)  Y=Y+1
310 IF BTN(SPACE) GOTO 999
320 IF X<2 X=2
330 IF X>28 X=28
340 IF Y<2 Y=2
350 IF Y>20 Y=20
360 IF (X==Q)AND(Y==R) THEN GOTO 990
370 FOR Z=1 TO 5
380  S=[2*Z-1]: T=[2*Z]
390  IF (X==S)AND(Y==T) THEN GOTO 995
400  IF(((S-1<=X)AND(X<=S+1))AND((T-1<=Y)AND(Y<=T+1))) THEN PLAY "O2E32R32E32"
410 NEXT
420  IF(((Q-1<=X)AND(X<=Q+1))AND((R-1<=Y)AND(Y<=R+1))) THEN PLAY "O5C16R16C32R32C32"
430 LC A,B:? " "
440 GOTO 250
990 PLAY "O4G16R16B32R32O5C32R32": GOTO 999
995 PLAY "O4G8B-16C16": GOTO 999
999 CLS:END

COMMENT

Kidspod運営チーム
Kidspod運営チーム2017/08/29 12:54:02

ところでIchigoJamのver1.2.3で実行すると、400行目と420行目でComplex expressionエラーが起きてしまいます。これは()の入れ子が深くなりすぎたために起きるエラーです。一番外の()は不要なので、これを取ると動くようになります。他にも、比較演算子の評価値を別の変数に入れておくとか、ABSコマンドを使うなどの改良方法もあります(可読性を考えるならこちらの改良が良いでし

Kidspod運営チーム
Kidspod運営チーム2017/08/29 12:53:55

音だけをヒントにゴールを目指すシステムが面白いですね。一歩一歩に緊張感があって楽しい!