pxt-calliope/docs/projects/turtle-square.md
Peli de Halleux 2b504d863d
Radiodocsupdate (#1430)
* a few updates

* more updates

* reorder radio blocks

* more shuffling of new radio apis

* fixing hot or ocold

* more doc fixes

* more updates

* fixing docs issues

* more doc fixes

* restore docs errors

* missing packate

* renamed argument of callback

* mssing radio

* more odcs fixes

* lock turtle

* ignore docs for now
2018-10-15 15:32:09 -07:00

1.8 KiB

Turtle Square

Introduction @unplugged

Imagine that a virtual turtle, as big as an LED, that you can control it with commands. In this tutorial, you will learn to use the turtle and draw a square.

Moving the turtle @fullscreen

The turtle starts in the center of the screen facing up. Place a ||turtle:forward|| block to make it move up.

turtle.forward(1)

Turning and moving @fullscreen

Place a ||turtle:turnRight|| to turn the turtle and place another ||turtle:forward|| block to make it move again.

turtle.forward(1)
turtle.turnRight()
turtle.forward(1)

Drawing a square

If you add enough ||turtle:turnRight|| and ||turtle:forward|| block, the turtle will eventually draw a square.

You can move the blocks in a ||input:on button pressed|| to easily run the code again.

input.onButtonPressed(Button.A, function() {
    turtle.forward(1)
    turtle.turnRight()
    turtle.forward(1)
    turtle.turnRight()
    turtle.forward(1)
    turtle.turnRight()
    turtle.forward(1)
    turtle.turnRight()
})

"For" is for repetition

Have you notice the repetition pattern in the blocks needed to draw a square? Try to use a for loop to achieve the same effect.

input.onButtonPressed(Button.A, function() {
    for(let i = 0; i <=4; ++i) {
        turtle.forward(1)
        turtle.turnRight()
    }
})

Leaving a trail

The turtle holds a pen that turns on LEDs. If you add the ||turtle:pen|| block, it will leave a trail as it moves.

input.onButtonPressed(Button.A, function() {
    turtle.pen(TurtlePenMode.Down)
    for(let i = 0; i <=4; ++i) {
        turtle.forward(1)
        turtle.turnRight()
    }
})
microturtle=github:Microsoft/pxt-microturtle#v0.0.9