PRG:PYQ
動いている様子はコチラ
セツメイEXPLANATION
画面内に「ぷよ」がならんでいます。まずはタッチ操作によりぷよを最大5個まで消します。There are PUYOs in the screen. You can remove them by touching, within 5 at once.
その後、上にあるぷよが空いたスペースに落ちてきて、同じ色のぷよが縦横4つ以上繋がると消えます。そしてまたぷよが落ちて繋がれば連鎖になります。The PUYOs above those that are removed fall onto others. When four or more PUYOs of the same color form together to create a group, they disappear.
いくらぷよを消しても何も起きず、延々とパズルが続きます。ゲームクリアもゲームオーバーもありません。This game continues eternally. So, no game clear and no game over.
QRコードQR CODE
プログラムコードPROGRAM CODE
表示 Show
A | アニメーションあり/なし(初期配置中) |
C | 新規に発生させるぷよの種類 |
C() | スプライト番号に対するぷよの種類 |
D | 消去したぷよの数 |
D(,) | 消去判定用 |
E | 連鎖数 |
F | 各種処理における、注目しているぷよのスプライト番号 |
F(,) | フィールドの状態(スプライト番号) |
H | 画面外からの落下位置 |
I,J,K | 汎用ループカウンタ |
L | 繋がっているぷよの数 |
P,Q | 以前タッチしていたぷよの位置 |
S | 新規に発生させるぷよのスプライト番号 |
T | タッチ状態 |
W | 落下アニメーション待ち時間 |
X,Y | 現在タッチしているぷよの位置、消去判定中のぷよの位置 |
X(),Y() | 繋がっているぷよの位置 |
Z | 汎用変数 |
01. ACLS:CLEAR:SPPAGE 1DIM F(8,6),D(8,6),X(48),Y(48),C(50)Л
02. @IЛ
03. GOSUB@N:IF W THEN GOSUB@D:GOSUB@F:GOTO@IЛ
04. A=1PNLTYPE”OFFЛ
05. @WЛ
06. X=TCHX/32Y=TCHY/32F=F(X,Y)Z=(ABS(P+.5-X)<.7)*(ABS(Q+.5-Y)<.7)T=TCHSTЛ
07. IF!Z*T*C(F)*(D<5)THEN BEEP 9SPANIM F,2,1C(F)=0D=D+1P=X OR 0Q=Y OR 0Л
08. VSYNC 1IF!D+T THEN@WЛ
09. CLS:E=0GOSUB@FЛ
10. @EЛ
11. GOSUB@D:IF D THEN E=E+1BEEP 37,E*256?E;”レンサ ”;D;”フ゜ヨ”:WAIT 30GOSUB@F:GOTO@EЛ
12. GOSUB@N:ON!W GOTO@E,@WЛ
13. @DЛ
14. D=0FOR I=0TO 5FOR J=0TO 7D(J,I)=0NEXT:NEXTЛ
15. FOR I=0TO 5FOR J=0TO 7F=F(J,I)L=0IF F THEN C=C(F)X=J:Y=I:GOSUB@LЛ
16. IF L>3THEN D=D+L:FOR K=0TO L-1X=X(K)Y=Y(K)F=F(X,Y)C(F)=0SPANIM F,2,1NEXTЛ
17. NEXT:NEXT:RETURNЛ
18. @LЛ
19. IF X<0OR X>7OR Y<0OR Y>5THEN RETURNЛ
20. IF!F(X,Y)THEN RETURNЛ
21. IF D(X,Y)OR C!=C(F(X,Y))THEN RETURNЛ
22. D(X,Y)=1X(L)=X:Y(L)=Y:L=L+1Л
23. X=X+1GOSUB@LЛ
24. X=X-2GOSUB@LЛ
25. X=X+1Y=Y+1GOSUB@LЛ
26. Y=Y-2GOSUB@LЛ
27. Y=Y+1RETURNЛ
28. @FЛ
29. W=-1FOR J=0TO 7H=6FOR I=5TO 0STEP -1Л
30. F=F(J,I)IF!C(F)THEN SPCLR F:F(J,I)=0F=0Л
31. IF F THEN H=H-1SWAP F(J,I),F(J,H)Z=H-I:SPOFS F,J*32,H*32,A*Z*4IF W<Z THEN W=ZЛ
32. NEXT:NEXT:WAIT A*W*4RETURNЛ
33. @NЛ
34. P=9W=0FOR J=0TO 7X=J*32H=0FOR I=5TO 0STEP -1Л
35. ON F(J,I)GOSUB@S:NEXT:IF W<H THEN W=HЛ
36. NEXT:WAIT A*W*4RETURNЛ
37. @SЛ
38. S=S%48+1IF C(S)THEN@SЛ
39. F(J,I)=S:H=H+1C=RND(5)+3C(S)=CЛ
40. SPSET S,C*8,C,0,0,3,32,32SPOFS S,X,-H*32SPOFS S,X,I*32,A*(H+I)*4RETURNЛ
※コードのHTML生成にPTC2HTMLを使用しています。
SPS | |
モドル BACK