RANDOMIZE TIMER DIM PPAL(14) FOR I=1 TO 14 READ PPAL(I) NEXT I DATA 0,0,0,1,1,1,2,2,2,3,4,0,3,4 DIM FREQ(14) FOR I=1 TO 14 READ FREQ(I) NEXT I DATA 1,1,3,3,1,1,3,1,1,3,1,1,1,1 REM WAS8BIT IS_HOLE=2 IS_DOOR=3 IS_WARRIOR=4 IS_SWORD=5 IS_SHIELD=6 IS_SPIRIT=7 IS_SPIRITSWORD=8 IS_SPIRITSHIELD=9 IS_FOOD=10 IS_GOLD=11 IS_FATE=12 IS_TARMIN=13 IS_TREASURE=14 ''''''''''''''''''''''''' BG 1 BG FILL 0,0 TO 31,31 CHAR 1 BG FILL 0,31 TO 31,31 CHAR 15 FOR Y=0 TO 29 X=RND(31) CELL X,Y,2 NEXT Y FOR Y=0 TO 30 BG 1 FOR C=3 TO 11 GO=1 IF C>=4 AND C<=9 THEN IF Y MOD 2=0 THEN IF C<=6 THEN GO=1 ELSE GO=0 ELSE IF C>=7 THEN GO=1 ELSE GO=0 END IF END IF IF GO=1 THEN FOR I=1 TO FREQ(C) CALL FIND(X,Y) PAL PPAL(C) CELL X,Y,C NEXT I END IF NEXT C NEXT Y FONT 64 GAMEPAD 1 REM WAS8BIT SPRITE 0,9*8,0,17 SPRITE 0 PAL 5 XSCROLL=0 YSCROLL=0 IANI=0 WAIT VBL XMOVE=0 YMOVE=0 SWAIT=3 GOLD=0 'PLAYER 'LEVELS PDPHYSL=1 PAPHYSL=1 PDSPIRL=1 PASPIRL=1 'MAX PDPHYSM=1 PAPHYSM=1 PDSPIRM=1 PASPIRM=1 'ITEMS PDPHYSI=0 PAPHYSI=0 PDSPIRI=0 PASPIRI=0 'ENEMY 'LEVELS EDPHYSL=1 EAPHYSL=1 EDSPIRL=1 EASPIRL=1 'D=DEFENSE 'A=ATTACK 'PHYS=PHYSICAL 'SPIR=SPIRITUAL PAUSE OFF CONTINUE: CLS 0 PAL 5 BG 0 PRIO 1 BG FILL 0,0 TO 1,15 CHAR 64 BG FILL 18,0 TO 19,15 CHAR 64 IBUTTON=0 IHIT=0 DO '=== SPEED CONTROL === IF NOT BUTTON(0,0) AND NOT BUTTON(0,1) THEN IF UP(0) THEN SWAIT=1 ELSE IF DOWN(0) THEN SWAIT=6 ELSE SWAIT=3 END IF '=== MOVE CONTROL === IF RIGHT(0) AND XMOVE=0 THEN XMOVE=8 IF XMOVE>0 THEN INC XSCROLL DEC XMOVE ADD IANI,1,0 TO 7 SCROLL 1,XSCROLL,YSCROLL SPRITE 0,,,17+IANI SPRITE 0 FLIP 0,0 END IF IF LEFT(0) AND XMOVE=0 THEN XMOVE=-8 IF XMOVE<0 THEN DEC XSCROLL INC XMOVE ADD IANI,1,0 TO 7 SCROLL 1,XSCROLL,YSCROLL SPRITE 0,,,17+IANI SPRITE 0 FLIP 1,0 END IF IF YMOVE>0 THEN INC YSCROLL DEC YMOVE IF YMOVE>0 THEN CC=25 ELSE CC=17 ADD IANI,1,0 TO 7 SCROLL 1,XSCROLL,YSCROLL SPRITE 0,,,CC END IF '=== GET PLAYER TOUCHING... === BG 1 PX=9+XSCROLL\8 PY=YSCROLL\8 CD=CELL.C(PX,PY) BG 0 PAL PPAL(CD) CELL 19,0,CD '=== DATA DISPLAY === PAL 5 LEVEL=1+YSCROLL\8 NUMBER 0,0,LEVEL,2 TEXT 18,0,">" PAL 6 NUMBER 0,1,PAPHYSM,2 NUMBER 0,2,PAPHYSL,2 NUMBER 0,3,PAPHYSI,2 TEXT 0,4,"--" NUMBER 0,5,PDPHYSM,2 NUMBER 0,6,PDPHYSL,2 NUMBER 0,7,PDPHYSI,2 PAL 5 NUMBER 0,8,GOLD,2 PAL 7 NUMBER 0,9,PASPIRM,2 NUMBER 0,10,PASPIRL,2 NUMBER 0,11,PASPIRI,2 TEXT 0,12,"--" NUMBER 0,13,PDSPIRM,2 NUMBER 0,14,PDSPIRL,2 NUMBER 0,15,PDSPIRI,2 '=== PLAYER ACTION === IF CD=IS_WARRIOR OR CD=IS_SPIRIT THEN IF IHIT=0 THEN IHIT=TIMER+15 ELSE IF TIMER>IHIT THEN PLAY 1,90,1 END IF ELSE IHIT=0 END IF IF BUTTON (0,1) THEN IF YMOVE=0 AND XMOVE=0 AND IBUTTON=0 THEN IBUTTON=1 IF CD=IS_HOLE THEN YMOVE=8 IF CD=IS_DOOR THEN DR=RND(11)+1 IF PY MOD 2=0 THEN IF DR=7 OR DR=8 OR DR=9 THEN DR=DR-3 ELSE IF DR=4 OR DR=5 OR DR=6 THEN DR=DR+3 END IF BG 1 PAL PPAL(DR) PRIO 0 CELL PX,PY,DR END IF IF CD=IS_SWORD THEN IF PAPHYSI1 X=RND(31) C=CELL.C(X,Y) WEND END SUB SHOWHELP1: PAL 5 BG 0 BG FILL 0,0 TO 19,15 CHAR 64 TEXT 0,0,"GAME HELP: PAGE 1 " TEXT 0,1,"____________________" TEXT 0,2,"(U) (D) (L) (R) " TEXT 0,3,"RUN CREEP LEFT RIGHT " TEXT 0,6,"(A) BUTTON = ATTACK" TEXT 0,9,"(B) BUTTON = GET/DO" WAIT 60 DO IF PAUSE THEN GOTO SHOWHELP2 WAIT VBL LOOP SHOWHELP2: PAL 5 BG 0 BG FILL 0,0 TO 19,15 CHAR 64 TEXT 0,0,"GAME HELP: PAGE 2 " TEXT 0,1,"____________________" TEXT 0,2," = ONE WAY HOLE " TEXT 0,3," = ??? DOOR ??? " TEXT 0,4," = WARRIOR" TEXT 0,5," = SWORD" TEXT 0,6," = SHIELD" TEXT 0,7," = SPIRIT GHOST" TEXT 0,8," = SPIRIT SWORD" TEXT 0,9," = SPIRIT SHIELD" TEXT 0,10," = FOOD + HERBS" TEXT 0,11," = GOLD" TEXT 0,12," = RANDOM FATE" TEXT 0,13," = MONSTER" TEXT 0,14," = TREASURES" PAL 0 CELL 3,2,2 CELL 3,3,3 CELL 3,12,12 CELL 3,13,13 PAL 1 CELL 3,4,4 CELL 3,5,5 CELL 3,6,6 PAL 2 CELL 3,7,7 CELL 3,8,8 CELL 3,9,9 PAL 3 CELL 3,10,10 PAL 4 CELL 3,11,11 CELL 3,14,14 WAIT 60 DO IF PAUSE THEN GOTO SHOWHELP3 WAIT VBL LOOP SHOWHELP3: PAL 5 BG 0 BG FILL 0,0 TO 19,15 CHAR 64 TEXT 0,0,"GAME HELP: PAGE 3 " TEXT 0,1,"____________________" TEXT 0,2,"BATTLES:" TEXT 0,3,"1 DAMAGE = +1 TO MAX" TEXT 0,5,"RED=PHYS BLUE=SPIRIT" TEXT 0,6,"1: ## = MAX PHYSICAL" TEXT 0,7,"2: ## = LEVEL" TEXT 0,8,"3: ## = ITEMS" TEXT 0,9," GOLD" TEXT 0,10,"1: ## = MAX SPIRIT" TEXT 0,11,"2: ## = LEVEL" TEXT 0,12,"3: ## = ITEMS" TEXT 0,14,"LEFT = PLAYER STATS" TEXT 0,15,"RIGHT = ENEMY STATS" WAIT 60 DO IF PAUSE THEN GOTO CONTINUE WAIT VBL LOOP ''''''''''''''''''''''''' #1:MAIN PALETTES 053F0805003F0831003F0807003F080C 003F083C002A002E00301500000B1500 #2:MAIN CHARACTERS 00000000000000000000000000000000 7E000000000000FF81FFFFFFFFFFFF00 7E00000000003CFF81FFFFFFFFFFFF7E 7E000018181818FF81FFFFFFFFFFFF00 7E185A4A7C4814FF81FFFFFFFFFFFF00 7E101010381000FF81FFFFFFFFFFFF00 7E387C7C381000FF81FFFFFFFFFFFF00 7E185A08BD0814FF81FFFFFFFFFFFF00 7E4410BA104400FF81FFFFFFFFFFFF00 7E14002A081C1CFF81FFFFFFFFFFFF00 7E106C28000000FF81FFFFFFFFFFFF00 7E000000102854FF81FFFFFFFFFFFF00 7E002418182400FF81FFFFFFFFFFFF00 7EDBDB52FF7EC3FF81FFFFFFFFFFFF00 7E001028542A55FF81FFFFFFFFFFFF00 7EE77EE77EE77EFF8118811881188100 827C7C7C7C7C82000028542854280000 0018101C10304800001808001030486C 0018101C10300800001808001030482C 0018101C10300800001808001030380C 0018101C101010000018080010101818 0018101C101820000018080010182C30 0018101C101020000018080010142830 0018101C101028000018080010102A34 0018101C103048000018080010304866 0018101C107C28000018080010FE286C 8254285428548200827C7C7C7C7C8200 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 0000000000000000FFFFFFFFFFFFFFFF 0018181818001800FFE7E7E7E7FFE7FF 006C6C2400000000FF9393DBFFFFFFFF 00247E24247E2400FFDB81DBDB81DBFF 00083E380E3E0800FFF7C1C7F1C1F7FF 0062640810264600FF9D9BF7EFD9B9FF 001C34386E643A00FFE3CBC7919BC5FF 0018183000000000FFE7E7CFFFFFFFFF 000C183030180C00FFF3E7CFCFE7F3FF 0030180C0C183000FFCFE7F3F3E7CFFF 000024187E182400FFFFDBE781E7DBFF 000018187E181800FFFFE7E781E7E7FF 0000000018183000FFFFFFFFE7E7CFFF 000000007E000000FFFFFFFF81FFFFFF 0000000000181800FFFFFFFFFFE7E7FF 00060C1830604000FFF9F3E7CF9FBFFF 003C666E76663C00FFC399918999C3FF 0018381818187E00FFE7C7E7E7E781FF 003C660C18307E00FFC399F3E7CF81FF 003C660C06663C00FFC399F3F999C3FF 0066667E06060600FF999981F9F9F9FF 007E607C06067C00FF819F83F9F983FF 001C307C66663C00FFE3CF839999C3FF 007E060C18303000FF81F9F3E7CFCFFF 003C663C66663C00FFC399C39999C3FF 003C663E06663C00FFC399C1F999C3FF 0000001800180000FFFFFFE7FFE7FFFF 0000001800183000FFFFFFE7FFE7CFFF 00000C1830180C00FFFFF3E7CFE7F3FF 0000007E007E0000FFFFFF81FF81FFFF 000030180C183000FFFFCFE7F3E7CFFF 003C660C18001800FFC399F3E7FFE7FF 003C666E6E603C00FFC39991919FC3FF 00183C667E666600FFE7C399819999FF 007C667C66667C00FF839983999983FF 003C666060663C00FFC3999F9F99C3FF 00786C66666C7800FF879399999387FF 007E607860607E00FF819F879F9F81FF 007E607860606000FF819F879F9F9FFF 003C606E66663C00FFC39F919999C3FF 0066667E66666600FF999981999999FF 003C181818183C00FFC3E7E7E7E7C3FF 001E060606663C00FFE1F9F9F999C3FF 00666C78786C6600FF999387879399FF 0060606060607E00FF9F9F9F9F9F81FF 0042667E7E666600FFBD9981819999FF 0066767E6E666600FF998981919999FF 003C666666663C00FFC399999999C3FF 007C667C60606000FF8399839F9F9FFF 003C66666A6C3E00FFC399999593C1FF 007C667C786C6600FF839983879399FF 003E603C06067C00FFC19FC3F9F983FF 007E181818181800FF81E7E7E7E7E7FF 0066666666663C00FF9999999999C3FF 00666666663C1800FF99999999C3E7FF 0066667E7E664200FF9999818199BDFF 00663C183C666600FF99C3E7C39999FF 0066663C18181800FF9999C3E7E7E7FF 007E0C1830607E00FF81F3E7CF9F81FF 003C303030303C00FFC3CFCFCFCFC3FF 006030180C060200FF9FCFE7F3F9FDFF 003C0C0C0C0C3C00FFC3F3F3F3F3C3FF 00183C6600000000FFE7C399FFFFFFFF 000000FF00000000FFFFFF00FFFFFFFF #15:MAIN SOUND 2800303A0000000018001000003A0000 080061CC14F00000080061CC00BB0000 3800202000000000380050BB00000000 38005066000000000800000F00000000 080050BB00FF00000800506600FF0000 0800000F00000000210000BB10F0E000 0800000F000000000800000F00000000 0800000F000000000800000F00000000