import chess.Chess;
import chess.Screen;
import chess.Turtle;

public class TreeFractal {
    
    static Turtle tim;   
    
    public static void drawTree( double size ) {
        if ( size<0.1 ) return;
        tim.penDown();
        tim.forward(4*size);
        tim.left(30);
        drawTree( size * 0.866 );
        tim.penUp();
        
        tim.right(90);
        tim.forward(size*0.866);
        tim.penDown();
        drawTree(size/2);
        
        tim.penUp();
        tim.right(90);
        tim.forward(size/2);
        tim.right(30);
        tim.penDown();
        tim.forward( 4*size );
        
        tim.penUp();
        tim.right(90);
        tim.forward(size);
        tim.right(90);
        
    }
    
    public static void main(String[] args) {
        /* here you go */
        Screen myScreen= Chess.newScreen(800,800);
        tim= myScreen.newTurtle();
        tim.ultraFast();
        
        tim.setPosition( 400,600 );        
        drawTree( 30 );
        
        /* two braces below */
    }
    
}
