
from .. import Chimpanzee, run_simulation, translated_binaries
from simulations.rocket.accel import Rocket
X = 0x2
Y = 0x3

class arson( object ):

    def __init__( self ):
        self.burn_start = None                    
        self.burn_count = 0
        self.burn_delay = 5000
    

    def __call__( self, time, rocket ):
        if time > 0 and self.burn_start is None and (time % 5100)==0 and self.burn_count < 64:
            self.burn_start = time
            self.burn_count += 1
            self.burn_delay *= 1.05
#            print rocket.delta_r
            burn_rate = 100 / self.burn_count
            if burn_rate < 9:
                burn_rate = 9
            return rocket.tan_burn(0)                                                  
        if self.burn_start and time - self.burn_start == 5 :
            self.burn_start = None            
            return rocket.engine_stop()
        if self.burn_count >= 64:
            #if rocket.r < rocket.goal - 1000 and rocket.r + rocket.delta_r >= rocket.goal - 1000:
            if rocket.r < rocket.goal and rocket.r + rocket.delta_r >= rocket.goal:
                self.burn_start = time
                return rocket.tan_break(15)
#            if rocket.r > rocket.goal and rocket.r + rocket.delta_r <= rocket.goal:
#                self.burn_start = time
#                return rocket.tan_break(5)                
            if self.burn_start and self.burn_start + 2 == time:
                self.burn_start = None
                return rocket.engine_stop()
        
 
def fireman():
    return Rocket( control = arson() )                    
        