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

2020/06/18 23:15:59

MixJuice GET URL : kidspod.club/mj/975

こるむんす

言わずと知れた落ちモノパズルゲームです。
フィールド上部から、3つ一組の石が落ちてきます。
カーソルキー左右で移動、下で高速落下、スペースキーで石の並びを変えられます。

石を設置した際、同じ種類の石が縦・横・斜めに3つ以上並ぶと、それらは消滅します。
石が消滅することで他の石が落下し、その結果新たに石が 3つ以上並ぶと、それらも消滅します。(いわゆる連鎖消し)
フィールド内に石が積み上がり、中央の一番上が詰まってしまうとゲームオーバーです。

ゲーム開始時は石は4種類ですが、レベル10以降は5種類、レベル20以降は6種類になります。
オリジナルにある、いわゆる「魔宝石」は出てきません。
フィールド上部で画面外にはみ出て設置した石は消えてしまいます。

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

SOURCE CODE

NEW

1 '### "COLUMNS" DATA ###
2 Z=#C03:Y=#700:U=0
3 X=0:IF PEEK(Z)!=39 GOTO 9
4 X=X-1:W=PEEK(Z-X)
5 W=W-41-W/32*6:IF W<0 GOTO 8
6 V=V<<6+W:POKE Y,V>>(X*2&7)
7 Y=Y+(X&3<3):U=U^W:GOTO 4
8 IF U LIST PEEK(Z-3):END
9 Z=Z+PEEK(Z-1)+4:W=PEEK(Z-3)
10 IF W GOTO 3 ELSE LRUN 1
11 'Tf9WF3Ec3/0szDfuybMw/0/kV
12 'K9nGcbk/T79OifuCT/2yZctIq
13 'XdPy/0UoIdvmN0U/X1A/7D1pf
14 '5k58gAgM/dAlGwcM/dgMQ/3nF
15 'Yo:voE/Y/NE17U/ZcY8hEOASK
16 'KlaQFd/X5k6D55B5Y2AP/ScMh
17 'WVU/YdkW3U595/KG7oeP54gNh
18 '08BXFU9OKo72YkGPylc5Yk3XV
19 'zZkU:WHEu0U6Y/1Mk4mkEVvFi
20 'LVg6ZUOSxZm5EVXF/GOSE00sB
21 'A3A08V0ku0W5E50534kkEqN5e
22 'Y4I08ZUPVY/2a00QA3A2bd0J1
23 '/NU0A/1m/N/0AkUfpB3/al/rr
24 '32A/YkKP/H9TEgXF/HE3:9bFe
25 '/NU8gD1xk3PA1////DTzzt/X6
26 'w:I5//3b/1/P/QkME2jB5/3nf
27 'znD85/3W9rUHEHh1/h/0A9NIj
28 '/:70AUUexR3EB/3pcI:koT1xz
29 '2oiO7gYM/GA/78l5w:IG/FE/2
30 'mlwEB0ts71s5o8oO:poU:k:FC
31 'M3MTQ1tJ/HC:Ej:F32gN/7wXz
32 '32cP/Nd1uB6kjOU8///O

SAVE 0

NEW

10 '### "COLUMNS" MAIN ###
20 CLS:VIDEO 3:FOR Y=0 TO 11
30 LC 0,Y:?"]       [";:NEXT
40 H=#8BA:L=0:N=0:Q=0:GSB@N
50 @K:K=1:LC 9,5:?"LV:";L:GSB@N
60 X=10:Y=2:A=H+3:U=0:GSB@J
70 BEEP 40-!N*30:X=4:Y=0:S=0
80 Z=L-M*10:T=60/(Z%5+Z/5+2)-5
90 @L:B=INKEY():IF B=31 T=-14
100 U=U+(B=32):V=(B=29)-(B=28)
110 IF SCR(X+V,Y)!=32 V=0
120 S=S+1:W=S>T&&Y<11
130 IF SCR(X+V,Y+W)!=32 W=0
140 IF V A="   ":GSB@J:X=X+V
150 Y=Y+W:A=H:GSB@J:S=S*!W
160 IF !V&&W LC X,Y-3:?" "
170 WAIT 1:IF S<T+15 GOTO@L
180 @M:IF !USR(#730) GOTO@S
190 LC 12,1:?K:FOR I=1 TO 5
200 Z=USR(#80C,I+(I=5)*27)
210 BEEP 30-K*3-I:WAIT 5:NEXT
220 K=K+1:Q=Q+Z:LC 9,7:?"(#E0):";Q
230 @F:IF !USR(#844) GOTO@M
240 WAIT 5:GOTO@F
250 @J:FOR I=0 TO 2:Z=Y-I
260 LC X,Z:?STR$(A+(I+U)%3,1);
270 NEXT:RTN
280 @N:M=(L>9)+(L>19):Z=4+M
290 COPY H,H+3,3:FOR I=3 TO 5
300 POKE H+I,RND(Z)+224:NEXT
310 RTN
320 @S:N=(N+1)%10:L=L+!N
330 WAIT 20:LC 12,1:?"  "
340 CLK:IF SCR(4,0)=32 GOTO@K
350 LC 0,6:?"GAME OVER":LC 0,11
360 PLAY"O4L16BFAEGDFC4"
370 @Z:IF !INKEY() GOTO @Z

SAVE 1

LRUN 0

COMMENT

Kidspod運営チーム
Kidspod運営チーム2020/06/22 10:02:16

これはまた、見事な出来栄えですね……。落ち物パズルとしてシンプルに面白いですし、消したときのアニメーションには驚きました。おかげで連鎖したり、まとめて消したりしたときがすごく気持ちいいです。