PRG:THREES
セツメイEXPLANATION
パズルゲーム Threes! のプチコン移植版。数字のタイルが次々に出てくるので、うまく移動させて大きい数字のタイルを作っていく。This is a port of puzzle game Threes!. Control tiles with number and obtain larger number.
1と2が重なると3のタイルになり、3以上は同じ数字が重なると大きな数字のタイルになる。"1" and "2" merge to become a "3", two "3"s merge into "6", two "6"s merge into "12"...
十字キーを押すと、画面内の全てのタイルがその方向に移動し、画面右上に表示されているタイルが追加される。Bボタンでいつでもやり直し。All tiles move by D-pad, and a new tile displayed at top-right of screen is added. You can retry by B button.
QRコードQR CODE
プログラムコードPROGRAM CODE
表示 Show
B | ボタンの状態 |
C | タイルの種類(タイル画像生成時、移動処理時、タイル合成時) |
C() | スプライト番号に対するタイルの種類 |
C$ | タイル画像パターン |
D | タイル枚数の調整用 |
E,F | タイル移動処理用スプライト番号 |
F(,) | フィールドの状態 |
I,J,K | 汎用ループカウンタ |
L | タイル画像生成時の数字の桁数 |
M | ゲーム開始からのタイル発生枚数 |
N | スコア |
P,Q | 移動処理を行うタイルの移動先座標 |
S | 次に使用するスプライト番号 |
T | 次に発生させるタイルの種類 |
U | もう動かせないか、タイルが移動したか 判定用 |
V,W | タイルの移動方向 |
X,Y | 移動処理を行うタイルの座標 |
Z | 汎用変数 |
01. ACLS:GCLS 15GFILL 23,0,214,191,104COLOR 1GPAGE 1FOR C=1TO 14GFILL 0,0,22,22,15-CЛ
02. Z=POW(2,C-3)*3+.5L=(C-1+(C>11))/4OR 0FOR I=0TO LЛ
03. GPUTCHR 8+L*3-I*6,8,”BGF”,Z%10+48,0,1Z=Z/10NEXTЛ
04. FOR I=0TO 3FOR J=0TO 3C$=””FOR K=0TO 63G=GSPOIT(J*8+K%8,I*8+K/8)C$=C$+HEX$(G-(G>14)*(C>2))NEXTЛ
05. CHRSET”SPU”,C*16+I*4+J,C$NEXT:NEXT:NEXTЛ
06. @IЛ
07. CLEAR:CLS:SPCLRЛ
08. DIM F(6,6),C(18)FOR I=0TO 5F(0,I)=1F(5,I)=1F(I,0)=1F(I,5)=1NEXTЛ
09. SPSET 0,4,0,0,0,3,32,32SPOFS 0,224,16C(1)=-1T=RND(3)+1Л
10. @AЛ
11. X=!V*RND(4)+(V<0)*3+1Y=!W*RND(4)+(W<0)*3+1IF C(F(X,Y))THEN@AЛ
12. @SЛ
13. S=S%17+1IF C(S)THEN@SЛ
14. D=D-(T+1)%3+1C(S)=T:F(X,Y)=SЛ
15. SPSET S,T*4,0,0,0,3,32,32SPHOME S,12,12SPOFS S,(X-V)*48,(Y-W)*48-23SPOFS S,X*48,Y*48-23,8Л
16. SPSCALE S,200T=RND(3)+1IF D*(1-(T+1)%3)>1THEN T=3-TЛ
17. M=M+1IF M<8THEN@AЛ
18. N=0FOR I=2TO 17C=C(I)IF!C THEN SPCLR IЛ
19. IF C%1THEN C=C+.5C(I)=C:SPCHR I,C*4SPSCALE I,100SPSCALE I,200,8BEEP 16,C*585Л
20. N=N+POW(3,C-2)*(C>2)NEXTЛ
21. SPCHR 0,T*4WAIT 8U=0FOR I=1TO 4FOR J=1TO 4C=C(F(J,I))Z=C XOR(C<3)*3Л
22. U=U+!C+(Z==C(F(J+1,I)))+(Z==C(F(J,I+1)))NEXT:NEXTЛ
23. IF!U THEN BEEP 11?” ”*27;NЛ
24. @LЛ
25. B=BTRIG()IF B==32THEN@IЛ
26. V=(B==8)-(B==4)W=(B==2)-(B==1)IF!V*!W THEN@LЛ
27. X=(V-W>0)*3+1Y=(V+W>0)*3+1U=0FOR I=0TO 15F=F(X,Y)C=C(F)P=X+V:Q=Y+WЛ
28. E=F(P,Q)Z=C(E)XOR(C(E)<3)*3Л
29. IF E THEN IF C==Z THEN C(F)=C+(C<2)+.5C(E)=0ELSE F=0Л
30. IF F THEN F(X,Y)=0F(P,Q)=F:SPOFS F,P*48,Q*48-23,4U=1Л
31. Z=I%4==3X=X-V+Z*(V*4+W)Y=Y-W+Z*(W*4-V)NEXTЛ
32. WAIT U*4ON U GOTO @L,@AЛ
※コードのHTML生成にPTC2HTMLを使用しています。
モドル BACK