>>356 wait位置を間違えてた。 これで満足か? 
randomize
screen 0
v = 4.0 : sx = 0.0 : sy = 0.0; 弾の速度、発射位置x、発射位置y
gosub *init

*main_loop
await 16 : redraw 1 : redraw 0 : color 0xFF,0xFF,0xFF : boxf
pos tx,ty : color 0xFF,0,0 : print "●"
pos x,y : color 0,0,0 : print "●"
x += vx : y += vy; 弾移動
//範囲外に出たら位置を変えてやり直し//
if(x>tx|y>ty) : gosub *init
getkey key_ret,27
if key_ret = 1: end; 「ESCキー」で処理を終了
goto *main_loop

*init
x = sx
y = sy
tx = 50.0 + rnd(300); 目標位置x
ty = 50.0 + rnd(300); 目標位置y
dx = tx - sx
dy = ty - sy
l = sqrt((dx*dx) + (dy*dy)); 目標までの距離
t = l / v; 目標到達までの時間
vx = dx / t; 単位時間当たりのx変化量(速度のx成分)
vy = dy / t; 単位時間当たりのy変化量(速度のy成分)
return