PRG:ISHIDO
セツメイEXPLANATION
6色6種類それぞれ2個ずつの計72個の石を、12×8マスの盤面にルールに基づいて置いていくパズルゲーム。This is a puzzle game. You must put 72 stones (twice of 6 colors and 6 symbols) onto 12-8 grid board according to the rule.
次に置くべき石が画面右上に表示されているので、十字ボタンでカーソルを操作し、Aボタンで石を置く。Bボタンでいつでもゲームをやり直せる。The stone to be put is shown at right-upper of screen. Move the cursor by cross-key. Put a stone by A button. You can retry game by B button any time.
石は必ず別の石の隣に置く。その際、辺を接する石が必ず同じ色か同じ種類でなければならない。1辺で接する場合は10点加算。You can only put a stone next to another one, diagonals don't count. And neighbors must match either by color or by symbol. You get 10 points if you put a stone next to one stone.
2辺で接する場所に置く場合は、少なくとも1つは同じ色、少なくとも1つは同じ種類でなければならない。40点加算。
※一番右の例では2つとも同じ種類なのだが、片方は同じ色でもあるので条件を満たす事になる。If you put a stone next to two or three stones, it must match at least one by color and at least one by symbol. You get 40 points if you put a stone next to two stones.
3辺で接する場所に置く場合も、少なくとも1つは同じ色、少なくとも1つは同じ種類でなければならない。90点加算。You get 90 points if you put a stone next to three stones.
4辺で接する場所に置く場合は、少なくとも2つは同じ色、少なくとも2つは同じ種類でなければならない。160点加算、さらに達成した回数だけ、スコアの横に◆が表示される。If you put a stone next to four stones, it must match at least two by color and at least two by symbol. You get 160 points and ◆ is displayed at side of score.
次の石がどこにも置けなかった、もしくは72個の石を全て置き終わった場合は、画面左上に"END"と表示される。"END" is displayed if there are no moves or you put all 72 stones completely.
QRコードQR CODE
プログラムコードPROGRAM CODE
表示 Show
B | 次に置く石 |
B$ | 置いていく石の出てくる順番 |
C() | 石が置けるかの判定用 |
F() | 盤面の状態 |
G,H,L,M,N,Q,R | 置けるかどうかの判定用 |
I,J | 汎用ループカウンタ |
K | ボタンの状態 |
S | スコア |
T | 4辺で接する場所に置いた回数 |
T() | 初期状態で配置する石の決定に使用 |
V,W | 石を描画する座標 |
X,Y | カーソルの位置、石を置く位置 |
Z | 置ける場所があるかの判定用 |
01. @IЛ
02. ACLSЛ
03. CLEARЛ
04. DIM F(14,10),C(13,9),T(16)RESTORE@QЛ
05. FOR I=15TO 143STEP 16FOR J=15TO 207STEP 16GPSET J,I,8NEXT:NEXTЛ
06. FOR I=0TO 71J=RND(I+1)B$=LEFT$(B$,J)+CHR$(I/2+60)+RIGHT$(B$,I-J)NEXTЛ
07. FOR I=0TO 5Л
08. @NЛ
09. GOSUB@BЛ
10. IF T(B%6)+T(B/6)THEN B$=B$+CHR$(B)GOTO@NЛ
11. T(B%6)=1T(B/6)=1READ X,YЛ
12. GOSUB@PЛ
13. NEXTЛ
14. SPSET 0,1,2,0,0,2B$=B$+CHR$(0)Л
15. @LЛ
16. GOSUB@BЛ
17. V=224W=8GOSUB@QЛ
18. Z=0FOR I=1TO 8FOR J=1TO 12H=0L=0M=0N=0Л
19. G=F(J,I-1)GOSUB@JЛ
20. G=F(J-1,I)GOSUB@JЛ
21. G=F(J+1,I)GOSUB@JЛ
22. G=F(J,I+1)GOSUB@JЛ
23. IF F(J,I)OR L<H OR M*2<H-1OR N*2<H-1THEN H=0Л
24. C(J,I)=HЛ
25. Z=Z+HЛ
26. NEXT:NEXTЛ
27. CLS?S”б”*TЛ
28. IF Z*B==0THEN BEEP(B>0)?”ENDЛ
29. @MЛ
30. K=BTRIG()X=(X-(K==4)+(K==8)+11)%12+1Y=(Y-(K==1)+(K==2)+7)%8+1Л
31. SPOFS 0,X*16,Y*16WAIT 1IF K==32GOTO@IЛ
32. P=C(X,Y)IF K!=16OR P*B==0GOTO@MЛ
33. T=T+(P>3)S=S+P*P*10GOSUB@PЛ
34. GOTO@LЛ
35. @BЛ
36. B=ASC(LEFT$(B$,1))B$=RIGHT$(B$,LEN(B$)-1)RETURNЛ
37. @JЛ
38. IF G THEN H=H+1Q=(B%6==G%6)R=(FLOOR(B/6)==FLOOR(G/6))L=L+(Q+R>0)M=M+Q:N=N+RЛ
39. RETURNЛ
40. @PЛ
41. V=X*16W=Y*16F(X,Y)=BЛ
42. @QЛ
43. GFILL V,W,V+14,W+14,B/6%8IF B THEN GPUTCHR V,W,”BGF”,B%6+231,0,2DATA 1,1,1,8,12,1,12,8,6,4,7,5Л
44. RETURNЛ
※コードのHTML生成にPTC2HTMLを使用しています。
モドル BACK