Code Sketch
DURVA
Category: Art
// ==========================================
// NORMAL MOVING ROBOT + BACKGROUND
// ==========================================
cleari()
// ================= BACKGROUND =================
// Sky
setBackground(cm.skyBlue)
// Ground
setPenColor(cm.green)
setPenThickness(100)
setPosition(-400, -190)
setHeading(0)
penDown()
forward(800)
penUp()
// Road
setPenColor(cm.darkGray)
setPenThickness(45)
setPosition(-400, -150)
setHeading(0)
penDown()
forward(800)
penUp()
// Road lines
setPenColor(cm.yellow)
setPenThickness(5)
setPosition(-400, -150)
setHeading(0)
for (i <- 0 until 9) {
penDown()
forward(60)
penUp()
forward(35)
}
// ================= SUN =================
setPenColor(cm.yellow)
setPenThickness(60)
setPosition(300, 180)
dot(60)
// ================= CLOUDS =================
setPenColor(cm.white)
setPenThickness(35)
// Cloud 1
setPosition(-280, 170)
dot(35)
setPosition(-245, 180)
dot(45)
setPosition(-205, 170)
dot(35)
// Cloud 2
setPosition(80, 140)
dot(30)
setPosition(115, 150)
dot(40)
setPosition(150, 140)
dot(30)
// ================= ROBOT =================
val robot = Picture {
// BODY
setPenColor(cm.darkGray)
setPenThickness(3)
setPosition(-60, -90)
setHeading(0)
penDown()
forward(120)
right(90)
forward(100)
right(90)
forward(120)
right(90)
forward(100)
right(90)
penUp()
// CHEST PANEL
setPenColor(cm.gray)
setPenThickness(3)
setPosition(-35, -35)
setHeading(0)
penDown()
forward(70)
right(90)
forward(35)
right(90)
forward(70)
right(90)
forward(35)
right(90)
penUp()
// CHEST LINE
setPenColor(cm.darkGray)
setPenThickness(4)
setPosition(-20, -45)
setHeading(0)
penDown()
forward(40)
penUp()
// NECK
setPenColor(cm.darkGray)
setPenThickness(18)
setPosition(-20, 10)
setHeading(0)
penDown()
forward(40)
penUp()
// HEAD
setPenColor(cm.darkGray)
setPenThickness(5)
setPosition(-90, 30)
setHeading(0)
penDown()
forward(180)
right(90)
forward(110)
right(90)
forward(180)
right(90)
forward(110)
right(90)
penUp()
// FACE SCREEN
setPenColor(cm.black)
setPenThickness(8)
setPosition(-70, 50)
setHeading(0)
penDown()
forward(140)
right(90)
forward(70)
right(90)
forward(140)
right(90)
forward(70)
right(90)
penUp()
// EYES
setPenColor(cm.cyan)
setPenThickness(20)
setPosition(-35, 20)
dot(20)
setPosition(35, 20)
dot(20)
// ANTENNA
setPenColor(cm.darkGray)
setPenThickness(4)
setPosition(0, 140)
setHeading(90)
penDown()
forward(35)
penUp()
setPenColor(cm.gray)
setPenThickness(15)
setPosition(0, 175)
dot(15)
// LEFT ARM
setPenColor(cm.darkGray)
setPenThickness(20)
setPosition(-65, -15)
setHeading(250)
penDown()
forward(60)
penUp()
// LEFT HAND
setPenColor(cm.gray)
setPenThickness(22)
setPosition(-85, -70)
dot(20)
// RIGHT ARM
setPenColor(cm.darkGray)
setPenThickness(20)
setPosition(65, -15)
setHeading(290)
penDown()
forward(60)
penUp()
// RIGHT HAND
setPenColor(cm.gray)
setPenThickness(22)
setPosition(85, -70)
dot(20)
// LEFT LEG
setPenColor(cm.darkGray)
setPenThickness(25)
setPosition(-35, -90)
setHeading(270)
penDown()
forward(55)
penUp()
// RIGHT LEG
setPosition(35, -90)
setHeading(270)
penDown()
forward(55)
penUp()
// LEFT FOOT
setPenColor(cm.gray)
setPenThickness(25)
setPosition(-50, -145)
setHeading(0)
penDown()
forward(40)
penUp()
// RIGHT FOOT
setPosition(10, -145)
setHeading(0)
penDown()
forward(40)
penUp()
}
// ================= ROBOT MOVEMENT =================
draw(robot)
var direction = 2
animate {
robot.translate(direction, 0)
if (robot.position.x > 220) {
direction = -2
}
if (robot.position.x < -220) {
direction = 2
}
}