'================ GAME FROM ORIGINAL LOWRES ====== REM REM ORIGINAL GAME: "LOWRES FOREST" BY UXOZII REM NAME CHANGED TO "ZELDA CREATIVE" BY SNT&HPC REM '================================================= REM CONCEPT TESTS.... REM TEST 101: MAP CONCEPT REM ORIGINAL MAP SIZE 128X128 REM THIS TEST MAP SIZE 150X150 CELL SIZE 1,1 GAMEPAD 1 RANDOMIZE TIMER REM WAS8BIT SPRITE 0,8*8,6*8,33 SPRITE 0 PAL 7 SIZE 1 BG 0 PAL 4 TEXT 0,0,"LOADING...." DIM GLOBAL MAP(150,150) FOR XY=0 TO 150 MAP(XY,0)=9 MAP(XY,150)=9 MAP(0,XY)=9 MAP(150,XY)=9 NEXT XY FOR I=1 TO 100 MAP(RND(120)+25,RND(120)+25)=3 NEXT I FOR I=1 TO 100000 X=RND(125)+1 Y=RND(125)+1 IF MAP(X,Y)=3 THEN MAP(X+RND(2)-1,Y+RND(2)-1)=3 NEXT I FOR X=1 TO 149 FOR Y=1 TO 149 IF MAP(X,Y)=0 THEN REM C1=ABS(SGN((MAP(X-1,Y-1)-3))) C2=ABS(SGN((MAP(X,Y-1)-3))) REM C3=ABS(SGN((MAP(X+1,Y-1)-3))) C4=ABS(SGN((MAP(X-1,Y)-3))) C5=ABS(SGN((MAP(X+1,Y)-3))) REM C6=ABS(SGN((MAP(X-1,Y+1)-3))) C7=ABS(SGN((MAP(X,Y+1)-3))) REM C8=ABS(SGN((MAP(X+1,Y+1)-3))) CC$=STR$(C2)+STR$(C4)+STR$(C5)+STR$(C7) IF CC$="1011" THEN MAP(X,Y)=66 IF CC$="1101" THEN MAP(X,Y)=98 IF CC$="0111" THEN MAP(X,Y)=64 IF CC$="1110" THEN MAP(X,Y)=96 IF CC$="0011" THEN MAP(X,Y)=68 IF CC$="0101" THEN MAP(X,Y)=70 IF CC$="1010" THEN MAP(X,Y)=100 IF CC$="1100" THEN MAP(X,Y)=102 IF CC$="0001" THEN MAP(X,Y)=78 IF CC$="0010" THEN MAP(X,Y)=76 IF CC$="0100" THEN MAP(X,Y)=110 IF CC$="1000" THEN MAP(X,Y)=108 IF CC$="0000" THEN MAP(X,Y)=104 IF CC$="0110" THEN MAP(X,Y)=74 IF CC$="1001" THEN MAP(X,Y)=106 END IF NEXT Y NEXT X FOR I=1 TO 1000 X=RND(125)+1 Y=RND(125)+1 IF MAP(X,Y)=0 THEN MAP(X,Y)=5 NEXT I FOR I=1 TO 1000 X=RND(125)+1 Y=RND(125)+1 IF MAP(X,Y)=0 THEN MAP(X,Y)=7 NEXT I MX=1 MY=1 CLS 0 CALL MOVE(MX,MY,0,0) DO R=RIGHT(0) L=LEFT(0) U=UP(0) D=DOWN(0) LOR=R OR L UOD=U OR D IF RIGHT(0) AND NOT UOD THEN CALL MOVE(MX,MY,1,0) ELSE IF LEFT(0) AND NOT UOD THEN CALL MOVE(MX,MY,-1,0) ELSE IF DOWN(0) AND NOT LOR THEN CALL MOVE(MX,MY,0,1) ELSE IF UP(0) AND NOT LOR THEN CALL MOVE(MX,MY,0,-1) ELSE IF U AND R THEN CALL MOVE(MX,MY,1,-1) ELSE IF U AND L THEN CALL MOVE(MX,MY,-1,-1) ELSE IF D AND R THEN CALL MOVE(MX,MY,1,1) ELSE IF D AND L THEN CALL MOVE(MX,MY,-1,1) END IF WAIT VBL LOOP SUB MOVE(X,Y,DX,DY) IF DX<0 THEN CNUM=132 ELSE IF DX>0 THEN CNUM=130 ELSE IF DY<0 THEN CNUM=128 ELSE IF DY>0 THEN CNUM=134 ELSE CNUM=134 CC=CNUM GOSUB POP MX=X+DX MY=Y+DY IF MX<0 OR MX>149 THEN MX=X IF MY<0 OR MY>149 THEN MY=Y IF MX>=0 AND MX<=150 AND MY>=0 AND MY<=150 THEN M=MAP(MX,MY) ELSE M=0 IF M=0 OR M>63 THEN SX=DX*15 SY=DY*15 ZX=0 ZY=0 WHILE SX<>0 OR SY<>0 IF ZX=8 OR ZY=8 OR ZX=-8 OR ZY=-8 THEN CC=CNUM+32 GOSUB POP END IF ZX=ZX+DX ZY=ZY+DY SCROLL 1,ZX,ZY WAIT 1 SX=SX-DX SY=SY-DY WEND SCROLL 1,0,0 X=X+DX Y=Y+DY CALL PRINTMAP(X,Y) PLAY 0,40,1 BG 0 PAL 4 NUMBER 0,0,X,3 TEXT 3,0,"," NUMBER 4,0,Y,3 BG 1 END IF END SUB SUB PRINTMAP(IX,IY) BG 1 FOR X=-1 TO 20 FOR Y=-1 TO 16 MX=X+IX-4 MY=Y+IY-3 IF MX>=0 AND MX<=150 AND MY>=0 AND MY<=150 THEN M=MAP(MX,MY) ELSE M=-1 IF M=0 THEN M=1 IF M=1 THEN PAL 0 ELSE IF M=3 THEN PAL 1 ELSE IF M=5 THEN PAL 2 ELSE IF M=7 THEN PAL 3 ELSE IF M=9 THEN PAL 3 ELSE PAL 6 IF M>-1 THEN CELL X,Y,M ELSE PAL 4 CELL X,Y,41 END IF NEXT Y NEXT X END SUB POP: COPY $8000+16*CC,16 TO $8000+16*33 COPY $8000+16*(CC+1),16 TO $8000+16*34 COPY $8000+16*(CC+16),16 TO $8000+16*49 COPY $8000+16*(CC+17),16 TO $8000+16*50 RETURN #1:MAIN PALETTES 1E0C0804000F0B0700201934000C2A15 003F3F00002A1510000B3C3900042E38 #2:MAIN CHARACTERS 00000000000000000000000000000000 01071F1F3B15DFFF000000040E0A0000 C0E0E8D4FAFEFEFF0000102800000020 80060900182444107FFFFFFFFFFFFBEF 8006B8001825C4107FFFDFFFFFFFFBEF 0000020001100F21000F1F3F2A2E707C 000000480098B2A000C0BCFEFE624E5E 00223F5F3F1E1C3D0000000000010303 0062F8FEFA1CEEF40000000000E0F0F8 8000FF080878CC07FFFFFFFFFFFFFFFF 4141FF04043C27E4FFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FFDF772B3F0F03030000081400000000 DFAEFAF8F060E0C07050000000000000 80263900082544107FFFDFFFFFFFFBEF 802629001825C4107FFFDFFFFFFFFBEF 00000800010103003E371B0000000000 C8C0C0C0C0E0F0003C2C180000000000 7B173F3833475200070F00070F0F0000 F6F8FAF836C88000F8FC0000C0E00000 01E13F0808FE8283FFFFFFFFFFFFFFFF 0407FC10101F10F1FFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 070B1B3F3F3F271F000704131410180D C02018DCFCFCE4F800C0E0E8280818B0 0000070F1F0F0F070000070812020000 0000C0E0F0E0E0C00000C02090800000 00000F1F3F1F1F0F00000F1025050000 000080C0E0C0C0800000804020000000 000003070F0707030000030409010000 0000E0F0F8F0F0E00000E01048400000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 172B6F78271E371F0D1730271F010E00 E8D4F474F830F8F0B0E808B8B0C00000 3030000000003038030F0303070E3C38 181800000000183880E08080C0E07838 0000606000006070071F17070F1C7870 303000003070000000C000C0F0700000 18180000181C0000010701071F1C0000 00000C0C00000C1CC0F0D0C0E0703C1C FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 FF7F3E5A080000000080C1E77F3E1880 FFFE7C5A08000000000183E7FE7C1900 80D0E0F8F0E0F0C072381C0E0E1C1C38 00000000000000000000400000009000 FFFFFFFCF8F4E0E000000003070F1F1C FFFEFC5A08000000000103E7FEFC1880 FF7F3F5A080000000080C0E77F3E1900 FFFFFF3F1F2F0707000000C0E0F07878 0000000002000410019103470F1F3FFF 00000080004010008288C0E2F0F8FCFF FF7F3E5A080000000080C1E77F3E1880 FFFEFC5A08000000000103E7FE7C1880 FFFFFFFCF8F4E0E000000003070F1F1C FFFEFC5A08000000000103E7FE7C1880 FFFFFFFCF8F4E0E000000003070F1F1C FFFFFF3F1F2F0707000000C0E0F07878 00000000000000002004002000000000 00000000000000004004004000000000 C0F0E0F8F0E0D080381C1C0E0E1C3871 00000000000000000000400000900000 E0F0E0F8F0E0D0801A1C1C0E0E1C3870 00000000000000000000400000009000 00000000000000004004004000000000 070F070F1F070B01B838387070381C0E 0008020001000000FF3F1F0F47031141 0820004000000000FFFCF8F0E2C08980 000000085A3E7FFF80183E7FE7C18000 000000085AFCFEFF80187CFEE7030100 E0E0F4F8FCFFFFFF1E1E0F0703000000 000000085AFCFEFF80187CFEE7030100 E0F0E0F0F8E0D080191C1C0E0E1C3870 070F070F1F070B019838387070381C0E 00000000000000000000000002002002 00000000000000000000000004002004 00000000000000000000090000020000 010B070F1F070F038E1C38707038381C 80D0E0F8F0E0F0E070381C0E0E1C1C1D 00000000000000000000000002002002 00000000000000000009000000020000 010B070F1F070F070E1C387070383858 FFFFFFFCF8F4E0E000000003070F1F1C FFFFFF3F1F2F0707000000C0E0F07878 80D0E0F8F0E0F0E070381C0E0E1C1C19 010B071F0F070F070E1C387070383898 80D0E0F8F0E0F0E070381C0E0E1C1C19 010B071F0F070F070E1C387070383898 FF7F3F5A100000000080C0E77F3E1801 FFFFFF3F1F2F0707000000C0E0F07878 000000105A3E7FFF00983E7FE7C18000 000000105A7CFEFF01187CFEE7830100 00000000000000000009000000020000 030F070F1F070B011C38387070381C4E E0E0F4F8FCFFFFFF1E1E0F0703000000 000000105AFCFEFF00987CFEE7030100 000000105A3F7FFF01183F7FE7C08000 07072F1F3FFFFFFF38F8F0E0C0000000 E0E0F4F8FCFFFFFF1E1E0F0703000000 07072F1F3FFFFFFF38F8F0E0C0000000 C0F0E0F8F0E0D080381C1C0E0E1C3871 030F071F0F070B011C38387070381C8E E0E0F4F8FCFFFFFF1E1E0F0703000000 07072F1F3FFFFFFF38F8F0E0C0000000 000000105A3F7FFF01183E7FE7C08000 07072F1F3FFFFFFF38F8F0E0C0000000 0307071F3D393A2C0000030413171513 80C0E0F8BC9C9C940000C020C8E8E8E8 070810244F4D2F1F00070F1B34361606 C03078EEDC70FCFC00C0B070E08050D8 030C1E773B0E3F3F00030D0E07010A1B E0100824F2B2F4F800E0F0D82C6C6860 070B1B3F3F3F271F000704131410180D C02018DCFCFCE4F800C0E0E8280818B0 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1C14343B17181F0F030B1B140F070000 3854942CC838FCF8C0A868F0F0C03000 0B0D0F13131F0F1F0602000D0D000700 E810F0D0F0D0F0F8F0E000A0A0208000 17080F0B0F0B0F1F0F07000505040100 D0B0F0C8C8F8F0F8604000B0B000E000 172B6F78271E371F0D1730271F010E00 E8D4F474F830F8F0B0E808B8B0C00000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0103071F3D3939290000030413171717 C0E0E0F8BC9C5C340000C020C8E8A8C8 000F3040444F2D2F00000F3F3B341616 00C0347CECD870FC0000C0B070E08050 00032C3E371B0E3F0000030D0E07010A 00F00C0222F2B4F40000F0FCDC2C6868 0304183B3F3F271F000307171410180D E0D0D8FCFCFCE4F800E020C8280818B0 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1C2A2934131C3F1F0315160F0F030C00 38282CDCE818F8F0C0D0D828F0E00000 1F0B0F19393C3F3F0606000616131800 FCE8F0E0E0F0F8F8D8F000C0C000F000 3F170F07070F1F1F1B0F000303000F00 F8D0F0989C3CFCFC6060006068C81800 172B2F2E1F0C1F0F0D17101D0D030000 E8D4F61EE478ECF8B0E80CE4F8807000