BG 1 BG COPY 0,0,32,32 TO 0,0 BG 0 SPRITE 0,0,112,1 SPRITE 0 PAL 1 SIZE 1 SPRITE 1,16,112,3 SPRITE 1 PAL 1 SIZE 1 SPRITE 3,32,112,33 SPRITE 3 PAL 1 SIZE 1 SPRITE 4,48,112,35 SPRITE 4 PAL 1 SIZE 1 SPRITE 5,64,112,11 SPRITE 5 PAL 1 SIZE 1 SPRITE 6,80,112,12 SPRITE 6 PAL 1 SIZE 1 SPRITE 7,96,112,12 SPRITE 7 PAL 1 SIZE 1 SPRITE 8,112,112,12 SPRITE 8 PAL 1 SIZE 1 SPRITE 9,128,112,12 SPRITE 9 PAL 1 SIZE 1 SPRITE 10,144,112,12 SPRITE 10 PAL 1 SIZE 1 TOUCHSCREEN MOVE=0 'CHECK FOR BUTTON PRESSES BUTTONCHECK: DO SCROLL 0,0,0 WHILE TOUCH IF TOUCH.X<16 AND TOUCH.Y>112 THEN GOTO ROADBUTTON END IF IF TOUCH.X<32 AND TOUCH.X>16 AND TOUCH.Y>112 THEN GOTO REMOVEBUTTON END IF IF TOUCH.X<48 AND TOUCH.X>32 AND TOUCH.Y>112 THEN GOTO MOVE MOVE: SPRITE 0 PAL 1 SIZE 1 SPRITE 1 PAL 1 SIZE 1 SPRITE 3 PAL 2 SIZE 1 IF TOUCH.Y/8<2 THEN GOTO SCROLLUP IF TOUCH.Y/8<14 AND TOUCH.Y/8>12 THEN GOTO SCROLLDOWN IF TOUCH.X/8>18 AND TOUCH.Y/8<14 THEN GOTO SCROLLRIGHT IF TOUCH.X/8<2 AND TOUCH.Y/8<14 THEN GOTO SCROLLLEFT WEND LOOP SCROLLUP: IF SCROLL.Y(1)=0 THEN SCROLL 1,SCROLL.X(1),SCROLL.Y(1)+1 SCROLL 1,SCROLL.X(1),SCROLL.Y(1)-1 WAIT VBL GOTO BUTTONCHECK SCROLLDOWN: IF SCROLL.Y(1)=144 THEN SCROLL 1,SCROLL.X(1),SCROLL.Y(1)-1 SCROLL 1,SCROLL.X(1),SCROLL.Y(1)+1 WAIT VBL GOTO BUTTONCHECK SCROLLRIGHT: IF SCROLL.X(1)=96 THEN SCROLL 1,SCROLL.X(1)-1,SCROLL.Y(1) SCROLL 1,SCROLL.X(1)+1,SCROLL.Y(1) WAIT VBL GOTO BUTTONCHECK SCROLLLEFT: IF SCROLL.X(1)=0 THEN SCROLL 1,SCROLL.X(1)+1,SCROLL.Y(1) SCROLL 1,SCROLL.X(1)-1,SCROLL.Y(1) WAIT VBL GOTO BUTTONCHECK ROADBUTTON: MOVE=0 SPRITE 0 PAL 2 SIZE 1 SPRITE 1 PAL 1 SIZE 1 SPRITE 3 PAL 1 SIZE 1 GOTO ROADPLACEMENT REMOVEBUTTON: MOVE=0 SPRITE 0 PAL 1 SIZE 1 SPRITE 1 PAL 2 SIZE 1 SPRITE 3 PAL 1 SIZE 1 GOTO ROADREMOVE ROADPLACEMENT: DO PAL 0 WHILE TOUCH 'VARIABLES X=TOUCH.X+SCROLL.X(1) Y=TOUCH.Y+SCROLL.Y(1) C=CELL.C(X/8,Y/8) R=CELL.C((X+8)/8,Y/8) L=CELL.C((X-8)/8,Y/8) D=CELL.C(X/8,(Y+8)/8) U=CELL.C(X/8,(Y-8)/8) RGROUP=(R=31 OR R=44 OR R=45 OR R=60 OR R=61 OR R=63 OR R=30) LGROUP=(L=31 OR L=46 OR L=47 OR L=61 OR L=62 OR L=63 OR L=30) DGROUP=(D=15 OR D=45 OR D=46 OR D=60 OR D=61 OR D=62 OR D=30) UGROUP=(U=15 OR U=44 OR U=47 OR U=60 OR U=62 OR U=63 OR U=30) 'ROAD PERMUTATIONS BG 1 IF C=22 THEN IF UGROUP AND RGROUP AND DGROUP AND LGROUP THEN CELL X/8,Y/8,30 ELSE IF UGROUP AND LGROUP AND DGROUP THEN CELL X/8,Y/8,60 ELSE IF LGROUP AND UGROUP AND RGROUP THEN CELL X/8,Y/8,61 ELSE IF UGROUP AND RGROUP AND DGROUP THEN CELL X/8,Y/8,62 ELSE IF LGROUP AND RGROUP AND DGROUP THEN CELL X/8,Y/8,63 ELSE IF DGROUP AND LGROUP THEN CELL X/8,Y/8,44 ELSE IF UGROUP AND LGROUP THEN CELL X/8,Y/8,45 ELSE IF UGROUP AND RGROUP THEN CELL X/8,Y/8,46 ELSE IF DGROUP AND RGROUP THEN CELL X/8,Y/8,47 ELSE IF RGROUP AND LGROUP THEN CELL X/8,Y/8,31 ELSE CELL X/8,Y/8,15 END IF 'FLIPPING ROADS IF TAP AND C=15 THEN CELL X/8,Y/8,31 IF TAP AND C=31 THEN CELL X/8,Y/8,15 WAIT VBL IF TOUCH.X<16 AND TOUCH.Y>112 THEN GOTO ROADBUTTON END IF IF TOUCH.X<32 AND TOUCH.X>16 AND TOUCH.Y>112 THEN GOTO REMOVEBUTTON END IF IF TOUCH.X<48 AND TOUCH.X>32 AND TOUCH.Y>112 THEN GOTO MOVE WEND LOOP RETURN ROADREMOVE: DO PAL 0 WHILE TOUCH 'VARIABLES X=TOUCH.X+SCROLL.X(1) Y=TOUCH.Y+SCROLL.Y(1) C=CELL.C(X/8,Y/8) 'CHECKING FOR ROADS AND REMOVING THEM BG 1 IF C=44 OR C=45 OR C=46 OR C=47 OR C=15 OR C=31 OR C=60 OR C=61 OR C=62 OR C=63 OR C=30 THEN CELL X/8,Y/8,22 IF TOUCH.X<16 AND TOUCH.Y>112 THEN GOTO ROADBUTTON END IF IF TOUCH.X<32 AND TOUCH.X>16 AND TOUCH.Y>112 THEN GOTO REMOVEBUTTON END IF IF TOUCH.X<48 AND TOUCH.X>32 AND TOUCH.Y>112 THEN GOTO MOVE WEND LOOP RETURN #1:MAIN PALETTES 2F0914242C2A153F001A150F00000000 FFFFFFFFFFFFFFFF0000000000000000 #2:MAIN CHARACTERS 00000000000000000000000000000000 FF8080BFBFA0A0BBC0FFFFC0405F5F5F FF0303F3F313137300FCFC0E0EEEEEEE FF8080BFA7A3B0BBC0FFFFC0585C4F44 FF0303F39313337300FCFC0E6EEECE8E 00000000070F0F0F0000000F18101010 00000000FFFFFFFF000000FF00000000 00000000E0F0F0F0000000F018080808 FFFFFFFFF0F5F6F6000000000F0F0F0F FFFFFFFF0F8FCFCF00000000F0F0F0F0 DD9E9F8CE1FFFFFF226160733E1C1800 00003F3F3F3F3F3FFFFFC0C0C0C0C0C0 0000FFFFFFFFFFFFFFFF000000000000 0000FFFFFFFFFFFFFFFF000000000000 00000000000000000000000000000000 FFFFFFFFFFFFFFFF1818181818181818 00000060E070780E0000000010480410 A0A0BFBF8080FFFF5F5F40407F7F3F00 1313F3F30303FFFFEEEE0E0EFEFEFE00 B0A3A7BF8080FFFF4F5C58407F7F3F00 331393F30303FFFFCEEE6E0EFEFEFE00 0F0F0F0F0F0F0F0F1010101010101010 FFFFFFFFFFFFFFFF0000000000000000 F0F0F0F0F0F0F0F00808080808080808 F0F0F0F0FFFFFFFF0808080F00000000 0F0F0F0FFFFFFFFF101010F000000000 00186600186600180000000000000000 3F3F3F3F3F3F3F3FC0C0C0C0C0C0C0C0 FFFFFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFF18183CFFFF3C1818 FFFFFFFFFFFFFFFF000000FFFF000000 0000000000347CC60000000000080221 FF8080BFBFBBB3A0C0FFFFC040444C5F FF0303F3F373331300FCFC0E0E8ECEEE FF8080BFBFBFBFBFC0FFFFC040404040 FF0303F3F3F3F3F300FCFC0E0E0E0E0E 0F0F0F07101B1D0D101010181F1F1F0F FFFFFFFF00BBDDDD00000000FFFFFFFF F0F0F0E008B8D8D008080818F8F8F8F0 FFFFFF0FE7F7F7F7000000F018080808 FFFFFFF0E7EFEFEF0000000F18101010 EFEFEFEFEFEFEFEF1010101010101010 F7F7F7F7F7F7F7F70808080808080808 FFFFFFFFFFFFFFFF000000F0F8381818 FFFFFFFFFFFFFFFF181838F8F0000000 FFFFFFFFFFFFFFFF18181C1F0F000000 FFFFFFFFFFFFFFFF0000000F1F1C1818 00000000000018100000000008080020 B3BBBFBF8080FFFF4C4440407F7F3F00 3373F3F30303FFFFCE8E0E0EFEFEFE00 BFBFBFBF8080FFFF404040407F7F3F00 F3F3F3F30303FFFF0E0E0E0EFEFEFE00 EFEFEFE7F0FBFDFD101010181F1F1F0F F7F7F7E70FBFDFDF08080818F8F8F8F0 FFFFFF00FFFFFFFF000000FF00000000 F7F7F7F0FFFFFFFF0808080F00000000 EFEFEF0FFFFFFFFF101010F000000000 FFF3C180000080C1000C324180814122 E3E3E3C100C1C18014141436E3E3E3E3 FFFFFFFFFFFFFFFF181838F8F8381818 FFFFFFFFFFFFFFFF18183CFFFF000000 FFFFFFFFFFFFFFFF18181C1F1F1C1818 FFFFFFFFFFFFFFFF000000FFFF3C1818 #3:MAIN BG 00002020160017001A02000015002B00 160016000A002B0016002A0016001600 1600160016002B00160016000A001600 16002A00160016001600080036001600 16001600160018000600060019002B00 1600160016002B0016002A0016001600 16001600080036001600160016001600 16002A000800090016002B0016001600 160016000A0016001600160008003600 0800090016002B0016002A0008000900 16000800360016001600160016001600 16003500360035002600360016001600 16001600260026002600260036001600 2B003500260036001600350036003500 26003600160016000A00160016003A00 1600160016000A001600160008002600 26002600160016001600160016000800 36000A00160016001600160016001600 16001600160016001600160008003B00 09001600160008002600260027000000 00000000260009001600160016002B00 16001600160016001600160016001600 16001600160008002600260027000000 25002600090017000000000000000500 06000700160035000900160008003600 16001600160016001600160016001600 16001600080027000000000000000000 000000002500270000001A0200001500 16001800160016003500260036001600 16001600160016001600160016001600 16000A0017001A020000000005000700 00000000000000000000000000001500 3A001600160016001600160016001600 16001600160016001600080026002600 09001600170000000000000025002700 00000000050006000600070000002500 3B00090016001600160016000A001600 16001600160008002600270000000000 25002600270000000000000000001A02 00000500190016000A0017001A020000 00002500160016001600160016001600 1600160008002700000000001A020000 05000600060006000700000000000000 000015000A0016000800270000000000 00001A020A0016001600160016001600 08002600270000000000050006000600 19001600290028001800060007000000 00002500260026002700000010022002 3002000016003A0016003A0016000800 27000000000000000500190016001600 16001600350036001600160018000700 00000000000000000000000005000600 0700000026003B0026003B0026002700 000000001A0205001900160016000A00 1600160016000A0016000A0016001700 00000000000000000000000025002600 2700000000001A020000000000000000 00000000000015001600160016001600 16001600160016000A00160016001800 07000000000000001A02000000000000 00000000060006000700000000000000 00000000050019001600160016001600 160016001600160016000A0016001600 17000000000000000000000000000000 00001A02160016001800070000000000 1A020000150016001600160029003700 37003700280029003700370028001600 17000000000000000000000000000000 000000000A0016001600180007000000 00000000150016000A0016002A001600 0A00160038003900160016002B001600 170000001A0200001A02000000000000 00000000160016000A00160018000700 00000000250009001600160035002600 09001600080026002600260036001600 17000000000000000500060006000600 06000600160016001600160016001700 00000000000025000900160016001600 35002600360016001600160016000800 27000000000000002500090016001600 16000A0016000A001600160016001700 0500070000001A022500260009001600 16001600160016003A00160008002700 0000000000001A020000150016002900 28001600370037003700280016001700 15001700000000000000000025002600 26002600260026003B00260027001A02 00000000000000001A02150016003500 360016003700280016002B0008002700 15001800070000000000000000000000 00000000000000000000000000000000 05000600060006000700250009001600 160016002600360016002B0018000700 15000A00170000000000000000000500 0600070000001A020000000000000500 19001600160016001700000015001600 16001600160016001600380028001700 150016001800070000001A0205001900 16001800060006000700000005001900 16000A00290028001800070025000900 160016002600090016003A002B001700 15001600160017000000050019001600 16002900370028001700000015002900 37003700390038002800170005001900 160016001600350026003B0036001700 25000900160017000000150016001600 16002A0016002B0017001A0215003500 09001600160008003600180019001600 160016001600160008003B0026002700 00001500160018000700250009002900 28003500260036001700000015001600 3500260026003600160016000A001600 160016001600160017001A0200001A02 00001500160016001800070015003500 36001600160008002700000015001600 160016001600160016000A0016001600 160016000A0016001800070000000000 05001900160016001600170025000900 16003A00080027000000000025000900 1600160016001600160016000A001600 1600160016000A001600180006000600 1900160016000A001600180007002500 26003B00270000000000000000001500 160016001600160016000A0016001600 160016000A0016000A00160016001600 160016000A0016000A00160017000000 0000000000001A020000000000002500 09001600160016001600160016001600 16001600