Code Sketch


Christmas-Tree
By: Nitin Mishra
Category: Art
clear()
setSpeed(fast)

def tree(d: Int, s: Double) {
    if (d <= 0) {
        return
    }
    else {
        forward(s)
        tree(d - 1, s * .8)
        right(120)
        tree(d - 3, s * .6)
        right(120)
        tree(d - 3, s * .6)
        right(120)
        hop(-s)
    }
}
def star(size: Int) {
    repeat(5) {
        forward(size)
        right(144)
        forward(size)
        left(72)
    }
}
setPosition(0, -150)
setPenColor(Color(0, 153, 0))
setPenThickness(10)
forward(100)
setPenThickness(1)
tree(20, 50)
setPosition(0, 200)
setFillColor(yellow)
setPenColor(black)
left(135)
star(15)
setPosition(180, 180)
setPenThickness(3)
repeat(180) {
    val r = random(30, 70)
    setPenColor(cm.hsl(random(0, 360), 1, 0.5))
    forward(r)
    hop(-r)
    right(2)
}

setPosition(-180, 100)
repeat(180) {
    val r = random(30, 70)
    setPenColor(cm.hsl(random(0, 360), 1, 0.5))
    forward(r)
    hop(-r)
    right(2)
}

setPosition(200, -100)
repeat(180) {
    val r = random(30, 70)
    setPenColor(cm.hsl(random(0, 360), 1, 0.5))
    forward(r)
    hop(-r)
    right(2)
}


setPosition(-200, -150)
setPenColor(purple)
right(135)
setPenFont(Font("Sancreek", 30))
write("Christmas Tree")

invisible()