Code Sketch


Ram navami
By: sourabh kumar
Category: Programming
clear()
setSpeed(fast)
setBackgroundV(orange,red)
def sun(x: Int, y: Int, n: Int) {
    setPosition(x, y)
    setFillColor(orange)
    circle(80)
}
sun(-100, 190, 0)
def mountain(x: Int, y: Int, n: Int) {
    setPosition(x, y)
    setPenColor(black)
    setFillColor(black)
    forward(-95)
    right()
    forward(500)
    left(100)
    forward(50)
    left()
    right(150, 30)
    left(120, 50)
    left(30)
    forward(450)
    hop(-250)
    right()
    forward(20)
    right(55)
    forward(30)
    left()
    forward(3)
    right()
    forward(50)
    right(150)
    forward(40)
    left(95)
    left(45, 50)
    left(45)
    forward(50)
    right(70)
    forward(10)
    right()
    forward(10)
    left()
    forward(10)
    right(30)
    forward()
    right(30)
    forward(45)
    right(30)
    forward(20)
    left()
    forward(20)
    left(120)
    forward(20)
    right(25)
    forward(5)
    forward(60)
    left(30, 20)
    right(5)
    forward(60)
    right(80, 5)
    left(30, 10)
    left(80, 5)
    right(35)
    right(50, 50)
    left(25)
    forward(30)
    right(50, 20)
    right(30)
    forward(10)
    right(15)
    left(30, 200)
    right(20)
    left(30, 50)
    left()
    right()
    repeat(4) {
        left(180, 3)
        right(180)
    }
    left(180)
    left(20, 30)
    right(20)
    right(30, 90)
    right(15)
    left(40, 50)
    right(35)
    forward(60)
    right()
    forward(10)
    right()
    forward(5)
    left(30)
    left(50, 20)
    left()
    forward(5)
    right()
    forward(5)
    right()
    forward(5)
    left(125)
    forward(8)
    right(25)
    forward(5)
    left(35)
    forward(15)
    right(135)
    left(180, 10)
    left(50, 20)
    right(70, 20)
    left(150, 10)
    right(56)
    forward(20)
    left()
    forward(10)
    right()
    forward(10)
    left(60, 20)
    left(230)
    left(20, 150)
    left(155, 8)
    forward(55)
    right(56)
    forward(30)
    right(25)
    forward(50)
    right()
    left(50)
    left(20, 90)
    left(290)
    right(50, 20)
    left(180)
    right(180, 5)
    left(180, 5)
    right(180, 5)
    left(30)
    left()
    forward(10)
    right()
    forward(30)
    left(180, 1)
    forward(60)
    right()
    forward(60)
    right()
    forward(5)
    left()
    forward(50)
    right(20)
    forward(30)
}
mountain(-490, -200, 0)
def danus(x: Int, y: Int) {
    setPosition(140, 0)
    setFillColor(noColor)
    setPosition(x, y)
    setHeading(20)
    setPenThickness(8)
    right(250)
    right(55, 55)
    left(55, 55)
    left(45, 55)
    right(65)
    forward(20)
    right(65)
    left(45, 55)
    left(55, 55)
    right(55, 55)
setPenThickness(3)
    right()
    circle(10)
    left(245)
    forward(200)
    left()
    forward(200)
    left(210)
    circle(10)
    left(-30)
    forward(200)
    right(130)
}
danus(50, 55)

def arrow(X: Double, y: Double) = Picture {
    setPosition(X, y)
setPenColor(black)
    right(254)
    repeat(6) {
        right(45)
        forward(10)
        hop(-10)
        left()
        forward(10)
        hop(-10)
        right(45)
        forward(-5)
    }

    forward(-110)
    right()
    hop(-10)
    repeat(3) {
        forward(20)
        right(120)
    }
}
def makeframe(s: Seq[Double]) = {
    val X = s(0)
    val y = s(1)

   arrow(X, y)
}
val anim = Transition(
    2,
    Seq(-120, 150, 1, 0),
    Seq(500, 300, 2, 0),
    easing.Linear,
    makeframe,
    true
)
val anims = animSeq(anim).repeatedForever
run(anims)
setPosition(50,-100)
setHeading(90)
write("??????? ?? ??????? ??????????")
def arrow2(X: Double, y: Double) = Picture {
    setPosition(X, y)
setPenColor(black)
    right(254)
    repeat(6) {
        right(45)
        forward(10)
        hop(-10)
        left()
        forward(10)
        hop(-10)
        right(45)
        forward(-5)
    }

    forward(-110)
    right()
    hop(-10)
    repeat(3) {
        forward(20)
        right(120)
    }
}
def makeframe2(s: Seq[Double]) = {
    val X2 = s(0)
    val y2 = s(1)

   arrow2(X2, y2)
}
val anim2 = Transition(
   2 ,
    Seq(-120, 150),
    Seq(500, 330),
    easing.Linear,
    makeframe2,
    true
)
val anims2 = animSeq(anim2).repeatedForever
run(anims2)
setPosition(50,-100)
setHeading(90)