PUZZLE.100 The object of the puzzle is to move... Box 0... +--------------+ +--------------+ !0 ! !0 ! ! ! ! ! ! FROM HERE... ! ! TO HERE! ! ! ! ! ! ! ! ! ! ! ! ! ! +--------------+ +--------------+ Select block 0-9 and move with ARROW keys. Beep indicates illegal move. 0 REM PUZZLE by Paul Globman 1 REM Modified for M100 by Paul Globman 2 CLS:GOSUB53:DIMLC(20):C=1:FORI=0TO9:READSQ(I),TY(I):NEXT:FORI=1TO4 3 READXX(I),YY(I):NEXT:FORI=0TO9:GOSUB48:NEXT:I=4 4 RV$=CHR$(27)+"p":GOSUB48:GOSUB26 5 A$=INKEY$:IFA$=""THEN5 6 IFA$=>"0"ANDA$<="9"THENRV$="":GOSUB50:I=VAL(A$):GOTO4 7 IFA$=CHR$(28)THEN15 8 IFA$=CHR$(29)THEN12 9 IFA$=CHR$(30)THEN19 10 IFA$=CHR$(31)THEN22 11 BEEP:GOTO5 12 IFSQ(I)MOD5=0THEN11 13 SF=0:GOSUB31:IFSF=0THEN11 14 GOSUB47:SQ(I)=SQ(I)-1:GOTO4 15 IFSQ(I)MOD5=4THEN11 16 IFTY(I)MOD2=0AND(SQ(I)+1)MOD5=4THEN11 17 SF=0:GOSUB39:IFSF=0THEN11 18 GOSUB47:SQ(I)=SQ(I)+1:GOTO4 19 IFSQ(I)<5THEN11 20 SF=0:GOSUB35:IFSF=0THEN11 21 GOSUB47:SQ(I)=SQ(I)-5:GOTO4 22 IFSQ(I)>14THEN11 23 IFTY(I)>2THENIF(SQ(I)+5)>14THEN11 24 SF=0:GOSUB43:IFSF=0THEN11 25 GOSUB47:SQ(I)=SQ(I)+5:GOTO4 26 FORJ=0TO19:LC(J)=0:NEXT:FORJ=0TO9:LC(SQ(J))=1 27 IFTY(J)MOD2=0THENLC(SQ(J)+1)=1 28 IFTY(J)>2THENLC(SQ(J)+5)=1 29 IFTY(J)=4THENLC(SQ(J)+6)=1 30 NEXT:RETURN 31 IFLC(SQ(I)-1)=1THENRETURN 32 IFTY(I)<=2THENSF=1:RETURN 33 IFLC(SQ(I)+4)=0THENSF=1 34 RETURN 35 IFLC(SQ(I)-5)=1THENRETURN 36 IFTY(I)MOD2=1THENSF=1:RETURN 37 IFLC(SQ(I)-4)=0THENSF=1 38 RETURN 39 IFLC(SQ(I)+1+(TY(I)+1)MOD2)=1THENRETURN 40 IFTY(I)<3THENSF=1:RETURN 41 IFLC(SQ(I)+TY(I)+3)=0THENSF=1 42 RETURN 43 IFLC(SQ(I)+((TY(I)<3)+2)*5)=1THENRETURN 44 IFTY(I)MOD2=1THENSF=1:RETURN 45 IFLC(SQ(I)+1+((TY(I)<3)+2)*5)=0THENSF=1 46 RETURN 47 C=0 48 X=SQ(I)MOD5:Y=INT(SQ(I)/5) 49 LINE(X*24,Y*16)-((X*24+XX(TY(I))),Y*16+YY(TY(I))),C,B 50 PRINT@41+Y*80+X*4,RV$CHR$(I+48)CHR$(27)"q";:IFC=0THENPRINTCHR$(8)+" "; 51 C=1:RETURN:DATA 5,4,15,2,17,2,19,1,14,1,9,1,4,1,7,3,2,2,0,2 52 DATA 23,15,47,15,23,31,47,31 53 FOR I=0 TO 20 60 LINE(120+I*5,0+I*2)-(120+I*5,63-I*2) 65 NEXT:RETURN