set kernel multisprite pfheight=3 title_screen playfield: ................. ................. ................X ................X ................X ...............XX ...............X. ...............XX ..............X.X ..............XXX ..............X.X ..............XXX .............XXXX .............XX.X .............XXXX .............XX.X .............XXXX .............XX.X .............XXXX .............XX.X .............XXXX XXXXXXXXXXXXXXXXX end COLUPF=242 : COLUBK=136 c=1 player0x=0 : player0y=0 player2x=0 : player2y=0 player1x=0 : player1y=0 if joy0fire then a{0}=1 if !joy0fire && a{0} then a{0}=0 : goto after_reset drawscreen goto title_screen after_reset c=1 score=0 new_floor playfield: ..XX...XX...XXXX ..XX...XX...XXXX ..XXXXXXXXXXXXXX ..XXXXXXXXXXXXXX ..XX...XX...XXXX ..XX...XX...XXXX ..XX...XX...XXXX ..XX...XX...XXXX ..XXXXXXXXXXXXXX ..XXXXXXXXXXXXXX ..XX...XX...XXXX ..XX...XX...XXXX ..XX...XX...XXXX ..XX...XX...XXXX ..XXXXXXXXXXXXXX ..XXXXXXXXXXXXXX ..XX...XX...XXXX ..XX...XX...XX.. ..XX...XX...XX.. ..XX...XX...XX.. XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX end player0: %0110110 %0010100 %0010100 %0010100 %0010100 %0011100 %1011101 %1011101 %1011101 %0111110 %0001000 %0011100 %0011100 %0011100 end player1: %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 end player2: %10101010 %11111111 %00000101 end new_level player0x=128 : player0y=18 player1x=0 : player1y=0 player2x=141 if a{0} then goto main rem c=level (building width) main player3x=44 : player3y=85 k{3}=0 if player0x>24 && player0x<42 then k{3}=1 if player0x>44 && player0x<63 then k{3}=1 if player0x>88 && player0x<107 then k{3}=1 if player0x>108 && player0x<127 then k{3}=1 if player0x<16 then player0y=player0y-5 if player0x>136 then player0y=player0y-5 if k{1} && player0y>84 && player2y=78 then k{1}=0 : k{0}=1 if k{1} && !k{0} then player2y=player2y-v : v=24 n=player2y+13 if k{1} && n=player0y then k{1}=0 : k{0}=1 if k{1} && player2y=5 then k{1}=0 : k{0}=1 if k{0} && !k{1} then p=p+1 if k{0} && !k{1} && p>1 then p=0 : player2x=player2x+1 if player2x>130 then k{0}=0 : gosub new_mouse if switchreset then reboot if f=0 then gosub get_window f=f+1 if player0y>84 && player0x<40 then goto between_floors a{4}=1 _NUSIZ1=$05 a{2}=1 if player0y=18 then a{2}=0 : e=1 if player0y=42 then a{2}=0 : e=2 if player0y=66 then a{2}=0 : e=3 if player0y=90 then a{2}=0 : e=4 if a{0} && !a{2} then a{0}=0 rem if a{2} && collision(player0,playfield) then a{3}=0 if joy0left then player0x=player0x-1 if joy0right then player0x=player0x+1 if joy0up && !k{3} then goto ds if joy0up && collision(player0,player1) && k{3} then player0y=player0y+8 : a{1}=0 : a{2}=0 if a{1} || a{0} then goto jumping_up_down h=player1x+2 if joy0down && !a{7} && player0y>18 then player0y=player0y-24 : a{7}=1 if joy0down && a{7} then goto ds ds if !joy0down then a{7}=0 : a{0}=0 if joy0fire && !a{0} && !a{1} && !a{6} then a{1}=1 jumping_up_down if !joy0up && a{2} && !a{1} && a{4} && !a{7} then a{0}=1 if a{1} && !a{6} then b=b+1 : player0y=player0y+5 : rem THIS LINE if a{1} && b=3 then b=0 : a{1}=0 : a{6}=1 if a{6} then a{0}=0 : j=j+1 if a{6} && !joy0fire then a{6}=0 : j=0 : a{1}=0 : a{0}=1 if a{6} && j>25 then a{6}=0 : j=0 : a{0}=1 if !a{0} && !a{1} && a{2} && !a{6} && !collision(player0,playfield) then a{0}=1 if a{3} && !a{1} && !collision(player0,playfield) then a{3}=0 m=player2x-12 if player0y=n && player0x>m && player0x41 && player0y<66 then player1y=48 if player0y>61 then player1y=72 return new_mouse player2x=30 : player2y=78 : k{1}=1 : k{0}=0 : v=25 return between_floors playfield: ................. ................. ................X ................X ................X ...............XX ...............X. ...............XX ..............X.X ..............XXX ..............X.X ..............XXX .............XXXX .............XX.X .............XXXX .............XX.X .............XXXX .............XX.X .............XXXX .............XX.X .............XXXX XXXXXXXXXXXXXXXXX end player3x=0 : player3y=0 score=score+1 c=c+1 : player2x=0 : player2y=0 if c=2 then y=18 : player0: %11111111 %11111111 %11111111 %11111111 %11110011 %11110011 %11110011 %11110011 %11111111 %11111111 %11111111 %11111111 end if c=2 then z=16 : player1: %11111111 %11111111 %11111111 %11111111 %11001111 %11001111 %11001111 %11001111 %11111111 %11111111 %11111111 %11111111 end if c=3 then y=26 : player0: %11111111 %11111111 %11111111 %11111111 %11110011 %11110011 %11110011 %11110011 %11111111 %11111111 %11111111 %11111111 %11110011 %11110011 %11110011 %11110011 %11111111 %11111111 %11111111 %11111111 end if c=3 then z=24 : player1: %11111111 %11111111 %11111111 %11111111 %11001111 %11001111 %11001111 %11001111 %11111111 %11111111 %11111111 %11111111 %11001111 %11001111 %11001111 %11001111 %11111111 %11111111 %11111111 %11111111 end a{1}=1 if joy0fire then a{2}=1 : a{1}=0 else a{2}=0 a{0}=1 between_floors_main NUSIZ0=$05 : _NUSIZ1=$05 if !joy0fire && a{2} then a{2}=0 : a{1}=1 if joy0fire && a{1} && !a{2} then a{0}=0 if !joy0fire && !a{0} && a{1} && !a{2} then a{0}=1 : goto new_floor player0y=y : player0x=63 player1y=z : player1x=84 COLUPF=242 : COLUP0=64 : _COLUP1=64 drawscreen goto between_floors_main