PRG:PNTMN
セツメイEXPLANATION
「ペントミノ」と呼ばれるパズルゲーム。5つの正方形から構成される12ピースを、10×6マスの枠の中に収める。This is a puzzle game called "Pentomino". There are 12 different pieces, and each piece consists of 5 squares. You must place all of them into 10×6 box.
十字ボタンで移動、ABボタンで回転、XYボタンで反転、LRボタンで操作するピースを変更、スタートボタンで初期状態に戻す。A piece is moved by cross-key, rotated by A/B button, flipped by X/Y button. You can change a piece to control by L/R button. The game is reset by start button.
パズルが完成しても、枠の色が赤くなるだけで、他には何も起きず。If you complete the puzzle, frame color of box becomes red.
QRコードQR CODE
プログラムコードPROGRAM CODE
表示 Show
B | ボタンの状態 |
C$ | ピース描画の文字 |
G$ | 枠の状態 |
I,J | 汎用ループカウンタ |
P | 操作中のピース |
P$() | 各ピースのパターン情報 |
R | 回転・反転状態処理用 |
R() | 各ピースの回転・反転状態 |
T,U,V,W | ピース描画座標算出用 |
X,Y | ピース描画座標 |
X(),Y() | 各ピースの中心座標 |
01. CLEARЛ
02. DIM P$(12),X(12),Y(12),R(12)FOR I=0TO 11READ P$(I)Л
03. BREPEAT I%4,20,3NEXTЛ
04. @IЛ
05. FOR I=0TO 11X(I)=I%6*4+6Y(I)=(I>5)*12+6R(I)=0NEXTЛ
06. G$=” ”*60ACLS?” ПMove АБRotate ФХFlip КнPieceЛ
07. @LЛ
08. C$=”╂”FOR I=0TO 11COLOR I+2GOSUB@D:NEXTЛ
09. C$=”┿”I=P:COLOR 0GOSUB@DЛ
10. GBOX 86,70,169,121,15-(INSTR(G$,” ”)<0)*13Л
11. @BЛ
12. B=BUTTON(1)VSYNC 1IF!B THEN@BЛ
13. C$=” ”GOSUB@DЛ
14. IF B AND 768THEN P=(P+1+(B<512)*10)%12BEEP 23GOTO@LЛ
15. X(P)=X(P)-((B/4AND 3)%3+1)%3+1Y(P)=Y(P)-(B%4+1)%3+1Л
16. R=R(P)B=B/16OR 0R=(R+B%4+(B%4>1))%4+(4AND R)Л
17. IF B AND 4THEN R=(R+4)%8XOR!(R%2)*2Л
18. IF B AND 8THEN R=(8-R)%8XOR!(R%4)*4Л
19. IF R!=R(P)THEN BEEP 9R(P)=RЛ
20. IF B<64THEN@LЛ
21. GOTO@IЛ
22. @DЛ
23. R=R(I)%4T=ABS(R-2)-1U=ABS(R-1)-1Л
24. FOR J=0TO 4A=ASC(MID$(P$(I),J,1))-65V=A%4-2W=(A/4OR 0)-2IF R(I)>3THEN V=-VЛ
25. X=T*V+U*W+X(I)Y=T*W-U*V+Y(I)IF X>0AND X<31AND Y>0AND Y<23THEN LOCATE X,Y?C$Л
26. IF X>10AND X<21AND Y>8AND Y<15THEN G$=SUBST$(G$,X*6+Y-75,1,C$)Л
27. NEXT:RETURNЛ
28. DATA FGKNO,FGJKO,FGKLP,FGHLP,CGJKO,CGJKN,GJKLO,FGKLO,FGHKO,FGKOP,CGKOP,CGKOSЛ
※コードのHTML生成にPTC2HTMLを使用しています。
モドル BACK