set kernel_options player1colors e=1 : AUDV1=0 : f=246 data bass_value 20, 16, 27, 16, 20, 16, 27, 16 18, 15, 27, 15, 18, 15, 27, 15 20, 16, 27, 16, 20, 16, 27, 16 18, 15, 27, 15, 18, 15, 27, 15 20, 16, 27, 16 20, 16, 27, 16 20, 16, 27, 16 27, 24, 27, 20 20, 18, 16, 18, 16, 20, 27, 20 end data bass_length 30, 30, 30, 30, 30, 30, 30, 30 30, 30, 30, 30, 30, 30, 30, 30 30, 30, 30, 30, 30, 30, 30, 30 30, 30, 30, 30, 30, 30, 30, 30 30, 30, 30, 30 30, 30, 30, 30 30, 30, 30, 30 30, 60, 30, 120 10, 10, 10, 20, 10, 20, 10, 20 end data notes_value 24, 20, 18, 20, 24, 31, 24, 20, 18, 20, 24 23, 15, 13, 15, 18, 23, 18, 15, 13, 15, 18 24, 20, 18, 20, 24, 31, 24, 20, 18, 20, 24 23, 15, 13, 15, 18, 23, 18, 15, 13, 15, 18 15, 18, 20, 24 15, 18, 20, 24 15, 18, 20, 24 20, 18, 16, 15 end data notes_length 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 130 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 140 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 140 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 150 30, 30, 30, 30 30, 30, 30, 30 30, 30, 30, 30 30, 60, 30, 230 end title_song playfield: ..X.XX.XX.XX..XXX.XX.XXX.XX.XXX. .X..XX.XX.X.X.X...X..X.X.XX.X.X. ..X.XX.XX.X.X.X.X.XX.XX..XX.XX.. ..X.X..XX.X.X.X.X.X..X.X.XX.X.X. .X..X..XX.X.X.XXX.XX.XX..XX.XX.. ................................ ................................ ................................ ................................ ................................ ................................ end COLUPF=28 drawscreen if joy0fire then i{0}=1 if !joy0fire && i{0} then i{0}=0 : goto after_death AUDC0=4 : AUDF0=notes_value[b] AUDC1=12 : AUDF1=bass_value[g] f=f+1 if f<120 then AUDV1=6 else AUDV1=0 if f>bass_length[h] && f<240 then f=0 : h=h+1 : g=g+1 if c>notes_length[d] then c=0 : d=d+1 : b=b+1 if d>59 then b=0 : d=0 : g=0 : h=0 : AUDF0=24 : f=246 c=c+1 if c<120 && h<46 then AUDV0=6 if c>120 && h>46 then AUDV0=0 goto title_song after_death b=0 : c=0 : d=0 : f=0 : g=0 : h=0 AUDV0=0 : AUDV1=0 player1x=30 : player1y=83 : d=0 choose_screen player0x=130 : player0y=20 if !b{3} then player1y=83 if b{3} then player1y=14 if e=1 then playfield: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ................................ ................................ ................................ ................................ ................................ ............XXXXXXXXXXXXX....... ................................ ................................ ................................ XXXXXXXXXXXX........XXXXXXXXXXXX end if e=2 then playfield: XXXXXXXXXXXX........XXXXXXXXXXXX ................................ ................................ .......XXXXXXXXXXXXXXXXXXXXXXXXX ................................ ................................ XXXXXX.....................XXXXX ................................ ................................ ................................ XXXXXXXXXXXX........XXXXXXXXXXXX end player0: %01010100 %10100010 %10100010 %01010100 %01111100 %11110110 %11011110 %01111100 end standing if d=0 then player1: %1100011 %0100010 %0100010 %0100010 %1111111 %1111111 %1111111 %1111111 %1000001 %1011101 %1111111 %1110001 %1111111 %1001001 %1001001 %1111111 end player1color: 0 0 28 28 242 242 14 28 28 28 28 28 28 28 28 28 28 28 end goto main walk if d<7 then player1: %0110100 %0010010 %0010100 %0001000 %0011100 %0011100 %0011100 %0011100 %0001100 %0010100 %0011100 %1111100 %0011100 %0010100 %0010100 %0011100 end if d>8 then player1: %00110000 %00010000 %00010000 %00010000 %00111000 %00111000 %00111000 %00111000 %00011000 %00101000 %00111000 %11111000 %00111000 %00101000 %00101000 %00111000 end main rem a = jumptimer rem c{0} = going up rem c{1} = going down rem c{2} = going down when touching playfield rem b{2} = death rem b{3} = checks to see if player1 is on a ledge rem d=walking animation timer rem e=screen # rem f=jellyfish movement/death timer rem g=close var #1 rem h=close var #2 rem i=close var #3 scorecolor=28 f=f+1 if !b{2} && f>3 then f=0 : gosub move_jellyfish if collision(player0,player1) then b{2}=1 PF0=$ff b{3}=0 if player1y=27 then b{3}=1 if player1y=51 then b{3}=1 if player1y=83 then b{3}=1 if player1y>90 && player1y<100 then e=e+1 : b{3}=1 : goto choose_screen if player1y>99 && e>1 then e=e-1 : b{3}=0 : goto choose_screen if !b{2} then AUDC0=2 : AUDF0=2 : AUDV0=k COLUPF=212 : COLUBK=164 : COLUP0=84 drawscreen if b{2} && f>59 then f=255 : b{2}=0 : b{3}=0 : goto after_death if b{2} && f<60 then goto choose_pos if joy0fire && !c{0} && !c{1} && !c{2} then a=0 : c{0}=1 if c{0} then a=a+1 : player1y=player1y-1 if !joy0fire && c{0} then c{0}=0 : c{1}=1 if collision(player1,playfield) && a>3 && c{0} then a=0 : c{0}=0 : c{2}=1 if !collision(player1,playfield) && c=0 && b{3} then a=0 : c{1}=1 if c{2} then player1y=player1y+1 if c{2} && !collision(player1,playfield) then c{2}=0 : c{1}=1 if collision(player1,playfield) && c{1} && b{3} then c{1}=0 : c{2}=0 : a=0 if a>50 then a=0 : c{0}=0 : c{1}=1 if c{1} then player1y=player1y+1 if joy0left && player1x>17 then player1x=player1x-1 : REFP1=0 if joy0right && player1x<137 then player1x=player1x+1 : REFP1=8 if !joy0left && !joy0right then d=0 if joy0left || joy0right then d=d+1 if d>14 then d=1 rem jellyfish noise control k=0 choose_pos if d>0 then goto walk if d=0 then goto standing move_jellyfish if player0x