set kernel_options pfheights playfield: ................................ ..............XXXX.............. ..............XXXX.............. .............XXXXXX............. .............XXXXXX............. ............X..X..X............. ............XXXXXXX............. ............X..X..X............. ............XXXXXXX............. ............X..X..X............. ............XXXXXXXX............ end pfheights: 4 12 4 12 4 12 4 12 4 12 8 end player1y=8 player0: %1100010 %1010010 %1010010 %1010010 %1100111 %0000000 %1010110 %1010001 %1010010 %1010100 %1100011 %0000000 %1010101 %1110101 %1010111 %1110101 %0100010 %0000000 %0000111 %0000100 %0000111 %0000100 %0000111 %0000000 %0100111 %0100101 %0100110 %1010101 %1010110 %0000000 %0100000 %0100000 %0100000 %0100000 %1110000 %0000000 %1110111 %1010100 %1010111 %1010100 %1010111 %0000000 %1010101 %1010101 %1110111 %1010101 %0100101 %0000000 %1110010 %1000010 %1110010 %1000010 %1110111 %0000000 %1100000 %1010000 %1100000 %1010000 %1100000 end title_screen player0x=40 : player0y=80 : COLUPF=6 COLUBK=136 : COLUP0=66 : COLUP1=66 if joy0fire then d{0}=1 if !joy0fire && d{0} then d{0}=0 : goto main_setup a=a+1 if a<19 then player1x=78 : player1: %01010101 %01010101 %00100010 %01110111 %00100010 %01110111 %01110111 end if a>18 && a<39 then player1x=78 : player1: %01010101 %01010101 %00100010 %01110111 %10100010 %01110111 %01110111 end if a>39 then player1x=79 : player1: %10101010 %10101010 %01000100 %11101110 %01000101 %11101110 %11101110 end if a>60 then a=0 drawscreen goto title_screen main_setup player0x=130 : player0y=81 pfheights: 4 12 4 12 4 12 4 12 4 12 8 end player1: %00100100 %00100100 %00100100 %00111100 %10111101 %10111101 %10111101 %11111111 %00011000 %00111100 %01111110 %10000001 %11111111 %11011011 %01111110 end b=0 player0: %0010100 %0010100 %1010101 %1010101 %1011101 %1011101 %0111110 %0001000 %0011100 %0011100 %0011100 end close_a_window playfield: ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. ..XX.....XX.....XX.....XX.....XX.. ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. ..XX.....XX.....XX.....XX.....XX.. ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. ..XX.....XX.....XX.....XX.....XX.. ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. ..XX.....XX.....XX.....XX.....XX.. ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. ..XX.....XX.....XX.....XX.....XX.. ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. .................................. end a=rand/64 if b=3 && a=0 then pfhline 4 3 8 on if b=3 && a=1 then pfhline 11 3 15 on if b=3 && a=2 then pfhline 18 3 22 on if b=3 && a=3 then pfhline 25 3 29 on if b=2 && a=0 then pfhline 4 5 8 on if b=2 && a=1 then pfhline 11 5 15 on if b=2 && a=2 then pfhline 18 5 22 on if b=2 && a=3 then pfhline 25 5 29 on if b=1 && a=0 then pfhline 4 7 8 on if b=1 && a=1 then pfhline 11 7 15 on if b=1 && a=2 then pfhline 18 7 22 on if b=1 && a=3 then pfhline 25 7 29 on if b=0 && a=0 then pfhline 4 9 8 on if b=0 && a=1 then pfhline 11 9 15 on if b=0 && a=2 then pfhline 18 9 22 on if b=0 && a=3 then pfhline 25 9 29 on main c=c+1 if joy0down && player0y<80 then d{1}=1 if !g{0} && !g{1} then f=f+1 : missile1x=28 : missile1y=20 if f>128 then f=0 : g{0}=1 player1x=30 : player1y=22 if g{0} || g{1} then gosub rock_falling COLUBK=136 : COLUP0=0 : COLUP1=242 : COLUPF=6 missile1height=3 : NUSIZ1=$20 drawscreen if player0y>78 then b=0 if player0y<78 && player0y>62 then b=1 if player0y<62 && player0y>40 then b=2 if player0y<40 then b=3 if player0y>81 then player0y=81 if c>240 then c=0 : goto close_a_window if joy0left then player0x=player0x-1 if joy0right then player0x=player0x+1 if joy0fire && e=0 && player0y=81 then d{0}=1 if joy0fire && e=0 && player0y=65 then d{0}=1 if joy0fire && e=0 && player0y=49 then d{0}=1 if joy0fire && e=0 && player0y=33 then d{0}=1 if joy0fire && e=0 && player0y=17 then d{0}=1 if d{1} then player0y=player0y+1 if d{0} then e=e+1 if d{0} && e<15 then player0y=player0y-1 if e>14 then e=0 : d{0}=0 : d{1}=1 if joy0down && player0y<80 then d{1}=1 if !collision(player0,playfield) && !d{0} then d{1}=1 if joy0down && player0y=16 then d{1}=1 if joy0up then goto main_up if player0y=80 && !joy0up && !joy0down && !d{0} then player0y=81 if player0y=64 && !joy0up && !joy0down && !d{0} then player0y=65 if player0y=48 && !joy0up && !joy0down && !d{0} then player0y=49 if player0y=32 && !joy0up && !joy0down && !d{0} then player0y=33 if player0y=16 && !joy0up && !joy0down && !d{0} then player0y=17 if player0y=81 then d=0 if player0y=65 then d=0 if player0y=49 then d=0 if player0y=33 then d=0 if player0y=17 then d=0 if !joy0up then goto main main_up if joy0up && player0x>32 && player0x<45 && a=0 then d{2}=1 : player0y=player0y-1 if joy0up && player0x>60 && player0x<73 && a=1 then d{2}=1 : player0y=player0y-1 if joy0up && player0x>88 && player0x<101 && a=2 then d{2}=1 : player0y=player0y-1 if joy0up && player0x>118 && player0x<130 && a=3 then d{2}=1 : player0y=player0y-1 goto main rock_falling if g{0} then missile1y=missile1y+1 if missile1y=81 && b=0 then g{0}=0 : g{1}=1 if missile1y=65 && b=1 then g{0}=0 : g{1}=1 if missile1y=49 && b=2 then g{0}=0 : g{1}=1 if missile1y=33 && b=3 then g{0}=0 : g{1}=1 if g{1} && missile1x<140 then missile1x=missile1x+1 if missile1x>139 then g{1}=0 return