Code Sketch


Mountains with Birds
By: Aditya Hasteer Sharma
    // By Aditya Hasteer Sharma

cleari()
setSpeed(superFast)
setBackground(cm.white)

// the mountains part

def mountain(n : Double) = Picture.fromVertexShape { s =>
    import s._
    beginShape()
    curveVertexRt(n, 0)
    curveVertexRt(n, 0)
    curveVertexRt(n, 90)
    curveVertexRt(n, 180)
    curveVertexRt(n, 180)
    endShape()
}

def mountains(num : Int, size : Double): Picture = {
    if(num == 1) {
        mountain(size)
    }

    else {
      fillColor(cm.brown) * penColor(noColor) ->  picStack(
            mountain(size),
            trans(size * 1.9, 0) -> mountains(num -1, size)
            )
    }
}

val m = mountains(3, 150)
setPosition(800, 480)


// Now the birds part

def bird(n: Double) = penColor(black) * scale(1) -> Picture {
    right(90)
    right(60, n)
    left(120)
    right(60, n)
}

def birds(num: Int, Size: Double): Picture = {
    if (num == 1) {
        bird(Size)

    }
    else {
        picStack(
            bird(Size),
            trans(Size * 1.1, Size * 0.7) -> birds(num - 1, Size * 0.9)
        )
    }
}

val scenery = picStack(
    m,
    trans(400, 200) -> birds(10, 50)
    )

draw(scenery, m)