15パズル


MSX 版で作っていた 15パズル を
IchigoJam で作ってみました。

 

プログラム | MSX JAPAN▉

 

実行すると完成状態から 100 回

IchigoJam が動かしてバラバラにしていきます。

「COUNT 0」が表示されたらカーソルキーで

元の状態に戻して下さい。空いてる「..」が基準です。

 

画面は左上表示でシンプルですが、

これによってシリアル接続を行っている場合でも

通常の画面(UART 1 の表示)で遊べます。

画面サイズを気にしない作りで、

同じプログラムで対応ファームウェアも広くしています。

 


10 '15 Puzzle
20 CLS:I=0:S=100
30 I=I+1:[I]=I:IF I<17 GOTO 30
40 GOSUB 200
50 R=RND(4):GOSUB 280
60 IF C GOTO 50
70 T=[P]:[P]=[M]:[M]=T
80 S=S-1:IF S GOTO 40
90 GOSUB 200:?"COUNT ";S:?:I=0
100 I=I+1:IF [I]<>I GOTO 130
110 IF I<17 GOTO 100
120 END
130 R=INKEY():IF R GOTO 130
140 R=INKEY()-28
150 IF(R<0)+(R>3)GOTO 140
160 GOSUB 280
170 IF C GOTO 130
180 T=[P]:[P]=[M]:[M]=T
190 S=S+1:GOTO 90
200 LC 0,0:?:I=1
210 IF [I]<16 GOTO 230
220 ?".. ";:P=I:M=I:GOTO 250
230 IF [I]<10 ?" ";
240 ?[I];" ";
250 IF I%4=0 ?
260 IF I<16 LET I,I+1:GOTO 210
270 ?:RETURN
280 C=0:GOTO 290+R*20
290 IF M%4=1 LET C,1:RETURN
300 M=M-1:RETURN
310 IF M%4=0 LET C,1:RETURN
320 M=M+1:RETURN
330 IF(M-1)/4=0 LET C,1:RETURN
340 M=M-4:RETURN
350 IF(M-1)/4=3 LET C,1:RETURN
360 M=M+4:RETURN

MixJuice ダウンロード ?"MJ GET 15J.IN/588

MicJack ダウンロード ?"MJ GKP 588

 

下記に変更すると IchigoJam BASIC 0.8.9 以降で動作します。

280 C=0:IF R GOTO 305
305 IF R>1 GOTO 325
325 IF R>2 GOTO 350

他のバージョン