set kernel_options no_blank_lines readpaddle currentpaddle = 0 drawscreen dim ea = a dim dy = b dim dx = c dim x1 = temp1 dim x0 = temp2 dim y1 = temp3 dim y0 = temp4 dim delay = h dim rand16 = z dim xpos = k dim ypos = l x = 0 y = 3 t = 0 p = paddle player0: %11000000 %11000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 end player1: %11110000 %11110000 %11110000 %11110000 %00000000 %00000000 %00000000 %00000000 end xpos = 14 : ypos = 9 pfpixel xpos ypos on goto enter loop COLUP0 = $1C COLUP1 = $B4 COLUPF = $62 scorecolor = $2A drawscreen if xpos <> x && ypos <> y then pfpixel xpos ypos on: gosub move if p <> paddle then x = paddle : p=paddle : goto enter goto loop enter xpos=14 : ypos=9 pfpixel xpos ypos on x0 = xpos : y0 = ypos x1 = x : y1 = y gosub setup_move goto pf move temp1 = ea if f{0} then skip ypos = ypos + yinc[f] ea = ea - dx if temp1 < ea then ea = ea + dy : xpos = xpos + xinc[f] return skip xpos = xpos + xinc[f] ea = ea - dy if temp1 < ea then ea = ea + dx : ypos = ypos + yinc[f] return setup_move if x0 < x1 then f{2} = 1 : dx = x1 - x0 else f{2} = 0 : dx = x0 - x1 if y0 < y1 then f{1} = 1 : dy = y1 - y0 else f{1} = 0 : dy = y0 - y1 if dx > dy then f{0} = 1 : ea = dx else f{0} = 0 : ea = dy var36 = f return data yinc $FF, $FF, $01, $01, $FF, $FF,$01, $01 end data xinc $FF, $FF, $FF, $FF, $01, $01, $01, $01 end pf playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ end goto loop