rem Jungle Adventure rem Steve Engelhardt rem 8/28/13 bank 1 temp1=temp1 set tv ntsc set kernel DPC+ set smartbranching on set optimization inlinerand set kernel_options collision(playfield,player1) rem bit variable to control l/r movement of sprites MoveFlag{0}=1 MoveFlag{1}=1 MoveFlag{2}=1 MoveFlag{3}=1 const pfscore=1 pfscore1=%00010101 pfscore2=%00000000 pfscorecolor=$F0 LifeCounter=0 score=0 goto Start bank2 bank 2 temp1=temp1 rem rem Set data tables for room shape and movement rem data room_shape 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 end data move_east 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0 end data move_west 15,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 end rem I always forget these values, threw it in here for reference. rem NUSIZ rem rem $0x missile = 1 pixel wide rem $1x missile = 2 pixels wide rem $2x missile = 4 pixels wide rem $3x missile = 8 pixels wide rem $x0 one copy of player and missile rem $x1 two close copies of player and missile rem $x2 two medium copies of player and missile rem $x3 three close copies of player and missile rem $x4 two wide copies of player and missile rem $x5 double-sized player rem $x6 three medium copies of player and missile rem $x7 quad-sized player rem rem CTRLPF rem rem $0x ball = 1 pixel wide rem $1x ball = 2 pixels wide rem $2x ball = 4 pixels wide rem $3x ball = 8 pixels wide rem $x1 none of the below rem $x3 left half of PF gets player0 color, right half gets player1 color rem $x5 players move behind playfield rem $x7 both of the above Start rem Preferred start room = 7 room = 7 player0x = 45 player0y = 53 gosub draw_room dim room = a dim p0_x = b dim p0_y = c dim LogDiff=d dim roomflagA=e dim roomflagB=f dim counter=g dim DifficultyCounter=h dim MoveVine=i dim MoveLog=j dim MoveAlligator=k dim MoveFlag=l dim ScorpionMove=m dim EnemyCounter=n dim LogCounter=n dim MoveArrow=o dim JoyFlag=p dim TreasureLoc=q dim DifficultyLevel=r dim MoveF=s dim TresureFlag=t dim TreasureX=u dim TreasureY=v dim random=w dim counter2=x dim PlayerAnimate=y dim LifeCounter=z MoveAlligator=25 MoveLog=156 MoveArrow=140 MoveF=26 counter=20 ScorpionMove=77 JoyFlag=1 rem Map Y locations rem 12 Treasure rem 12-46 Enemies rem ------------------------------------ Player0y=13 ----- rem 47 Ladder 52 Treasure rem 68-86 Enemies rem ------------------------------------ Player0y=53 ----- rem 87 Vine 92 Treasure rem 108-126 Enemies rem ------------------------------------ Player0y=93 ----- rem 127 Vine 132 Treasure rem 148-168 Enemies rem ------------------------------------ Player0y=133 ---- rem for testing rem TreasureLoc=7 rem TreasureX=77 rem TreasureY=92 rem goto main rem set initial location of Treasure rem set random starting room for Treasure TreasureLoc=(rand&15) rem set random starting X location for Treasure rem will be random between 20 and 148 TreasureX=(rand&127)+20 rem set random starting Y location for Treasure random=(rand&3) + 1 if random=1 then TreasureY=132 if random=2 then TreasureY=52 if random=3 then TreasureY=92 if random=4 then TreasureY=12 LogDiff=0 DifficultyLevel=0 DifficultyCounter=0 main rem for testing rem DifficultyLevel=2:LogDiff=1 NUSIZ1=$20 CTRLPF=$31 rem ballheight=8 rem Set Difficulty Level. if DifficultyCounter=0 then DifficultyLevel=0 if DifficultyCounter=5 then DifficultyLevel=1 if DifficultyCounter=15 then DifficultyLevel=2:LogDiff=1 rem collisions if collision(player0,ball) then LifeCounter=LifeCounter+1:goto death bank3 if room=0 then gosub r0c bank4 if room=1 then gosub r1c bank4 if room=2 then gosub r2c bank4 if room=3 then gosub r3c bank4 if room=4 then gosub r4c bank4 if room=5 then gosub r5c bank4 if room=6 then gosub r6c bank4 if room=7 then gosub r7c bank4 if room=8 then gosub r8c bank4 if room=9 then gosub r9c bank4 if room=10 then gosub r10c bank4 if room=11 then gosub r11c bank4 if room=12 then gosub r12c bank4 if room=13 then gosub r13c bank4 if room=14 then gosub r14c bank4 if room=15 then gosub r15c bank4 rem for test/dev, easier to tell which room you're in. rem doubles the vine in the middle if room=7 || room=9 then NUSIZ2=$04 else NUSIZ2=$00 COLUM0=counter NUSIZ0=$30: rem missile is 8 wide missile0height=5 counter=counter+1 if counter>80 then counter=0 EnemyCounter=EnemyCounter+1 if EnemyCounter>8 then EnemyCounter=1 rem the next two lines keep the scorpion from getting stuck in a vertical barrier if collision(player1,playfield) && player0xScorpionMove then ScorpionMove=ScorpionMove-2-DifficultyLevel player4x=ScorpionMove:player4y=157 rem move the scorpion if player0xScorpionMove && EnemyCounter=2 then NUSIZ4{3} = 0:ScorpionMove=ScorpionMove+1+DifficultyLevel skipscorpionmove rem arrange sprites and objects on each screen rem Room Changes rem rem player1/2 are swinging vines rem player3 is a ladder rem player4 is the scorpion rem player5 is an arrow rem player6 is log rem player7 is alligator rem player8 is a tar pit rem player9 is a treasure rem rem Remove 'player4x=180:player4y=180' to make the scorpion appear in any given room. rem arrange_sprites const p1y = p1x + 16 const p2x = p1x + 32 const p2y = p1x + 48 const p3x = p1x + 64 const p3y = p1x + 80 const p5x = p1x + 96 const p5y = p1x + 112 const p6x = p1x + 128 const p6y = p1x + 144 const p7x = p1x + 160 const p7y = p1x + 176 const p8x = p1x + 192 const p8y = p1x + 208 const p9x = p1x + 224 const p9y = p1x + 240 const blx = p1x + 256 const bly = p1x + 272 const m0x = p1x + 288 const m0y = p1x + 304 player1x = p1x[room] : player1y = p1y[room] player2x = p2x[room] : player2y = p2y[room] player3x = p3x[room] : player3y = p3y[room] player5x = p5x[room] : player5y = p5y[room] player6x = p6x[room] : player6y = p6y[room] player7x = p7x[room] : player7y = p7y[room] player8x = p8x[room] : player8y = p8y[room] player9x = p9x[room] : player9y = p9y[room] missile1x = blx[room] : missile1y = bly[room] missile0x = m0x[room] : missile0y = m0y[room] if room=TreasureLoc then missile0x = TreasureX : missile0y = TreasureY rem erase dropping vine in rooms if room<>6 then missile1height=1 rem Pick up treasure, score, and then place treasure in another random room if collision(player0,missile0) then DifficultyCounter=DifficultyCounter+1:score=score+100:missile0x=180:missile0y=180:gosub TreasureRelocate on room gosub r00 r01 r02 r03 ret r05 r06 r07 r08 r09 pl5 pl5 r12 ret pl5 r15 goto Player_Jump rem empty labels as place holders incase of needed r00 goto pl5 r01 NUSIZ7=$00 player4x=120:player4y=156 goto pl5 r02 missile1height=40:COLUM1=$F4: rem missile barrier NUSIZ8=$04 : rem ballx = MoveVine rem NUSIZ8{2}= 1 player6x = MoveLog goto pl4 r03 goto pl5 r04 r05 goto pl5 r06 missile1height=MoveVine:COLUM1=$F4:missile1x = 112 : missile1y = 25: rem missile vine that drops down player6x=MoveLog return thisbank r07 player5x = MoveArrow : player6x = MoveLog : player7x = MoveAlligator : NUSIZ7 = $06 goto pl4 r08 NUSIZ7 = $00 : rem ballx = MoveVine goto pl4 r09 player5x = MoveArrow : player6x = MoveLog NUSIZ8{2}= 1 goto pl4 r10 r11 r12 r13 r14 pl5 player5x = MoveArrow return thisbank r15 player6x = MoveLog : player7x = MoveAlligator NUSIZ7=$06 : NUSIZ8=$07 player8color: $86 $86 $86 $86 $86 $86 $86 $86 end pl4 player4x = 180 : player4y = 180 ret return thisbank rem 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 rem --------------------------------------------------------------------------------- rem 1 Middle Vine X 120 76 ... 44 116 116 72 ... 36 88 52 ... 120 120 104 ... rem 2 Middle Vine Y 87 127 ... 127 127 127 127 ... 127 127 127 ... 127 127 127 ... rem --------------------------------------------------------------------------------- rem 3 Bottom Vine X 36 ... 48 108 32 84 ... 56 ... 32 100 32 48 32 36 ... rem 4 Bottom Vine Y 127 ... 87 87 87 87 ... 87 ... 87 87 87 87 87 87 ... rem --------------------------------------------------------------------------------- rem 5 Top Ladder X 28 ... 96 128 92 116 72 ... 92 ... 44 104 100 76 ... ... rem 6 Top Ladder Y 47 ... 47 47 47 47 47 ... 47 ... 47 47 47 47 ... ... rem --------------------------------------------------------------------------------- rem 7 Arrow X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 8 Arrow Y 117 117 ... ... ... ... ... 77 ... 77 116 77 ... ... 77 ... rem --------------------------------------------------------------------------------- rem 9 Rolling Log X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 10 Rolling Log Y ... ... 117 ... ... ... 74 34 ... 34 ... ... ... ... ... 74 rem --------------------------------------------------------------------------------- rem 11 Alligator X ... 70 90 90 90 ... 90 ... 135 90 90 ... 90 ... ... ... rem 12 Alligator Y ... 40 ... ... ... ... ... 159 78 ... ... ... ... ... ... 159 rem --------------------------------------------------------------------------------- rem 13 Tar Pit X ... ... 43 ... ... ... ... ... ... 43 ... ... ... ... ... ... rem 14 Tar Pit Y ... ... 165 ... ... ... ... ... ... 165 ... ... ... ... ... ... rem --------------------------------------------------------------------------------- rem 15 Treasure X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 16 Treasure Y ... ... 88 ... ... ... ... ... *88 ... ... ... ... ... ... ... rem --------------------------------------------------------------------------------- rem 17 Missile0 X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 18 Missile0 Y ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem --------------------------------------------------------------------------------- rem 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 data p1x 120, 76, 180, 44, 116, 116, 72, 180, 36, 88, 52, 180, 120, 120, 104, 180, 87, 127, 180, 127, 127, 127, 127, 180, 127, 127, 127, 180, 127, 127, 127, 180, 36, 180, 48, 108, 32, 84, 180, 56, 180, 32, 100, 32, 48, 32, 36, 180, 127, 180, 87, 87, 87, 87, 180, 87, 180, 87, 87, 87, 87, 87, 87, 180, 28, 180, 96, 128, 92, 116, 72, 180, 92, 180, 44, 104, 100, 76, 180, 180, 47, 180, 47, 47, 47, 47, 47, 180, 47, 180, 47, 47, 47, 47, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 117, 117, 180, 180, 180, 180, 180, 77, 180, 77, 116, 77, 180, 180, 77, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 117, 180, 180, 180, 74, 34, 180, 34, 180, 180, 180, 180, 180, 74, 180, 70, 90, 90, 90, 180, 90, 180, 45, 90, 90, 180, 90, 180, 180, 180, 189, 40, 180, 180, 180, 180, 180, 159, 78, 180, 180, 180, 180, 180, 180, 159, 180, 180, 43, 180, 180, 180, 180, 180, 180, 43, 180, 180, 180, 180, 180, 180, 180, 180, 165, 180, 180, 180, 180, 180, 180, 165, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 88, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, end rem if joy0fire && !collision(player0,playfield) && player0y>10 then player0y=player0y-1:goto skipplat rem Player Jump rem Player_Jump JoyFlag=JoyFlag+1 if JoyFlag > 60 then set_JF if !joy0fire then set_JF if JoyFlag >= 20 then skipjump plat if player0y<30 && player0y>12 then player0y=13 : goto skipplat if player0y<70 && player0y>52 then player0y=53 : goto skipplat if player0y<110 && player0y>92 then player0y=93 : goto skipplat if player0y<150 && player0y>132 then player0y=133 goto skipplat set_JF JoyFlag = 1 skipjump if !collision(player1,player0) && player0y < 38 then player0y=26 : goto col_done goto limits skipplat if !collision(player0,playfield) then col_done limits if collision(player1,player0) then col_done if player0y>121 then player0y=146 : goto col_done if player0y>81 && player0y<112 then player0y=106 : goto col_done if player0y>41 && player0y<72 then player0y=66 col_done rem For Vine that Drops rem * if MoveFlag{1} && EnemyCounter<3 then MoveVine=MoveVine+2 if !MoveFlag{1} && EnemyCounter<3 then MoveVine=MoveVine-2 if MoveVine<1 then MoveFlag{1}=1 if MoveVine>148 then MoveFlag{1}=0 rem MoveFlag{2} is for alligator movement if MoveFlag{2} && EnemyCounter<2 then MoveAlligator=MoveAlligator+1 if !MoveFlag{2} && EnemyCounter<2 then MoveAlligator=MoveAlligator-1 if MoveAlligator<25 then MoveFlag{2}=1 if MoveAlligator>70 then MoveFlag{2}=0 rem MoveArrow=Arrow if EnemyCounter<4 then MoveArrow=MoveArrow-1-DifficultyLevel if MoveArrow<15 then MoveArrow=146 rem MoveF=Missile0 if EnemyCounter<3 then MoveF=MoveF+1+DifficultyLevel if MoveF>65 then MoveF=25 rem MoveLog=Log if EnemyCounter<6 then MoveLog=MoveLog-1-LogDiff if MoveLog<15 then MoveLog=146 rem set player heights player0height=20 player1height=20 player2height=20 player3height=20 player4height=11 player5height=4 player6height=13 player7height=8 player8height=7 player9height=13 rem player1/2 are swinging vines if counter=20 then player1-2: %01111110 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00001000 %00001000 %00001000 %00001000 %00001000 %00001000 %00000100 %00000010 %00000010 %00000010 %00000010 %00000010 end if counter=40 then player1-2: %01111110 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 end if counter=60 then player1-2: %01111110 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00100000 %00100000 %00100000 %00100000 %00100000 %00100000 %00100000 %01000000 %01000000 %01000000 %01000000 %01000000 %01000000 end if counter=80 then player1-2: %01111110 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 %00010000 end rem player3 is a ladder player3: %01111110 %01000010 %01000010 %01000010 %01111110 %01000010 %01000010 %01000010 %01111110 %01000010 %01000010 %01000010 %01111110 %01000010 %01000010 %01000010 %01111110 %01000010 %01000010 %01000010 end rem player4 is the scorpion if counter=40 then player4: %01110000 %11001000 %10001000 %10010000 %10000010 %11000110 %11111000 %11111000 %01111101 %00110010 %10000101 end if counter=80 then player4: %00000000 %01110000 %11001000 %10001000 %10010010 %11000100 %11111010 %11111000 %01111100 %00110011 %01001001 end rem player5 is an arrow player5: %01100001 %11111110 %11111110 %01100001 end rem player6 is undefined if LogCounter=3 then player6: %00000000 %00011000 %00111100 %01101110 %01111010 %01101110 %01111010 %01111110 %01100110 %01011010 %01011010 %00100100 %00011000 end if LogCounter=7 then player6: %00011000 %00111100 %01110110 %01011110 %01110110 %01011110 %01111110 %01100110 %01011010 %01011010 %00100100 %00011000 %00000000 end rem player7 is the alligator if counter<60 then player7: %00000000 %00000000 %00000100 %00000110 %11111111 %01010101 %10101011 %11111111 end if counter>59 then player7: %10000000 %11100100 %10111110 %00101111 %00001011 %00000011 %10101011 %11111111 end rem player8 is a tar pit player8: %11111111 %11111111 %11111111 %11111111 %11111111 %01111110 %00111100 end rem player9 is a treasure rem player9: rem end player0color: $F4 $F4 $F2 $F2 $F2 $4C $4C $4C $16 $16 $16 $16 $16 $EA $EA $EA $EA $F4 $F4 $E4 $E4 end player1color: $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 end player2color: $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 $D2 end player3color: $00 $F4 $F4 $F4 $F4 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 $C2 end player4color: $08 $08 $08 $08 $08 $08 $08 $08 $08 $08 $08 end player5color: 28 26 24 22 end player6color: $F6 $F6 $F6 $F6 $F6 $F6 $F6 $F6 $F6 $F6 $F6 $F6 $F6 end player7color: $C6 $C6 $C6 $C6 $C6 $C6 $C6 $C6 end if room=15 then skip8 player8color: 0 0 0 0 0 0 0 0 end skip8 player9color: 28 00 28 00 28 26 28 28 28 28 24 26 28 end pfcolors: $C6 ; sky - tree leaves $C6 ; sky - tree leaves $C6 ; sky - tree leaves $C6 ; sky - tree leaves $C6 ; sky - tree leaves $C6 ; sky - tree leaves $F0 ; sky - tree trunk $F0 ; sky - tree trunk $F0 ; sky - tree trunk $F0 ; sky - tree trunk $F0 ; sky - tree trunk $F0 ; sky - tree trunk $F4 ; walkway $F4 ; barriers $F4 ; barriers $F4 ; barriers $F4 ; barriers $F4 ; barriers $F0 ; barriers $F0 ; barriers $F0 ; barriers $F4 ; barriers $F4 ; walkway $F4 ; barriers $F4 ; barriers $F4 ; barriers $F4 ; barriers $F4 ; barriers $00 ; barriers $00 ; barriers $00 ; barriers $F4 ; barriers $F4 ; walkway $F4 ; barriers $F4 ; barriers $F4 ; barriers $F4 ; barriers $F4 ; barriers $00 ; barriers $00 ; barriers $00 ; barriers $F4 ; barriers $F4 ; walkway $F4 ; walkway end if room=15 || room=7 then goto altbk bkcolors: $88 ; sky $88 ; sky $88 ; sky $86 ; sky $86 ; sky $86 ; sky $84 ; sky $84 ; sky $84 ; sky $82 ; sky $82 ; sky $82 ; sky $82 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $C2 ; walkway - green $F4 ; walkway - brown $F4 ; walkway - brown $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $C2 ; walkway - green $F4 ; walkway - brown $F4 ; walkway - brown $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $C2 ; walkway - green $F4 ; walkway - brown $F4 ; walkway - brown $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $02 ; walkway - green $F4 ; walkway - brown $F4 ; walkway - brown $F4 ; walkway - brown $F4 ; walkway - brown $F0 end altbk_ret if joy0left then w=1:REFP0=8 if joy0right then w=0:REFP0=0 if w=0 then REFP0 = 0 if w=1 then REFP0 = 8 if !joy0up && !joy0down && !joy0left && !joy0right then y=20 :gosub still PlayerAnimate=PlayerAnimate+1 if PlayerAnimate=10 then player0: %00011000 %00011000 %00111100 %00111100 %00111100 %00011000 %00011000 %00010000 %00010000 %00100100 %00100100 %01111100 %01111100 %01011010 %01011010 %00100000 %00100000 %00011000 %00011000 %00011100 %00011100 end if PlayerAnimate=20 then player0: %00011000 %00011000 %00111100 %00111100 %00111100 %00011000 %00011000 %00010000 %00010000 %01100100 %01100100 %01000000 %00000000 %00011000 %00011000 %00110100 %00110100 %00100100 %00100100 %00000110 %00000110 end if PlayerAnimate=30 then player0: %00011000 %00011000 %00111100 %00111100 %00111100 %00011000 %00011000 %00010000 %00010000 %00100100 %00100100 %00111100 %00111100 %00101000 %00101000 %00011100 %00011100 %00110110 %00110110 %01100011 %01100011 %01000000 %01000000 end if PlayerAnimate>30 then PlayerAnimate=0 scorecolors: $20 $22 $24 $26 $28 $2A $2C $2E end if switchreset then reboot p0_x = 0 if joy0left then p0_x = 255 if joy0right then p0_x = 1 player0x = player0x + p0_x if collision(player0,playfield) then skip_ud if collision(player0,missile1) then skip_ud if !collision(player0,player1) then skip_ud p0_y = 0 if joy0up then p0_y = 255 if joy0down then p0_y = 1 player0y = player0y + p0_y skip_ud if player0x = 155 then gosub go_east if player0x = 1 then gosub go_west DF0FRACINC = 64 DF1FRACINC = 64 DF2FRACINC = 64 DF3FRACINC = 64 DF4FRACINC = 128 DF6FRACINC = 255 drawscreen if player0y>32 && collision(player0,playfield) then gosub knock_player_back if collision(player0,missile1) then gosub knock_player_back goto main TreasureRelocate rem Random new room TreasureLoc=(rand&15) rem set random starting X location for Treasure rem will be random between 20 and 148 TreasureX=(rand&127) +20 rem set random starting Y location for Treasure random=(rand&3) + 1 if random=1 then TreasureY=12 if random=2 then TreasureY=52 if random=3 then TreasureY=92 if random=4 then TreasureY=132 return thisbank altbk bkcolors: $88 ; sky $88 ; sky $88 ; sky $86 ; sky $86 ; sky $86 ; sky $84 ; sky $84 ; sky $84 ; sky $82 ; sky $82 ; sky $82 ; sky $82 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $80 ; sky $F6 ; walkway - green $F4 ; walkway - brown $F4 ; walkway - brown $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $F0 $C2 ; walkway - green $F4 ; walkway - brown $F4 ; walkway - brown $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $C2 ; walkway - green $F4 ; walkway - brown $F4 ; walkway - brown $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $86 ; walkway - green $84 ; walkway - brown $F4 ; walkway - brown $F4 ; walkway - brown $F4 ; walkway - brown $F0 end goto altbk_ret still player0: %00011000 %00011000 %00111100 %00111100 %00111100 %00011000 %00011000 %00010000 %00010000 %00100100 %00100100 %01111100 %01111100 %01011010 %01011010 %00100000 %00100000 %00011000 %00011000 %00011100 %00011100 end return thisbank knock_player_back player0x = player0x - p0_x player0y = player0y - p0_y - 1 return thisbank go_east rem ScreenCounter=ScreenCounter+1 rem if ScreenCounter>18 then ScreenCounter=1 ScorpionMove=75 MoveArrow=74 MoveLog=146 player0x = 10 room = move_east[room] goto draw_room go_west rem ScreenCounter=ScreenCounter+1 rem if ScreenCounter>18 then ScreenCounter=1 ScorpionMove=75 MoveLog=106 player0x = 150 room = move_west[room] draw_room temp1 = room_shape[room] on temp1 goto rs00 rs01 rs02 rs03 rs04 rs05 rs06 rs07 rs08 rs09 rs10 rs11 rs12 rs13 rs14 rs15 rs00 playfield: ...XXXXXXXX..................... ..XXXXXXXXXX.................... ..XXXXXXXXXX.................... ..XXXXXXXXXX.................... ...XXXXXXXX.................... ....XXXXXX..................... ......XX........................ .....XXX..........X............. .....XXXX.........X............. ......XXX..X......X............. .X....XX...X......X......X...... .X....XX...X..X...X...X..X..X..X X............................... X............................... X............................... X............................... X............................... X............................... X............................... X............................... X............................... X............................... X............................... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs01 playfield: ........XXXXXXXXXXXXX........... .......XXXXXXXXXXXXXXX.......... .......XXXXXXXXXXXXXXX.......... .......XXXXXXXXXXXXXXX.......... .........XXXXXXXXXXX............ ...........XXXXXXX.............. .............XXX.....X.......... .........X...XXXXXXXXX......... .........XXXXXXX..X............. .............XXX................ .............XXX................ .............XXX................ .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .......X........................ .......X........................ .......X........................ .......X........................ .......X........................ .......X........................ .......X........................ .......X........................ .......X........................ .......X........................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs02 playfield: ....XXXXX............XXXXX...... ...XXXXXXX..........XXXXXXX..... ..XXXXXXXXX........XXXXXXXXX.... ..XXXXXXXXX........XXXXXXXXX.... ...XXXXXXX..........XXXXXXX..... ....XXXXX............XXXXX...... ......X................X........ ......X................X........ ......X................X........ ......X................X........ ......X................X........ ......X................X........ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .............XXXX............... ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs03 playfield: ...XXXXXXXXXXXXX................ ..XXXXXXXXXXXXXXX............... ..XXXXXXXXXXXXXXX............... ..XXXXXXXXXXXXXXX............... ....XXXXXXXXXXX................. ......XXXXXXX................... ........XXX...X................. ..X.X...XXXXXXX................. ..XXXXXXXXX..X.................. ...X....XXX..................... ........XXX..................... .X..X...XXX..X..X..X..X..X...... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................X............... ................X............... ................X............... ................X............... ................X............... ................X............... ................X............... ................X............... ................X............... ................X............... ................X............... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs04 playfield: XXXXXXXXXXXXX........XXXXXXXX... XXXXXXXXXXXXX.......XXXXXXXXXX.. XXXXXXXXXXXXX.......XXXXXXXXXX.. XXXXXXXXXXXXX.......XXXXXXXXXX.. .XXXXXXXXXXX.........XXXXXXXX... ..XXXXXXXXX...........XXXXXX.... .....XXX......X.........XX...... .X...XXXXXXXXXX.......XXXX...... .XXXXXXX..X.............XXXX.... .....XXX................XX...... .....XXX................XX...... .....XXX................XX...... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs05 playfield: XXXXXXXXXXX.XXXXXXXXXXXXXX..XXX. XXXXXXXXXXX.XXXXXXXXXXXXXX.XXXXX XXXXXXXXXXX.XXXXXXXXXXXXXX.XXXXX XXXXXXXXXXX.XXXXXXXXXXXXXX.XXXXX .XXXXXXXXX...XXXXXXXXXXXX..XXXXX ..XXXXXXX.....XXXXXXXXXX....XXX. ....XXX..........XXXX........X.. ....XXX..........XXXX........X.. ....XXX..........XXXX........X.. ....XXX..........XXXX........X.. ....XXX..........XXXX........X.. ....XXX..........XXXX........X.. ...........X.................... ...........X.................... ..........XX.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs06 playfield: .XXXXXXXXXXXX........XXXXXXXXX.. .XXXXXXXXXXXX.......XXXXXXXXXXX. .XXXXXXXXXXXX.......XXXXXXXXXXX. ..XXXXXXXXXX........XXXXXXXXXXX. ...XXXXXXXX..........XXXXXXXXX.. ....XXXXXX............XXXXXXX... ......XX...............XXX...... ......XX.................XXX.... ......XX.................X...... ......XX.................X...... ......XX.................X...... ......XX.................X...... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ......X......................... ......X......................... ......X......................... ......X......................... ......X......................... ......X......................... ......X......................... ......X......................... ......X......................... ......X......................... ......X......................... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs07 playfield: .XXXXXX......XXXXXXXX......XXX.. XXXXXXXX....XXXXXXXXXX....XXXXX. XXXXXXXX....XXXXXXXXXX...XXXXXXX XXXXXXXX....XXXXXXXXXX...XXXXXXX .XXXXXX......XXXXXXXX.....XXXXX. ..XXXX........XXXXXX.......XXX.. ...XX...........XX..........X... ...XX...........XX..........X... ...XX...........XX......X...X... ...XX.......X...XX......X...X... ...XX.X..X..X...XX...X..X...X... .X.XX.X..X..X...XX...X..X...X.X. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ....................X........... ....................X........... ....................X........... ....................X........... ....................X........... ....................X........... ....................X........... ....................X........... ....................X........... ....................X........... ....................X........... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ end return thisbank rs08 playfield: XXXXXXXXXXXXXXXXX......XXXXXXXX. XXXXXXXXXXXXXXXXX.....XXXXXXXXXX XXXXXXXXXXXXXXXXX.....XXXXXXXXXX XXXXXXXXXXXXXXXXX.....XXXXXXXXXX .XXXXXXXXXXXXXXX.......XXXXXXXX. ..XXXXXXXXXXXXX.........XXXXXX.. .......XXX................XX.... .......XXXXX............XXXX.... .....XXXXX................XXXX.. .......XXX................XX.... .......XXX................XX.... .......XXX................XX.... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ..........................X..... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .............X.................. .............X.................. .............X.................. .............X.................. .............X.................. .............X.................. .............X.................. .............X.................. .............X.................. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs09 playfield: ..XXXXXXXXXXX................... ..XXXXXXXXXXX................... ..XXXXXXXXXXX................... ...XXXXXXXXX.................... ....XXXXXXX..................... .....XXXXX...................... .......X........................ ......XX........................ .......XX....................... .......X........................ .......X........................ .......X........................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs10 playfield: .........XXXXXXXXXXXXX...XXXXXX. ........XXXXXXXXXXXXXXX.XXXXXXXX ........XXXXXXXXXXXXXXX.XXXXXXXX ........XXXXXXXXXXXXXXX.XXXXXXXX ..........XXXXXXXXXXX...XXXXXXXX ............XXXXXXX......XXXXXX. ..............XXX..X.......XX... ..............XXXXXX.......XX... ..........XXXXXXX..........XX... ..........X...XXX..........XX... ..............XXX..........XX... ..............XXX..........XX... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... .........................X...... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ....X........................... ....X........................... ....X........................... ....X........................... ....X........................... ....X........................... ....X........................... ....X........................... ....X........................... ....X........................... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs11 playfield: .XXX.XXX.XXX.XXX.XXX........XXX. XXXXXXXXXXXXXXXXXXXXX......XXXXX XXXXXXXXXXXXXXXXXXXXX......XXXXX XXXXXXXXXXXXXXXXXXXXX......XXXXX XXXXXXXXXXXXXXXXXXXXX......XXXXX .XXX.XXX.XXX.XXX.XXX........XXX. ..X...X..XX...X...X..........X.. ..XX..X...XX..XX..X.........XX.. .XX...X...X...X..XX..........X.. ..X...X...X...X...X..........XX. ..X...X...X...X...X..........X.. ..X...X...X...X...X..........X.. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X......X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs12 playfield: ....XXXXX..............XXXXX.... ...XXXXXXX............XXXXXXX... ..XXXXXXXXX..........XXXXXXXXX.. ..XXXXXXXXX..........XXXXXXXXX.. ...XXXXXXX............XXXXXXX... ....XXXXX..............XXXXX.... ......X..X...............X...... ......XXXX.............XXX..X... ....XXX..................XXXX... ....X.X............X.....X...... ......X....X.......X.....X...... ..X...X....X.......X.....X...... ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X................ ...............X..X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ..................X............. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs13 playfield: ................................ ................................ ................................ ................................ ................................ ................................ .........................X...... ......X....X.............X...... ...X..X....X...........X.X...X.. ...X..X....X........X..X.X...X.. .X.X..X....X........X..X.X...X.. .X.X..X.X..X........X..X.X...X.. .........X...................... .........X...................... .........X...................... .........X...................... .........X...................... .........X...................... .........X...................... .........X...................... .........X...................... .........X...................... .........X...........X.......... .....................X.......... .....................X.......... .....................X.......... .....................X.......... .....................X.......... .....................X.......... .....................X.......... .....................X.......... .....................X.......... .....................X.......... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs14 playfield: ................................ ................................ ................................ ................................ ................................ ................................ .........................X...... ......X....X.............X...... ......X....X...........X.X...... ...X..X....X.....X.....X.X...X.. ...X..X....X..X..X..X..X.X...X.. .X.X..X.X..X..X..X..X..X.X...X.. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... ...........X.................... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end return thisbank rs15 playfield: ..XXXXX...XXXXXXXXXXX...XXXXX... .XXXXXXX..XXXXXXXXXXX..XXXXXXX.. XXXXXXXXX.XXXXXXXXXXX.XXXXXXXXX. XXXXXXXXX.XXXXXXXXXXX.XXXXXXXXX. .XXXXXXX...XXXXXXXXX...XXXXXXX.. ..XXXXX......XXXXX......XXXXX... ....X..........X..........X..... ....X..........X..........X..... ....X..........X..........X..... ....X..........X..........X..... ....X..........X..........X..... ....X..........X..........X..... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ...............................X ...............................X ...............................X ...............................X ...............................X ...............................X ...............................X ...............................X ...............................X ...............................X ...............................X ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ end return thisbank bank 3 temp1=temp1 death counter2=0 death2 counter2=counter2+1 drawscreen if joy0fire then goto main if counter2=61 then ballx=180:bally=180:goto Start bank2 if counter2=10 then player0: %00000110 %00000110 %00001111 %00001111 %00000110 %00000110 %00000000 %00000000 %01111110 %01111110 %10110001 %10110001 %00000000 %00000000 %00111000 %00111000 %00010110 %00010110 %00110010 %00110010 %00100011 %00100011 end if counter2=20 then player0: %00001100 %00001100 %00011110 %00011110 %00001100 %00001100 %00111100 %00111100 %01011101 %01011101 %00011010 %00011010 %00000000 %00000000 %00111000 %00111000 %00101000 %00101000 %00101100 %00101100 %01100100 %01100100 end if counter2=30 then player0: %00000110 %00000110 %00001111 %00001111 %00000000 %00000000 %01000110 %01000110 %00111100 %00111100 %00001110 %00001110 %00000010 %00000010 %00011001 %00011001 %01111000 %01111000 %01001100 %01001100 %11000110 %11000110 end if counter2=40 then player0: %00000110 %00000110 %00001111 %00001111 %00000000 %00000000 %00000000 %00000000 %00100000 %00100000 %00011100 %00011100 %00001110 %00001110 %00011001 %00011001 %00111100 %00111100 %01000110 %01000110 %11000011 %11000011 end if counter2=50 then player0: %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000110 %00000110 %00001111 %00001111 %00000000 %00000000 %00011110 %00011110 %10111101 %10111101 %11000100 %11000100 end if counter2=60 then player0: %00000000 end if LifeCounter=0 then pfscore1=168 : rem 3 if LifeCounter=1 then pfscore1=10 : rem 2 if LifeCounter=2 then pfscore1=4 : rem 1 if LifeCounter>2 then pfscore1=0:counter2=0:goto GameOver : rem 0 goto death2 GameOver NUSIZ0=$30: rem missile is 8 wide if switchreset then goto Start bank2 if counter2=0 then player0: %00000000 end counter2=counter2+1 scorecolors: $40 $42 $44 $46 $48 $4A $4C $4E end drawscreen if joy0fire && counter>4 then score=0:LifeCounter=0:pfscore1=%00010101:goto Start bank2 goto GameOver bank 4 temp1=temp1 rem Map Y locations rem +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ rem | 12 Treasure | rem | 12-46 Enemies |4 rem | ------------------------------------ Player0y=13 -----| rem | 47 Ladder 52 Treasure | rem | 68-86 Enemies |3 rem | ------------------------------------ Player0y=53 -----| rem | 87 Vine 92 Treasure | rem | 108-126 Enemies |2 rem | ------------------------------------ Player0y=93 -----| rem | 127 Vine 132 Treasure | rem | 148-168 Enemies |1 rem | ------------------------------------ Player0y=133 ----| rem +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ rem rem player1/2 are swinging vines rem player3 is a ladder rem player4 is the scorpion rem player5 is an arrow rem player6 is log rem player7 is alligator rem player8 is a tar pit rem --------------------------------------------------------------------------------- rem Player/Descript. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 rem --------------------------------------------------------------------------------- rem 1/2 Middle Vine X 120 76 ... 44 116 116 72 ... 36 88 52 ... 120 120 104 ... rem 1/2 Middle Vine Y 87 127 ... 127 127 127 127 ... 127 127 127 ... 127 127 127 ... rem --------------------------------------------------------------------------------- rem 1/2 Bottom Vine X 36 ... 48 108 32 84 ... 56 ... 32 100 32 48 32 36 ... rem 1/2 Bottom Vine Y 127 ... 87 87 87 87 ... 87 ... 87 87 87 87 87 87 ... rem --------------------------------------------------------------------------------- rem 3 Top Ladder X 28 ... 96 128 92 116 72 ... 92 ... 44 104 100 76 ... ... rem 3 Top Ladder Y 47 ... 47 47 47 47 47 ... 47 ... 47 47 47 47 ... ... rem --------------------------------------------------------------------------------- rem 5 Arrow X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 5 Arrow Y 117 117 ... ... ... ... ... 77 ... 77 116 77 ... ... 77 ... rem --------------------------------------------------------------------------------- rem 6 Rolling Log X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 6 Rolling Log Y ... ... 117 ... ... ... 74 34 ... 34 ... ... ... ... ... 74 rem --------------------------------------------------------------------------------- rem 7 Alligator X ... 70 90 90 90 ... 90 ... 135 90 90 ... 90 ... ... ... rem 7 Alligator Y ... 40 ... ... ... ... ... 159 78 ... ... ... ... ... ... 159 rem --------------------------------------------------------------------------------- rem 8 Tar Pit X ... ... 43 ... ... ... ... ... ... 43 ... ... ... ... ... ... rem 8 Tar Pit Y ... ... 165 ... ... ... ... ... ... 165 ... ... ... ... ... ... rem --------------------------------------------------------------------------------- rem 9 Treasure X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 9 Treasure Y ... ... 88 ... ... ... ... ... 88 ... ... ... ... ... ... ... rem --------------------------------------------------------------------------------- rem 17 Missile0 X ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem 18 Missile0 Y ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... rem --------------------------------------------------------------------------------- rem enemies on bottom level rem 0 S rem 1 S rem 2 TP rem 3 S rem 4 S rem 5 S rem 6 S rem 7 A rem 8 None rem 9 TP rem 10 S rem 11 S rem 12 S rem 13 S rem 14 S rem 15 A rem This section is for collision detection in each room rem a ball is placed behind each "enemy" object r0c rem 1 ... rem 2 ... rem 3 Arrow rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballheight=7:ballx = player5x +1 : bally = player5y if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r1c rem 1 Alligator rem 2 ... rem 3 ... rem 4 ... if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballheight=4:ballx = player7x+1:bally = player7y if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballx = 180 : bally = 180 if player0y>133 then ballx = 180 : bally = 180 return otherbank r2c rem 1 ... rem 2 ... rem 3 Rolling Log rem 4 Tar Pits if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballheight=8:ballx = player6x+1:bally = player6y+1 if player0y>133 then ballx = 180:bally = 180 if player0y>140 && collision(player1,player0) then LifeCounter=LifeCounter+1:goto death bank3 return otherbank r3c rem 1 ... rem 2 ... rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r4c rem 1 ... rem 2 ... rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r5c rem 1 ... rem 2 ... rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r6c rem 1 ... rem 2 Rolling Log rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballheight=8:ballx = player6x+1:bally = player6y+1 if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r7c rem 1 Rolling Log rem 2 Arrow rem 3 ... rem 4 Alligators (Moving) if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballheight=8:ballx = player6x:bally = player6y+1 if player0y>52 && player0y<93 then ballheight=7:ballx = player5x +1 : bally = player5y if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballx = 180:bally = 180 if player0y>140 && collision(player1,player0) then LifeCounter=LifeCounter+1:goto death bank3 return otherbank r8c rem 1 ... rem 2 Alligator (Static) rem 3 ... rem 4 ... if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballheight=4:ballx = player7x +1 : bally = player7y if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballx = 180:bally = 180 rem if player0y>12 && player0x<53 && collision(player1,player0) then LifeCounter=LifeCounter+1:goto death bank3 return otherbank r9c rem 1 Rolling Log rem 2 Arrow rem 3 ... rem 4 Tar Pits if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballheight=8:ballx = player6x:bally = player6y+1 if player0y>52 && player0y<93 then ballheight=7:ballx = player5x +1 : bally = player5y if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballx = 180:bally = 180 if player0y>140 && collision(player1,player0) then LifeCounter=LifeCounter+1:goto death bank3 return otherbank r10c rem 1 ... rem 2 ... rem 3 Arrow rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballheight=7:ballx = player5x +1 : bally = player5y if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r11c rem 1 ... rem 2 Arrow rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballheight=7:ballx = player5x +1 : bally = player5y if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r12c rem 1 ... rem 2 ... rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r13c rem 1 ... rem 2 ... rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballx = 180:bally = 180 if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r14c rem 1 ... rem 2 Arrow rem 3 ... rem 4 Scorpion if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballheight=7:ballx = player5x +1 : bally = player5y if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballheight=6:bally = 158 :ballx = ScorpionMove + 1 return otherbank r15c rem 1 ... rem 2 Rolling Log rem 3 ... rem 4 Alligators (Moving) if player0y<13 then ballx = 180:bally = 180 if player0y>12 && player0y<53 then ballx = 180:bally = 180 if player0y>52 && player0y<93 then ballheight=8:ballx = player6x+1:bally = player6y+1 if player0y>92 && player0y<134 then ballx = 180:bally = 180 if player0y>133 then ballx = 180:bally = 180 if player0y>140 && collision(player1,player0) then LifeCounter=LifeCounter+1:goto death bank3 return otherbank bank 5 temp1=temp1 bank 6 temp1=temp1