screen 0,320,320 : mx = 160 : my = 160
ax1=10:ay1=10:ax2=50:ay2=50
bx1=60:by1=60:bx2=100:by2=100
cx1=100:cy1=0:cx2=160:cy2=20
color 255,255,0 : boxf ax1,ay1,ax2,ay2
color 255,0,255 : boxf bx1,by1,bx2,by2
color 255,0,0 : boxf cx1,cy1,cx2,cy2

repeat
redraw 0
pos mx,my : color 255,255,255 : print "●"
stick key
if key & 1 : dx = -3/2 : dy = 0
if key & 2 : dy = -3/2 : dx = 0
if key & 4 : dx = 3/2 : dy = 0
if key & 8 : dy = 3/2 : dx = 0
mx += dx : my += dy
pos mx,my : color 0,0,0 : print "●"
redraw 1
if (mx>ax1-16)&(my>ay1-16)&(mx<ax2)&(my<ay2): end
if (mx>bx1-16)&(my>by1-16)&(mx<bx2)&(my<by2): end
if (mx>cx1-16)&(my>cy1-16)&(mx<cx2)&(my<cy2): end
await 1
loop

当たり判定がうまくいきません。四角形に当たったらendするようにしてるんですが
どこがまちがっているんでしょうか?