>>887-888

if mx\2!0 :mx--
;もしmxを2で割り切れなかったら1引く = 2で割り切れるようにする

if x!mx :xx=mx-x :if xx>0 :x+=2 :else :x-=2
;mxとxの距離を出して、もしクリック座標が●の座標より右ならX座標を+2
;左ならX座標を-2。右か左かは xx が正か負かで調べる。

>>890
仕様です。
dup は、変数のポインタをコピーするものと考えればよい。
sun は a.0 のポインタを示すので、sun.1 はおのずと a.1 になる。