10 '15PUZZLE 20 SWITCH1:FORI=1TO4:OUTI,-1:NEXT 30 LC0,0,1:?"15PUZZLE";:GSB@W 40 CLS 50 LC2,2:?"1234" 60 LC2,3:?"5678" 70 LC2,4:?"9ABC" 80 LC2,5:?"DEF+" 90 X=3:Y=3 100 FORI=0TO100:P=RND(4)+1:GOSUB@MV:NEXT 110 IF!BTN()P=RND(4)+1:BEEP:GOSUB@MV:CONT 120 IFBTN()CONT:ELSEBEEP5 130 P=0:LCX+2,Y+2,1 140 @LP:P=0:A=0:LCX+2,Y+2,1 150 IF!IN(9)GOTO@ED 160 IF!IN(5)P=4 170 IF!IN(6)P=3 180 IF!IN(7)P=1 190 IF!IN(8)P=2 200 IFP>0BEEP20:WAIT10:GOSUB@MV:BEEP10:WAIT30:P=0 210 GOTO@LP 220 @MV 230 IFP=4A=SCR(X+2-1,Y+2) 240 IFP=3A=SCR(X+2,Y+2+1) 250 IFP=1A=SCR(X+2,Y+2-1) 260 IFP=2A=SCR(X+2+1,Y+2) 270 IFA=0GOTO@N 280 LCX+2,Y+2:?CHR$(A) 290 IFP=1Y=Y-1 300 IFP=2X=X+1 310 IFP=3Y=Y+1 320 IFP=4X=X-1 330 LCX+2,Y+2:?"+" 340 @N:RTN 350 @ED:BEEP100:WAIT10:BEEP200:CLS:?"STOP"; 360 GSB@W:F=FILE():LRUN0 370 @W:IF!BTN()CONT:ELSEBEEP2 380 IFBTN()CONT:ELSEBEEP5:RTN