PRG:2048
動いている様子はコチラ
セツメイEXPLANATION
パズルゲーム 2048 のプチコン移植版。数字のタイルが次々に出てくるので、うまく移動させて大きい数字のタイルを作っていく。This is a port of puzzle game 2048. Control tiles with number and obtain larger number.
十字キーを押すと、画面内の全てのタイルがその方向に移動する。同じ数字のタイルがくっつくと、大きな数字のタイルに変化する。Bボタンでいつでもやり直し。All tiles move by cross-key. When two tiles with the same number touch, they merge into one. You can retry puzzle by B button.
QRコードQR CODE
プログラムコードPROGRAM CODE
表示 Show
B | ボタンの状態 |
C | タイルの種類(タイル画像生成時、移動処理時) |
C() | スプライト番号に対するタイルの種類 |
E,F | タイル移動処理用スプライト番号 |
F(,) | フィールドの状態 |
G$ | 数字タイル変化時のサウンド情報 |
I,J,K | 汎用ループカウンタ |
L | タイル画像生成時の数字の桁数 |
N | スコア |
P,Q | 移動処理を行うタイルの座標 |
S | 次に使用するスプライト番号 |
U | タイルの最大移動量 |
V,W | タイルの移動方向 |
X,Y | 汎用座標変数 |
Z | 汎用フラグ変数 |
01. ACLS:GBOX 23,0,214,191,23GPAGE 1FOR C=1TO 13GFILL 0,0,22,22,CЛ
02. Z=POW(2,C)L=(C-1-(C>12))/3OR 0X=8+L*3FOR I=0TO LЛ
03. GPUTCHR X,8,”BGF”,Z%10+48,0,1X=X-6Z=Z/10NEXTЛ
04. FOR I=0TO 3FOR J=0TO 3C$=””FOR K=0TO 63C$=C$+HEX$(GSPOIT(J*8+K%8,I*8+K/8))NEXTЛ
05. CHRSET”SPU”,C*16+I*4+J,C$NEXT:NEXT:NEXTЛ
06. @IЛ
07. CLEAR:SPCLR:CLS:?” ”*27;”SCOREЛ
08. DIM F(6,6),C(18)FOR I=0TO 5F(0,I)=1F(5,I)=1F(I,0)=1F(I,5)=1NEXTЛ
09. G$=” /Ф→<@%& +*)#”C(1)=-1BGMPLAY 27GOSUB@A:GOSUB@AЛ
10. @LЛ
11. B=BTRIG()IF B==32THEN@IЛ
12. V=(B==8)-(B==4)W=(B==2)-(B==1)IF!V*!W THEN@LЛ
13. P=(V-W>0)*3+1Q=(V+W>0)*3+1U=0FOR I=0TO 15F=F(P,Q)C=C(F)F(P,Q)=0X=P:Y=QЛ
14. @MЛ
15. X=X+V:Y=Y+W:E=F(X,Y)Z=C(E)IF!E THEN@M ELSE IF C==Z THEN C(F)=C+.5C(E)=0ELSE X=X-V:Y=Y-WЛ
16. IF F THEN Z=ABS(P+Q-X-Y)SPOFS F,X*48,Y*48-23,Z*4U=U+(Z>U)*(Z-U)F(X,Y)=FЛ
17. Z=I%4==3P=P-V+Z*(V*4+W)Q=Q-W+Z*(W*4-V)NEXT:IF!U THEN@LЛ
18. WAIT U*3FOR I=2TO 17C=C(I)IF!C THEN SPCLR IЛ
19. IF C%1THEN C=C+.5C(I)=C:N=N+POW(2,C)SPCHR I,C*4SPSCALE I,100SPSCALE I,200,8BEEP ASC(MID$(G$,C,1))Л
20. NEXT:GOSUB@AЛ
21. Z=0FOR I=1TO 4FOR J=1TO 4C=C(F(J,I))Z=Z+!C+(C==C(F(J+1,I)))+(C==C(F(J,I+1)))NEXT:NEXTЛ
22. IF!Z THEN BGMSTOP:BEEP 11Л
23. GOTO@LЛ
24. @AЛ
25. X=RND(4)+1Y=RND(4)+1IF C(F(X,Y))THEN@AЛ
26. @SЛ
27. S=S%17+1IF C(S)THEN@SЛ
28. C=!RND(16)+1C(S)=C:F(X,Y)=S:LOCATE 27,1?NЛ
29. SPSET S,C*4,0,0,0,1,32,32SPHOME S,12,12SPOFS S,X*48,Y*48-23SPSCALE S,0SPSCALE S,200,8WAIT 8RETURNЛ
※コードのHTML生成にPTC2HTMLを使用しています。
モドル BACK