GLOBAL WORLDNUM WORLDNUM=0 RANDOMIZE WORLDNUM GAMEPAD 1 REM LLAFTIP REM WAS8BIT PAUSE OFF GLOBAL YFLOOR DIM GLOBAL LADDER(99),HOLE(99),WALL(99),XTRA1(99),XTRA2(99) DIM GLOBAL LOGS(99) DIM GLOBAL XSCORP(99),DSCORP(99),PAY(5),GOLD(99) GLOBAL ASNAKE,ISNAKE,AFIRE,IFIRE,ALOG,ILOG PAY(1)=1 PAY(2)=5 PAY(3)=15 PAY(4)=35 PAY(5)=100 GLOBAL S_SCORP,S_PHEAD,S_PBODY,S_GOLD,CH_GOLD,CH_XGOLD GLOBAL S_W1,S_W2,S_W3,S_W4,S_HOLE GLOBAL S_LAD0,S_LAD1,S_LAD2 GLOBAL S_XGOLD,S_SNAKE,S_FIRE,S_FLAME GLOBAL S_LOG1,S_LOG2,S_LOG3 REM SPRITES S_PHEAD=0 S_PBODY=1 S_SCORP=2 S_GOLD=3 S_W1=4 S_W2=5 S_W3=6 S_W4=7 S_HOLE=8 S_LAD0=9 S_LAD1=10 S_LAD2=11 S_FIRE=12 S_FLAME=13 S_SNAKE=14 S_XGOLD=15 S_LOG1=16 S_LOG2=17 S_LOG3=18 SPRITE S_FIRE PAL 3 SPRITE S_FLAME PAL 3 SPRITE S_SNAKE PAL 3 SPRITE S_XGOLD PAL 6 SPRITE S_GOLD PAL 7 SPRITE S_LAD0 PAL 4 SPRITE S_LAD1 PAL 4 SPRITE S_LAD2 PAL 4 SPRITE S_HOLE PAL 4 SPRITE S_W1 PAL 4 SPRITE S_W2 PAL 4 SPRITE S_W3 PAL 4 SPRITE S_W4 PAL 4 SPRITE S_PHEAD PAL 3 SPRITE S_PBODY PAL 3 SPRITE S_SCORP PAL 4 SIZE 1 SPRITE S_LOG1 PAL 1 SPRITE S_LOG2 PAL 1 SPRITE S_LOG3 PAL 1 REM 43-62=ROPE, VISUAL ONLY S_ROPE=63 REM WORLD DATABASE FOR I=1 TO 99 IF RND(3)=0 THEN LADDER(I)=RND(1)+1 ELSE IF RND(3)=0 THEN HOLE(I)=RND(1)+1 END IF IF RND(8)=0 THEN WALL(I)=RND(1)+1 END IF IF RND(5)=0 THEN XSCORP(I)=80 DSCORP(I)=1 END IF REM XTRA1/2 REM 0=EMPTY REM 1-5 = GOLD REM 6=SNAKE REM 7=FIRE REM EACH ONLY USED ONCE XTRA1(I)=0 XTRA2(I)=0 REM ADD GOLD BONUS IF RND(2)=0 THEN IF XTRA1(I)=0 THEN XTRA1(I)=RND(4)+1 ELSE IF XTRA2(I)=0 THEN XTRA2(I)=RND(4)+1 END IF END IF REM ADD SNAKE IF RND(2)=0 THEN IF XTRA1(I)=0 THEN XTRA1(I)=6 ELSE IF XTRA2(I)=0 THEN XTRA2(I)=6 END IF END IF REM ADD FIRE IF RND(2)=0 THEN IF XTRA1(I)=0 THEN XTRA1(I)=7 ELSE IF XTRA2(I)=0 THEN XTRA2(I)=7 END IF END IF REM LOGS IF RND(2)=0 THEN LOGS(I)=RND(1)+4*RND(1)+7*RND(1) END IF REM ADDING TREASURE R=RND(100) IF R>40 THEN GOLD(I)=1 ELSE IF R>20 THEN GOLD(I)=2 ELSE IF R>8 THEN GOLD(I)=3 ELSE IF R>2 THEN GOLD(I)=4 ELSE GOLD(I)=5 END IF NEXT I REM PLAYER SPRITE S_PHEAD,-8,-8,32 SPRITE S_PBODY,-8,-8,48 IANI=0 ISCORP=0 ILIFE=10 IGOLD=0 PDIR=0 TRYAGAIN: DEC ILIFE IF ILIFE<0 THEN BG 0 PAL 4 TEXT 6,7,"GAME OVER" END END IF PX=8 YFLOOR=60 PY=10 DY=0 FFLIP=0 GRAVITY=0.025 TRACK 0,0 IPAGE=1 NEWPAGE: BG 0 PAL 2 NUMBER 0,0,ILIFE,1 PAL 4 NUMBER 9,0,IPAGE,2 PAL 5 NUMBER 15,0,IGOLD,5 BG 1 CALL NEWPAGE(IPAGE) AMIN=PI/4-0.25 AMAX=3*PI/4+0.25 ASW=AMIN DVAL=0.0025 DASW=DVAL FOR I=43 TO 63 SPRITE I,,,33 SPRITE I PAL 4 IF I=63 THEN SPRITE S_ROPE,,,49 NEXT I ISWING=0 DO IF ALOG>0 THEN ILOG=(ILOG+1) MOD 2 IF ILOG=0 THEN SPRITE S_LOG1,SPRITE.X(S_LOG1)-1,, SPRITE S_LOG2,SPRITE.X(S_LOG2)-1,, SPRITE S_LOG3,SPRITE.X(S_LOG3)-1,, IF SPRITE.X(S_LOG1)<-8 THEN SPRITE S_LOG1,168,, IF SPRITE.X(S_LOG2)<-8 THEN SPRITE S_LOG2,168,, IF SPRITE.X(S_LOG3)<-8 THEN SPRITE S_LOG3,168,, END IF END IF IF AFIRE>0 THEN IFIRE=(IFIRE+1) MOD 6 IF IFIRE=0 THEN FP=(AFIRE-1)*2-1 ADD AFIRE,1,1 TO 2 SPRITE S_FLAME,,SPRITE.Y(S_FLAME)+FP*4, SPRITE S_FLAME FLIP RND(1),RND(1) END IF END IF IF ASNAKE>0 THEN ISNAKE=(ISNAKE+1) MOD 30 IF ISNAKE=0 THEN SP=(ASNAKE-1)*2-1 ADD ASNAKE,1,1 TO 2 COPY $8000+16*(60+ASNAKE),16 TO $8000+16*63 SPRITE S_SNAKE,SPRITE.X(S_SNAKE)+SP*8,, END IF END IF DOSWING: IF DASW>0 THEN IF ASWPI/2 THEN DASW=DASW-0.0001 ELSE IF DASW<0 THEN IF ASWPI/2 THEN DASW=DASW-0.0001 END IF ASW=ASW+DASW IF ASW>AMAX THEN DASW=-DVAL IF ASW60 DEC PY SPRITE S_PHEAD,,PY, SPRITE S_PBODY,,PY+8, WAIT VBL WEND END IF END IF ' GOLD IF HGOLD=1 THEN PAL 0 SPRITE S_GOLD,-8,-8,0 PAYOUT=CH_GOLD IGOLD=IGOLD+PAY(PAYOUT) BG 0 PAL 5 NUMBER 15,0,IGOLD,5 GOLD(IPAGE)=0 CH_GOLD=0 BG 1 TRACK 3,3 END IF IF HXGOLD=1 THEN PAL 0 SPRITE S_XGOLD,-8,-8,0 PAYOUT=CH_XGOLD IGOLD=IGOLD+PAY(PAYOUT) BG 0 PAL 5 NUMBER 15,0,IGOLD,5 REM GOLD(IPAGE)=0 IF XTRA1(IPAGE)=CH_XGOLD THEN XTRA1(IPAGE)=0 ELSE XTRA2(IPAGE)=0 CH_XGOLD=0 BG 1 TRACK 3,3 END IF ' JUMP IF BUTTON(0,0) AND PY=YFLOOR THEN DY=-1 COPY $8000+16*27,16 TO $8000+16*48 TRACK 4,0 END IF ' RUN IF HWALL=1 THEN PX=PX-3*PDIR IF RIGHT(0) OR LEFT(0) THEN IF RIGHT(0) THEN PDIR=1 ELSE PDIR=-1 IF DY=0 THEN COPY $8000+16*(14+IANI),16 TO $8000+16*48 W=(W+1) MOD 5 IF W=0 THEN ADD IANI,1,0 TO 11 IF RIGHT(0) THEN IF HWALL=0 THEN PX=PX+3 FFLIP=0 ELSE IF LEFT(0) THEN IF HWALL=0 THEN PX=PX-3 FFLIP=1 END IF END IF ELSE IF DY=0 THEN COPY $8000+16*13,16 TO $8000+16*48 PDIR=0 END IF DY=DY+GRAVITY IF DY>1 THEN DY=1 IF PY>YFLOOR THEN PY=YFLOOR DY=0 END IF PY=PY+DY SPRITE S_PHEAD,PX,PY, SPRITE S_PHEAD FLIP FFLIP,0 SPRITE S_PBODY,PX,PY+8, SPRITE S_PBODY FLIP FFLIP,0 IF PX<-2 THEN ADD IPAGE,-1,1 TO 99 PX=152 GOTO NEWPAGE ELSE IF PX>154 THEN ADD IPAGE,1,1 TO 99 PX=8 GOTO NEWPAGE END IF IF XSCORP(IPAGE)>0 THEN IS=(IS+1) MOD 30 IF IS=0 THEN ADD ISCORP,2,0 TO 2 XSCORP(IPAGE)=XSCORP(IPAGE)+0.1*DSCORP(IPAGE) IF XSCORP(IPAGE)>108 THEN DSCORP(IPAGE)=-1 SPRITE S_SCORP FLIP 0,0 ELSE IF XSCORP(IPAGE)<32 THEN DSCORP(IPAGE)=1 SPRITE S_SCORP FLIP 1,0 END IF SPRITE S_SCORP,XSCORP(IPAGE),,41+ISCORP END IF WAIT VBL LOOP SUB NEWPAGE(I) RANDOMIZE WORLDNUM+I BG 1 BG COPY 0,0,20,16 TO 0,0 OTREE=0 FOR X=0 TO 19 PAL 2 R1=RND(2) R2=RND(2) IF R1=1 THEN CELL X,2,CELL.C(X,1) CELL X,1,CELL.C(X,0) CELL X,0,0 END IF IF R2=1 THEN CELL X,2,CELL.C(X,3) CELL X,3,CELL.C(X,4) CELL X,4,0 END IF IF R1=1 AND R2=1 THEN CELL X,2,3 IF OTREE=0 AND RND(10)>6 THEN PAL 1 IF R2=1 THEN CELL X,4,9 CELL X,5,9 CELL X,6,9 OTREE=1 ELSE OTREE=0 END IF PAL 2 FLIP RND(1),0 IF CELL.C(X,6)=0 AND RND(2)=0 THEN CELL X,6,30+RND(1) PAL 3 IF CELL.C(X,6)=0 AND RND(10)=0 THEN CELL X,6,34+RND(1) FLIP 0,0 NEXT X FOR CLEAR=2 TO 63 SPRITE CLEAR,-8,-8,0 NEXT CLEAR IF LADDER(I)=1 THEN SPRITE S_LAD0,2*8,9*8,37 SPRITE S_LAD1,2*8,11*8,36 SPRITE S_LAD2,2*8,12*8,36 ELSE IF LADDER(I)=2 THEN SPRITE S_LAD0,17*8,9*8,37 SPRITE S_LAD1,17*8,11*8,36 SPRITE S_LAD2,17*8,12*8,36 END IF IF HOLE(I)=1 THEN SPRITE S_HOLE,2*8,9*8,45 ELSE IF HOLE(I)=2 THEN SPRITE S_HOLE,17*8,9*8,45 END IF REM XTRA ASNAKE=0 AFIRE=0 IF XTRA1(I)>0 AND XTRA1(I)<=5 THEN SPRITE S_XGOLD,4*8,9*8,49+XTRA1(I) CH_XGOLD=XTRA1(I) ELSE IF XTRA1(I)=6 THEN SPRITE S_SNAKE,4*8,8*8,63 ASNAKE=1 ELSE IF XTRA1(I)=7 THEN SPRITE S_FIRE,4*8,8*8,55 SPRITE S_FLAME,4*8,8*8,56 AFIRE=1 END IF IF XTRA2(I)>0 AND XTRA2(I)<=5 THEN SPRITE S_XGOLD,15*8,9*8,49+XTRA2(I) CH_XGOLD=XTRA2(I) ELSE IF XTRA2(I)=6 THEN SPRITE S_SNAKE,15*8,8*8,63 ASNAKE=1 ELSE IF XTRA2(I)=7 THEN SPRITE S_FIRE,15*8,8*8,55 SPRITE S_FLAME,15*8,8*8,56 AFIRE=1 END IF ALOG=0 IF LOGS(I)>0 THEN NUMBER 1,1,LOGS(I),2 REM 1+4+7 ALOG=1 LL=LOGS(I) IF LL=1 OR LL=5 OR LL=8 OR LL=12 THEN SPRITE S_LOG1,11*8,9*8-4,47 IF LL=4 OR LL=5 OR LL=11 OR LL=12 THEN SPRITE S_LOG2,14*8,9*8-4,47 IF LL=7 OR LL=8 OR LL=11 OR LL=12 THEN SPRITE S_LOG3,17*8,9*8-4,47 END IF IF WALL(I)=1 THEN SPRITE S_W1,4*8,11*8,38 SPRITE S_W2,4*8,12*8,38 SPRITE S_W3,4*8,13*8,38 SPRITE S_W4,4*8,14*8,38 ELSE IF WALL(I)=2 THEN SPRITE S_W1,15*8,11*8,38 SPRITE S_W2,15*8,12*8,38 SPRITE S_W3,15*8,13*8,38 SPRITE S_W4,15*8,14*8,38 END IF IF GOLD(I)>0 THEN PAL 7 CH_GOLD=GOLD(I) SPRITE S_GOLD,9*8,14*8,49+GOLD(I) END IF IF XSCORP(I)>0 THEN SPRITE S_SCORP,XSCORP(I),100,41 IF DSCORP(I)=1 THEN SPRITE S_SCORP FLIP 1,0 ELSE SPRITE S_SCORP FLIP 0,0 ELSE SPRITE S_SCORP,160,0,0 END IF END SUB #1:MAIN PALETTES 0B002A1500103824000C0804002C3020 003F3F00003C3C29003C2838003C2814 #2:MAIN CHARACTERS 00000000000000000000000000000000 FFFFFFFFFFFF7E3CFFFFFFFFFFFF7E3C 00000000000081C3FFFFFFFFFFFFFFFF C3810000000081C33C7EFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF C3810000000000003C7EFFFFFFFFFFFF 3C7EFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0000000000000000FFFFFFFFFFFFFFFF 7EFFFFFFFFFFFFFF0000000000000000 FFFFFFFFFFFFFFFFFFFFFFFFFF000000 FF8181FFFF1818FFFFFEFE00FFEFEF00 FFFFFFFFFFFFFFFF0000000000000000 0010101010181010182C2C081800181C 7182000120408080083C3C1E01428080 1022102022C08000081C2C3C00C28100 101008A060040000082C34B848000406 1048040010784000083438181860480C 304C0000083C400008303C18182C5018 080600000C24040010383C1818042430 698600072102000010383C1E01428080 080600042202010010383C3C00C28100 304C00002804040608303CB848000406 104804000818080C083438181860480C 10100800101C1018082C3418182C5018 1220100014202030081C2C1818042430 7182000120408080083C3C1E01428080 00C3000024000000183C3C181842C300 103070F070301000EFCF8F0F8FCFEFFF 080C0E0F0E0C0800F7F3F1F0F1F3F7FF 00000000004AA4530000000000005AAC 000000080A442A140000000000285428 0000007E7E7E3C18003C7F7064600000 00400000000000000000000000000000 00000834582810100000000820000000 00000040A44A24180000000040040000 FFFFFFFFFFFFFFFFDBC3DBC3DBC3DBC3 FFFFFFFFFFFFFFFFFFFFFFDBC3DBC3FF 33CC33CC33CC33CCFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFEFCF8F0F8FCFEFFF FFFFFFFFFFFFFFFFF7F3F1F0F1F3F7FF 00000000000000000000000000000000 000000000000386C0000000000000000 00000000000000000000000000000000 0000000070D88C440000000000000000 3C7EFFFFFFFF7E3C3C7EFFFFFFFF7E3C 0A12000004080C00102C3C181A0B0C00 3C7EE7DFDFFF7E3C3C7EFFFAFAE67C00 0000000000000000183C3C3C00000000 40A04000000000000000000000000000 FFFFFFFF83FFFFFFFFFFFF81FDFFFFFF FFFF83FFFF83FFFFFF81FDFF81FDFFFF FF83FFFF83FFFF8381FDFF81FDFF81FD C783BBFFFFFFFFFFFFFFC7BBBBC7FFFF EFD7AB55AA55AA55F7EBD5AA55AA55AA 000000000000081C0000000000081C3E 00000000000000000002104008002004 00101807072F12240000000000000000 44240CFCF8F8A8440000000000000000 00100817070F32210000000000000000 04040CFCF8F8A8B00000000000000000 0200002018804438061F20B89CC47C38 400000041801221C60F8041D39233E1C 1000000038004438303820387C447C38 #3:MAIN BG 00001410060206020602060206020602 06020602060206020602060206020602 06020602060206020602060205020502 05020502050205020502050205020502 05020502050205020502050205020502 05020502040204020402040204020402 04020402040204020402040204020402 04020402040204020402040202020202 02020202020202020202020202020202 02020202020202020202020202020202 02020202010201020102010201020102 01020102010201020102010201020102 01020102010201020102010200000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000008010801 08010801080108010801080108010801 08010801080108010801080108010801 080108011C0108010801080108010801 08010801080108010801080108010801 080108010801080108011D0108010801 08010801080108010801080108010801 08010801080108010801080108010801 08010801070107010701070107010701 07010701070107010701070107010701 0701070107010701070107010C000C00 0C000C000C000C000C000C000C000C00 0C000C000C000C000C000C000C000C00 0C000C0027040C000C000C000C000C00 0C000C000C000C000C000C000C000C00 0C000C000C000C000C0028040B000B00 0B000B000B000B000B000B000B000B00 0B000B000B000B000B000B000B000B00 0B000B000B000B000B000B000B000B00 0B000B000B000B000B000B000B000B00 0B000B000B000B000B000B000A000A00 0A000A000A000A000A000A000A000A00 0A000A000A000A000A000A000A000A00 0A000A00 #15:MAIN SOUND 0800F0990000D000080003AA017F0F00 240060600000B0002800303019FE0000 38002020000000003800505000000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0800000F000000000800000F00000000 0040C040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 40404040404040404040404040404040 350FE8FF0000000000000000350F00FF 0000300F00350F00000000FF00003C0F 00000000000000000000000000000000 000000000000FF000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 3C1FE13B1F003A1F00391F00381F0037 1F00361F00351F00341F00331F00321F 00311F00301F00FF0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1C0FC8000000000000000000FF0F0000 00001E0F000000001F0F000000000000 000000001C0F00000000000000000000 000000000000000000000000FF000000 00000000000000000000000000000000 00000000000000000000000000000000 471FE1481F00491F004A1F004B1F004C 1F004D1F004E1F004F1F00501F00511F 00521F00531F00FF0000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 1C2FE6212F00282F001C2F00FF000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 2D0F00000000000000000000390F0000 0000360F000000000000000000000000 00000000390F00360F00390F00360F00 00000000000000000000000000000000 0000000000000000FF00000000000000 00000000000000000000000000000000