REM CREATE SMART PATHWAYS THAT KNOW WHAT THEY ARE CONNNECTED TO DIM GLOBAL PATHMAP$(9,7) REM WAS8BIT TOUCHSCREEN DISPLAY (1,1,1,1,1) CELL 0,1,2 CELL 0,2,4 CELL 0,3,6 CELL 0,5,32 CELL 0,7,64 SPRITE 0,-20,-20,10 SPRITE.A 0,(1,,,,1) ISPRITE=0 CELLCOPY=0 DOEDIT: DO IF TOUCH THEN TX=TOUCH.X\16 TY=TOUCH.Y\16 IF ISPRITE=0 AND TX=0 THEN CELLCOPY=CELL.C(TX,TY) ISPRITE=1 PLAY 0,90,1 SPRITE 0,TX*16,TY*16, ELSE IF ISPRITE=1 THEN SPRITE 0,TX*16,TY*16, END IF ELSE IF ISPRITE=1 THEN ISPRITE=0 SPRITE 0,-20,-20, IF TX>0 THEN PLAY 0,80,1 CELL TX,TY,CELLCOPY GOSUB DOCHECK END IF END IF END IF WAIT VBL LOOP DOCHECK: REM SOURCE FOR Y=0 TO 7 FOR X=1 TO 9 PATHMAP$(X,Y)="000" C=CELL.C(X,Y)\2 IF C=1 THEN PATHMAP$(X,Y)="100" IF C=2 THEN PATHMAP$(X,Y)="010" IF C=3 THEN PATHMAP$(X,Y)="001" NEXT X NEXT Y REM PATHMAP FOR II=1 TO 5 FOR I=0 TO 1 FOR YY=0 TO 7 FOR XX=1 TO 9 IF I=0 THEN X=XX Y=YY ELSE X=10-XX Y=7-YY END IF C=CELL.C(X,Y)\2 IF C>3 AND C<32 THEN IF PATHMAP$(X,Y)="" THEN PATHMAP$(X,Y)="000" L1$=LEFT$(PATHMAP$(X,Y),1) M1$=MID$(PATHMAP$(X,Y),2,1) R1$=RIGHT$(PATHMAP$(X,Y),1) FOR IY=-1 TO 1 FOR IX=-1 TO 1 DX=X+IX DY=Y+IY IF DX>=1 AND DX<=9 AND DY>=0 AND DY<=7 THEN L2$=LEFT$(PATHMAP$(DX,DY),1) M2$=MID$(PATHMAP$(DX,DY),2,1) R2$=RIGHT$(PATHMAP$(DX,DY),1) IF L1$="1" OR L2$="1" THEN LL$="1" ELSE LL$="0" IF M1$="1" OR M2$="1" THEN MM$="1" ELSE MM$="0" IF R1$="1" OR R2$="1" THEN RR$="1" ELSE RR$="0" PATHMAP$(X,Y)=LL$+MM$+RR$ L1$=LL$ M1$=MM$ R1$=RR$ END IF NEXT IX NEXT IY END IF NEXT XX NEXT YY NEXT I NEXT II FOR Y=0 TO 7 FOR X=1 TO 9 C=CELL.C(X,Y)\2 IF C>6 AND C<32 THEN IF PATHMAP$(X,Y)="000" THEN CELL X,Y,32 IF PATHMAP$(X,Y)="100" THEN CELL X,Y,34 IF PATHMAP$(X,Y)="010" THEN CELL X,Y,36 IF PATHMAP$(X,Y)="001" THEN CELL X,Y,38 IF PATHMAP$(X,Y)="110" THEN CELL X,Y,40 IF PATHMAP$(X,Y)="101" THEN CELL X,Y,42 IF PATHMAP$(X,Y)="011" THEN CELL X,Y,44 IF PATHMAP$(X,Y)="111" THEN CELL X,Y,46 END IF NEXT X NEXT Y REM DESTINATION FOR Y=0 TO 7 FOR X=1 TO 9 C=CELL.C(X,Y)\2 IF C>=32 THEN PP$="000" L1$="0" M1$="0" R1$="0" FOR IY=-1 TO 1 FOR IX=-1 TO 1 DX=X+IX DY=Y+IY IF DX>=1 AND DX<=9 AND DY>=0 AND DY<=7 THEN L2$=LEFT$(PATHMAP$(DX,DY),1) M2$=MID$(PATHMAP$(DX,DY),2,1) R2$=RIGHT$(PATHMAP$(DX,DY),1) IF L1$="1" OR L2$="1" THEN LL$="1" ELSE LL$="0" IF M1$="1" OR M2$="1" THEN MM$="1" ELSE MM$="0" IF R1$="1" OR R2$="1" THEN RR$="1" ELSE RR$="0" PP$=LL$+MM$+RR$ L1$=LL$ M1$=MM$ R1$=RR$ END IF NEXT IX NEXT IY IF PP$="000" THEN CELL X,Y,64 IF PP$="100" THEN CELL X,Y,66 IF PP$="010" THEN CELL X,Y,68 IF PP$="001" THEN CELL X,Y,70 IF PP$="110" THEN CELL X,Y,72 IF PP$="101" THEN CELL X,Y,74 IF PP$="011" THEN CELL X,Y,76 IF PP$="111" THEN CELL X,Y,78 END IF NEXT X NEXT Y RETURN #1:MAIN PALETTES 153C0F34003F2A00003C0C00003F3C00 003F2A15003F2A15003F2A15003F2A15 #2:MAIN CHARACTERS 00000000000000000000000000000000 00000000000000000000000000000000 0F3F7F7EEEF7FBFF0000000000000000 F0FCFEFEEFDFBFFF0000000000000000 00000000000000000F3F7F7FFFFFFFF3 0000000000000000F0FCFEFEFFFFFFFF 0F3F7F7FFFFEFEFB0F3F7F7FFFFEFEFB F0FCFEFEFFFFFFBFF0FCFEFEFFFFFFBF 00000000000000000000000000000000 00000000000000000000000000000000 FF808080808080803100808000000080 FF010101010101018C00010100000001 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 E6FFFBF66E7F3F0F0000000000000000 CFFFBFDFEEFEFCF00000000000000000 0000000000000000EDDEFFFF7F7F3F0F 0000000000000000FBF76F9FFEFEFCF0 FBEEEEFF7F7F3F0FFBEEEEFF7F7F3F0F BFEFEFFFFEFEFCF0BFEFEFFFFEFEFCF0 00000000000000000000000000000000 00000000000000000000000000000000 80808080808080FF8000000080800031 01010101010101FF010000010101008C 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 80002000000400010040200000040200 01000400002000800002040000204000 00000000000000000000000000000000 60606060606060600000000000000000 000000000000000001010101010101FF 000000000000000080808080808080FF 0606060606FFFF060606060606FFFF06 0000000000FFFF000000000000FFFF00 000000000000000001010101010101FF 606060606060600080808080808080FF 0606060606FFFF060606060606FFFF06 6060606060FFFF6000000000009F9F00 0606060606FEFE000707070707FFFFFF 00000000007F7F008080808080FFFFFF 0606060606FEFE000707070707FFFFFF 60606060607F7F0080808080809F9FFF 01000400002000800002040000204000 80002000000400010040200000040200 00FFFF00000000000000000000000000 60FFFF60606060600000000000000000 0000000000000000FF01010101010101 0000000000000000FF80808080808080 06060606060606060606060606060606 00000000000000000000000000000000 00FEFE0000000000FF01010101010101 007F7F6060606060FF80808080808080 06FFFF06060606060600000606060606 60FFFF60606060600000000000000000 0006060606060606FF07070707070707 0000000000000000FF80808080808080 00FEFE0606060606FF01010707070707 007F7F6060606060FF80808080808080 3C408080828408002042810001044028 3C020101412110000442810080200214 3C7EE3C1C0C060300000000000000000 3C7EC7830303060C0000000000000000 000000000000000000001C3E3331180C 00000000000000000000387CCC8C1830 000000000C0E0703000000000C0E0703 000000003070E0C0000000003070E0C0 3C7EE3C1C0C0603000001C3E3331180C 3C7EC7830303060C0000387CCC8C1830 3C7EE3C1CCCE6733000000000C0E0703 3C7EC7833373E6CC000000003070E0C0 000000000C0E070300001C3E3F3F1F0F 000000003070E0C00000387CFCFCF8F0 3C7EE3C1CCCE673300001C3E3F3F1F0F 3C7EC7833373E6CC0000387CFCFCF8F0 000884828080403C2840040100814220 001021410101023C1402208000814204 3060C0C0C1E37E3C0000000000000000 0C06030383C77E3C0000000000000000 00000000000000000C1831333E1C0000 000000000000000030188CCC7C380000 03070E0C0000000003070E0C00000000 C0E0703000000000C0E0703000000000 3060C0C0C1E37E3C0C1831333E1C0000 0C06030383C77E3C30188CCC7C380000 3367CECCC1E37E3C03070E0C00000000 CCE6733383C77E3CC0E0703000000000 03070E0C000000000F1F3F3F3E1C0000 C0E0703000000000F0F8FCFC7C380000 3367CECCC1E37E3C0F1F3F3F3E1C0000 CCE6733383C77E3CF0F8FCFC7C380000