from time import sleep
from pyjuni.robodog import *
from pyjuni.deflib import *


target_deg = 0
def search_object(dog):
    global target_deg
    
    dog.move(0)
    dog.rotate(target_deg-80, 70)
    while True:
        if dog.get_distance()<50:
            target_deg = dog.get_rotation() -5
            dog.rotate(target_deg, 100)
            sleep(0.2)
            return True
        if target_deg-75 > dog.get_rotation() : 
            break
        sleep(0.1)

    dog.rotate(target_deg+80, 80)
    while True:
        if dog.get_distance()<50:
            target_deg = dog.get_rotation() + 5
            dog.rotate(target_deg, 100)
            sleep(0.2)
            return True
        if target_deg+75 < dog.get_rotation() : 
            break;
        sleep(0.1)

    dog.rotate(1, 100)
    sleep(1)
    return False
           
if __name__ == '__main__':
    robodog = RoboDog()
    robodog.Open()
    sleep(0.5)
    robodog.move(50)
    while True:
        velocity = 0
        if robodog.get_distance() > 50 : 
            if search_object(robodog) == False:
                break;
        if robodog.get_distance() > 30 : 
            velocity = 80
        elif robodog.get_distance() > 15 : 
            velocity = 80-(30-robodog.get_distance())*4
        robodog.move(velocity)
        sleep(0.1)

    robodog.Close()

