In diesem Video wird dir noch einmal erklärt, was Winkel sind.
Denn dieses Wissen ist wichtig, wenn du die Turtle programmieren willst.
TC 04 – Sonne
Einführung der Schleife.
Die Turtle zieht einen 200er Strahl nach vorne und fährt wieder 200 Schritte zurück.
Sie tut dies 36 mal (Schleife) und dreht sich dabei jeweils um 10 Grad nach links.
function main() {
turtle->setSpeed(800)
turtle->setPenSize(1)
turtle->setPenColor(yellow)
for(var i < 36) {
turtle->forward(200)
turtle->back(200)
turtle->leftTurn(10)
}
}
TC 04b – Eine farbige Sonne
Für Experten
Ähnliches Beispiel wie in TC04 – doch diesmal werden insgesamt 5 verschiedene Sonnen verdreht angelegt (2 Grad).
Farben sind zufällig gewählt (random) – Schleife in Schleife (loop in loop)
function main() {
turtle->setSpeed(5000)
turtle->setPenSize(1)
for(var k < 5) {
turtle->setPenColor(random(24))
for(var i < 36) {
turtle->forward(200)
turtle->back(200)
turtle->leftTurn(10)
}
turtle->leftTurn(2)
}
}
TC 05 – Schleife – Quadrat
Das bekannte Beispiel TC 02 wird mit Hilfe der Schleife vereinfacht.
function main() {
turtle->setSpeed(300)
for(var i < 4) {
turtle->forward(300)
turtle->rightTurn(90)
}
}
TC 05b – Versetzte Quadrate
Für Experten
5 Quadrate werden versetzt (10 Schritte nach oben und nach links) gezeichnet. (Schleife)
Mit „penup“ und „pendown“ wird der Stift eingefahren.
Die Farbe wählt die Turtle zufällig. (random)
function main() {
turtle->setSpeed(800)
for(var i < 5) {
turtle->setPenColor(random (24))
turtle->forward(200)
turtle->rightTurn(90)
turtle->forward(200)
turtle->rightTurn(90)
turtle->forward(200)
turtle->rightTurn(90)
turtle->forward(200)
turtle->rightTurn(90)
turtle->penUp()
turtle->forward(10)
turtle->rightTurn(90)
turtle->forward(10)
turtle->leftTurn(90)
turtle->penDown()
}
}
Verbesserungsvorschlag:
Jedes Quadrat kann wieder mit einer Schleife gebildet werden.
Dies führt zu schlankem Code.
function main() {
turtle->setSpeed(800)
for(var i < 5) {
turtle->setPenColor(random (24))
for(var j < 4) {
turtle->forward(200)
turtle->rightTurn(90)
}
turtle->penUp()
turtle->forward(10)
turtle->rightTurn(90)
turtle->forward(10)
turtle->leftTurn(90)
turtle->penDown()
}
}
TC 06 – Mäander (mit Variablen)
Einführung des Begriffs Variable.
Im Beispiel lässt sich damit die Größe des Mäanders leicht verändern.
function main() {
var laenge := 50
for(var i < 3) {
turtle->forward(laenge)
turtle->rightTurn(90)
turtle->forward(laenge)
turtle->rightTurn(90)
turtle->forward(laenge)
turtle->leftTurn(90)
turtle->forward(laenge)
turtle->leftTurn(90)
}
}
TC 06b – Mäander komplex
Für Experten
Komplizierte Mäander mit Variable laenge 1 die als Basislänge genutzt wird.
Die Turtle startet links, so hat sie mehr Platz zum Zeichnen. (siehe Kommentarblock)
function main() {
turtle->setSpeed(1000)
# Die Schildkröte startet links
turtle->leftTurn(90)
turtle->penUp()
turtle->forward(440)
turtle->rightTurn(90)
turtle->penDown()
turtle->setPenColor(red)
var laenge1 := 30
for(var i < 3) {
turtle->forward(4*laenge1)
turtle->rightTurn(90)
turtle->forward(4*laenge1)
turtle->rightTurn(90)
turtle->forward(3*laenge1)
turtle->rightTurn(90)
turtle->forward(2*laenge1)
turtle->rightTurn(90)
turtle->forward(laenge1)
turtle->rightTurn(90)
turtle->forward(laenge1)
turtle->leftTurn(90)
turtle->forward(laenge1)
turtle->leftTurn(90)
turtle->forward(2*laenge1)
turtle->leftTurn(90)
turtle->forward(3*laenge1)
turtle->leftTurn(90)
turtle->forward(4*laenge1)
turtle->leftTurn(90)
}
}
TC 07 – Spirale aus Quadraten
Eine Spirale entsteht hier durch mehrfaches Drehen eines Quadrats.
(Schleife in einer Schleife) (Variable)
function main() {
var laenge := 150
turtle->setSpeed(1000)
for(var j < 5) {
for(var i < 4) {
turtle->forward(laenge)
turtle->leftTurn(90)
}
turtle->leftTurn(15)
}
}
Das Quadrat kann hier leicht durch andere Formen ersetzt werden.
Experimentieren ist angesagt!
TC 08 – Aufbau-Spirale
Eine Spirale baut sich auf. Die Variable i bestimmt auch die Strichlänge.
function main() {
turtle->setSpeed(400)
turtle->setPenSize(1)
for(var i < 100) {
turtle->forward(i*2)
turtle->rightTurn(60)
}
}
TC 09 – Neues Wort lernen
Die Turtle lernt ein neues Wort: „mySechseck()“.
Dieses neue Wort wird in einer Schleife verwendet.
function main() {
turtle->setSpeed(2500)
turtle->setPenSize(1)
for(var j < 36) {
turtle->setPenColor(random(24))
turtle->mySechseck()
turtle->leftTurn(10)
}
}
turtle->learnWord->mySechseck() {
# neues Wort lernen
for(var i < 6) {
turtle->forward(100)
turtle->rightTurn(60)
}
}