SCREEN 13
DEFINT A-Z
speed = 0
COLOR 11
'-----------------
col = 80: row = 60
colb = 40: rowb = 20
var1 = 1: var2 = 1
var1b = 1: var2b = 1

'---draw random squares---
FOR repeats = 1 TO 50
k = RND * 90 + 1
c = RND * 320
r = RND * 200
LINE (c, r)-(c + 10, r + 10), k, BF
NEXT repeats

'-------------------
LOCATE 9, 8
'PRINT "* Fun With QBasic's POINT *"
'---------------------------------
LOCATE 20, 9
'PRINT "* * A Stray Red Bullet * *"
'---------------------------------
DO
'----red bullet----
PSET (col, row), 12
col = col + var1
row = row + var2
'---check if red bullet encounters a color other than black---
IF POINT(col + var1, row) <> 0 THEN var1 = -var1: SOUND 800, .1
IF POINT(col, row + var2) <> 0 THEN var2 = -var2: SOUND 800, .1

'---black-erasing bullet---
PSET (colb, rowb), 0
colb = colb + var1b
rowb = rowb + var2b
'---check if black-erasing bullet encounters a color other than black---
IF POINT(colb + var1b, rowb) <> 0 THEN var1b = -var1b
IF POINT(colb, rowb + var2b) <> 0 THEN var2b = -var2b
'----------------------------------
FOR delay = 1 TO speed
NEXT delay
LOOP UNTIL INKEY$ <> ""