set kernel_options no_blank_lines set romsize 2k const noscore=1 title_screen if w<64 then w=w+1 : z=1 : t=w/2 if w>63 then u=0 : y=0 bally=200 playfield: .X.....XXX...XXX...XXX...X.X..... .X.....X.X...X.X...X.X...X.X..... .X.....XXX...XX....XX.....X...... .X.....X.X...X.X...X.X....X...... .X.....X.X...X.X...X.X....X...... .X............................... .X.....XXX...XX.XX.........XX.... .X.....X.....X.X.X.........X.X... .X.....XXX...X...X.........X.X... .X.....X.....X...X.........X.X... .XXXX..XXX...X...X.........X.X... end player0: %10101011 %10101010 %10111011 %10101010 %10101011 %10000000 end player1: %00011000 %00011000 %00011000 %01111110 %01111110 %01111110 %01111110 %01111110 %01111110 %01111110 %01111110 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %01111110 %01111110 %01111110 %01111110 %01111110 %01111110 %01111110 %01111110 %00011000 %00011000 %00011000 end player0x=78 : player0y=47 : missile1x=78 : missile1y=41 : NUSIZ1=$25 player1x=99 : player1y=89 player0score=$80 if !joy0fire then main beginning_game playfield: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. X..............................X. X..XX..XX..XX..XX..XX..XX..XX..X. X..............................X. X..XX..XX..XX..XX..XX..XX..XX..X. X..............................X. X..XX..XX..XX..XX..XX..XX..XX..X. X..............................X. X..XX..XX..XX..XX..XX..XX..XX..X. X..............................X. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. end player0: %00011110 %00110011 %11110001 end player1: %00111100 %01111110 %11111111 %01111110 %00111100 end new_game player1score=0 : player0score=0 : y=0 : v=0 new_game_2 player1x=21 : player1y=21 player0x=101 player0y=79 : m=79 get_new_present ballx=(rand/4)+21 bally=(rand/4)+15 main if switchreset then goto title_screen player1scorecolor=26 : COLUBK=$c6 : COLUPF=$44 if switchbw then player1scorecolor=12 : COLUBK=4 : COLUPF=0 ballheight=2 CTRLPF=$21 AUDV0=u : AUDC0=z : AUDF0=t drawscreen if player0score=$80 then goto title_screen if z>0 then w=w+1 if w>15 then z=0 : w=0 if player0score>$79 then z=1 : u=4 : y=1 : w=0 missile1y=100 NUSIZ1=$00 y=y+1 if y=255 then player0score=addbcd(player0score, 5) if collision(player1,player0) then player0score=addbcd(player0score, 5) : z=3 : u=4 : t=24 : goto new_game_2 if collision(ball,playfield) then ballx=ballx+1 if collision(player1,ball) then player1score=addbcd(player1score, 1) : z=4 : u=4 : t=24 : goto get_new_present move_enemy s=s+1 : m=m+1 if s{0} then move_player if m>31 then get_enemy_dir goto enemy_move get_enemy_dir m=0 if player0y<=player1y && n>2 then n=2 : goto enemy_move if player0y>player1y && n>2 then n=1 : goto enemy_move n=3 if player0x