(include "sci.sh")
(use "Cycle")
(script 807)



(class MoveToY of MoveTo
    (properties
        client 0
        caller 0
        x 0
        y 0
        dx 0
        dy 0
        {b-moveCnt} 0
        {b-i1} 0
        {b-i2} 0
        {b-di} 0
        {b-xAxis} 0
        {b-incr} 0
        completed 0
        xLast 0
        yLast 0
    )

    (method (init param1 param2 param3)
        (var temp0, temp1)
        = temp1 Abs((- (send param1:y) param2))
        = temp0 (/ SinMult((send param1:heading) (* temp1 100)) 
            (if (Abs(neg CosMult((send param1:heading) 100)))
            )(else
                1
            )
)
        (if (> temp0 temp1)
            = temp0 temp1
        )(else
            (if (> Abs(temp0) temp1)
                = temp0 neg temp1
            )
        )
        (super:init(param1 (+ temp0 (send param1:x)) param2 rest param3))
    )

)
(class MoveToX of MoveTo
    (properties
        client 0
        caller 0
        x 0
        y 0
        dx 0
        dy 0
        {b-moveCnt} 0
        {b-i1} 0
        {b-i2} 0
        {b-di} 0
        {b-xAxis} 0
        {b-incr} 0
        completed 0
        xLast 0
        yLast 0
    )

    (method (init param1 param2 param3)
        (var temp0, temp1)
        = temp0 Abs((- (send param1:x) param2))
        = temp1 (/ neg CosMult((- (send param1:heading) (* 180 (> (send param1:heading) 180))) (* temp0 100)) 
            (if (SinMult((send param1:heading) 100))
            )(else
                1
            )
)
        (if (> temp1 temp0)
            = temp1 temp0
        )(else
            (if (> Abs(temp1) temp0)
                = temp1 neg temp0
            )
        )
        (super:init(param1 param2 (+ temp1 (send param1:y)) rest param3))
    )

)
