300000
English | Français | فارسی | 中文 | Українська | Azerbaijani | ខ្មែរ | Tiếng Việt | Bahasa Melayu | Deutsch | O'zbek | РусскийTurtle Walk
Gesamtzahl der Siege: 215470
Was ist Blockly?
Blockly ist eine visuelle Möglichkeit, Codes mit Blöcken zu erstellen. Es ist eine großartige Möglichkeit, das Programmieren zu lernen und einen guten Code zu erstellen. Mehr dazu erfährst du hier. Du kannst auch Blockly-Spiele für Kinder ausprobieren Hier.
Wie spielst du?
Hier erstellst du einen Code, um die Schildkröte zu ihrem Teich zu bewegen. Dazu ziehst du mit der Maus Komandoblöcke aus dem grauen Kästchen in der Mitte und verbindest sie mit dem Startblock. Wenn du auf "Ausführen" klickst, wird der Code ausgeführt, den du unter dem Startblock erstellt hast. Klicke auf die Schaltfläche Lösung, um eine der möglichen Lösungen des Rätsels zu sehen, nicht unbedingt die kürzeste.
Wie gewinnst du?
Du gewinnst, wenn dein Code die Schildkröte zu ihrem Teich bewegt. Das Spiel ist schwieriger, wenn man dies mit einer begrenzten Anzahl von Blöcken tun muss.
Für Einsteiger
Was ist "Code" oder auch ein ein Computerprogramm?
Ein Computerprogramm oder auch "Code" mag hart, beängstigend oder mysteriös klingen, ist es aber nicht.
In der Tat ist es eine sichere Wette, dass du ständig Code verwendest! Wenn du jemals eine App verwendet hast, ein Spiel auf einem Bildschirm gespielt, auf eine Schaltfläche oder Button geklickt hast, dann hast du Gebrauch von Code verwendet. Code ist nur eine Liste von Anweisungen, die dein Gerät (Telefon, Tablet, Computer, Konsole) lesen und befolgen kann.
Mit Blockly kannst du Code erstellen und mit Codierungsprinzipien wie Variablen, Funktionen, Schleifen und mehr spielen. Dies sind die gleichen Ideen, die Computerprogrammierer*innen und App-/Spieleentwickler*innen jeden Tag in ihrer Arbeit verwenden.
Was ist ein "guter" Code?
Erstens: Code ist gut, wenn er das tut, was er soll! Das bedeutet, dass es "korrekt" ist. In diesem Spiel ist dein Code "korrekt", wenn die Schildkröte den Teich erreicht. Es gibt jedoch mehr als einen "richtigen" Weg, dies zu tun. Nehmen wir an, die Schildkröte muss in einer geraden Linie gehen, um zum Teich zu gelangen.
Hier ist ein korrekter Code:
Start:
⇧ Vorwärts gehen ⇧
⇧ Vorwärts gehen ⇧
⇧ Vorwärts gehen ⇧
⇧ Vorwärts gehen ⇧
⇧ Vorwärts gehen ⇧
Ist dieser Code korrekt?
Ja, die Schildkröte wird den Teich erreichen, also ist es richtig.
Ist dies der beste Code für diese Aufgabe?
Nein. ein guter Code sollte auch effizient sein: Er sollte die Aufgabe in so wenig Code (mit so wenig Blöcken) wie möglich erledigen. Die Schildkröte sollte auch den geradlinigsten Weg nehmen. Natürlich gibt es im Moment nur einen Weg, aber wie wir im nächsten Beispiel sehen werden, gibt es manchmal mehr als eine kurze Antwort.
Wie kannst due die gleiche Aufgabe mit weniger Blöcken erledigen?
Der Schleifen-Kommandoblock (oder "loop-block") wiederholt das, was du hineingelegt hast, so oft du möchtest.
Wie kannst du eine Schleife verwenden, um das Gleiche zu tun?
Ein besserer Code sieht dann wie folgt aus:
Start:
↺ 5 Mal wiederholen ↺
⇧ Vorwärts gehen ⇧
Dieser Code ist in anderer Hinsicht besser. Siehst du, wie? Nehmen wir an, der Teich ist nicht 10 Schritte entfernt, sondern 100 Schritte.
Was müssest du ändern, um die Schildkröte 100 statt 10 Schritte zu bewegen?
Anstatt das 90-fach den Kommandoblock \"go forward\" hinzuzufügen, musst du nur eine Sache ändern: die Zahl im Schleife-Kommandoblock. Dieser Code ist gut, weil er korrekt und effizienter ist und einfach zu reparieren/zu ändern ist.
Start:
↺ 100 Mal wiederholen ↺
⇧ Vorwärts gehen ⇧
Welche Art von Loop-Block lässt sich noch einfacher skalieren als der \"wiederholen\"-Loop-Block?
Der \"tun bis\"-Schleifenblock. Dies lässt sich einfacher skalieren als der Wiederholungsblock, da der Code für 5 Schritte vorwärts oder 100 Schritte vorwärts oder sogar 1000 Schritte vorwärts derselbe wäre:
Start:
↺ bis Teich ↺
⇧ Vorwärts gehen ⇧
Ein weiteres Beispiel: Kannst du diesen Code verbessern?
Hier muss die Schildkröte eine \"Treppe\" hinaufsteigen, um zum Teich zu gelangen. Im Folgenden finden Sie einen Code, um ihn dorthin zu bringen. Es ist richtig, aber es ist nicht sehr gut. Kannst du es besser machen? Denke daran, dass guter Code korrekt, effizient und einfach zu reparieren/zu ändern sein sollte.
Start:
⇧ Vorwärts gehen ⇧
← links abbiegen ←
⇧ Vorwärts gehen ⇧
→ rechts abbiegen →
⇧ Vorwärts gehen ⇧
← links abbiegen ←
⇧ Vorwärts gehen ⇧
→ rechts abbiegen →
⇧ Vorwärts gehen ⇧
← links abbiegen ←
⇧ Vorwärts gehen ⇧
Antwort
Im Code wiederholen wir die Blöcke \"vorwärts + rechts abbiegen + vorwärts gehen + links abbiegen\" immer und immer wieder. Der Code wird kürzer und effizienter, wenn wir diese Blöcke in eine Schleife setzen.
Start:
↺ bis Teich ↺
⇧ Vorwärts gehen ⇧
← links abbiegen ←
⇧ Vorwärts gehen ⇧
→ rechts abbiegen →
Wie kannst du diesen Code anpassen?
Hier ist eine etwas andere Treppe. Wie kannst du deinen Code ändern, um ihn hier zu verwenden?
Antwort
Du könntest deinen alten Code behalten: Er wird das Gleiche tun, und die Schildkröte wird immer noch zum Teich gelangen. In diesem Fall wird die Schildkröte versuchen, sich nach oben zu bewegen und gegen eine Wand zu stoßen, um dann in Bewegung zu bleiben. Aber die Schildkröte nimmt einen Umweg und versucht, sich nach oben zu bewegen, wenn sie es nicht kann. Stattdessen kannst du innerhalb der Schleife zweimal \"vorwärts\" hinzufügen, wie unten gezeigt. Wie du sehen kannst, ist es in dieser Version nicht unbedingt die beste Lösung, den kürzesten funktionierenden Code zu haben, da die Schildkröte länger braucht, um zum Teich zu gelangen.
Start:
↺ bis Teich ↺
⇧ Vorwärts gehen ⇧
⇧ Vorwärts gehen ⇧
← links abbiegen ←
⇧ Vorwärts gehen ⇧
⇧ Vorwärts gehen ⇧
→ rechts abbiegen →
Zusammenfassung
Viel Spaß beim Programmieren mit Blockly! Stelle sicher, dass du versuchst, guten Code zu erstellen, der korrekt, effizient und einfach zu ändern oder zu beheben ist.
Allgemeine Strategie
Beginne damit, den Pfad mit nur einfachen Richtungsschritten zu programmieren (z. B. vorwärts gehen, abbiegen).
Suche dann nach wiederholten Sequenzen, die in Schleifen eingefügt werden können. Wenn die Sequenzen ähnlich, aber nicht identisch sind, prüfe, ob Schritte zu der kürzeren Sequenz hinzugefügt werden können, ohne dass dies einen Effekt hat, wie z. B. das Schlagen gegen die Wand, so dass diese jetzt gleichen Sequenzen durch dieselbe Schleife ersetzt werden können, die so oft wie nötig ausgeführt wird.
Loops (Schleifen)
Es gibt 2 Arten von Loop-Blöcken im Turtle Walk.
↺ [x] Mal wiederholen ↺
Die Schleife wird eine festgelegte Anzahl von Malen ausgeführt, unabhängig davon, was während der Ausführung passiert.
Bis zum Teich, tue...
Die Schleife wird ausgeführt, bis die Schildkröte den Teich erreicht.
Schachtelung
Du kannst Schleifen in anderen Schleifen verschachteln, oder sogar eine Wenn... Dann... (Sonst) Bedingung innerhalb einer Schleife.
Tricks, um weniger Blöcke zu benötigen
Versuche Folgendes, um besseren, kürzeren Code zu erstellen (klicke für Beispiele):
Wenn sich Aktionen wiederholen, füge sie in eine Schleife ein.
In Walk 3 Wie kannst du eine Schleife verwenden, um weniger Blöcke zu verwenden?
Verwende eine Schleife, um die Aktionen "vorwärts + links abbiegen + vorwärts + rechts abbiegen" zu wiederholen.
In Spiralen bewegen
Walk 8 kann mit nur 4 Blöcken gelöst werden. Wie?
Um zum Teich zu gelangen, muss die Schildkröte nur wirklich vorwärts gehen und Rechtskurven machen, und diese Aktionen können in sich wiederholenden Schleifen verschachtelt werden. Es spielt keine Rolle, ob die Schildkröte beim ersten Mal nach rechts abbiegt und versucht, gegen die Wand zu rennen: Die nächsten Male, wenn sie nach rechts abbiegt, kann sie sich vorwärts bewegen. Wir können uns diese Bewegung als eine Spirale vorstellen, die sich nur in eine Richtung (rechts oder links) dreht und sich vorwärts bewegt.
In Treppen bewegen
Walk 9 kann mit nur 5 Blöcken gelöst werden. Wie?
Die Schildkröte muss von der unteren rechten Ecke in die obere linke Ecke gelangen. Er kann nicht direkt diagonal verlaufen, daher muss er einem Treppenmuster folgen (in diesem Fall links, oben, links, oben). Auch wenn der zu überquerende Weg keine perfekte Treppe ist, wird dies funktionieren. Auch hier spielt es keine Rolle, ob die Schildkröte auf dem Weg gegen Wände stößt.
Kombiniere Spiralen und Treppen
Walk 12 kann mit nur 9 Blöcken gelöst werden. Wie?
Folge zunächst einem "Spiral"-Muster. Das heißt, innerhalb einer Schleife drehe sich in eine Richtung (rechts) und bewege sich so weit wie möglich vorwärts (wähle eine hohe Zahl, hier funktioniert 5 -- auch hier tut es der Schildkröte nicht weh, gegen eine Wand zu fahren).
Jetzt kann die Schildkröte einem "Treppen"-Muster folgen, auch wenn der Weg zum Teich kein perfekter treppenförmiger Weg ist. Bewege dich immer wieder nach links und oben, um den Teich zu erreichen.
Verwende die "if path"-Blöcke.
Walk 5 kann mit nur 4 Blöcken gelöst werden. Wie?
Kombiniere den Block "Bis zum Teich machen" mit dem Block "if path right", so dass die Schildkröte nach rechts abbiegt, wenn sie kann, aber ansonsten weiter vorwärts geht.
Unterschiedliche Challenges
Bitte probiere Herausforderungen aus unserem breiten Angebot an Wanderungen aus. Einige von ihnen haben nur einen einzigen Korridor, während andere sich verzweigen. Einige haben Fallen und verbundene Türen, Schlüssel zum Entriegeln von Türen, offene Räume mit Hindernissen oder Labyrinthe zum Durchqueren.
Einige Schildkröten-Walks sehen aus wie Labyrinthe
Zum Beispiel sind die Walks 36, 44, 48 sehr einfache Labyrinthe.
Stell dir vor, du wirst in ein Labyrinth geworfen, in dem die Wände um dich herum deine Sicht blockieren – was ist eine Fluchtstrategie, die du anwenden kannst?
Eine einfache Strategie besteht darin, entweder der rechten oder linken Wand zu folgen.
Wie kann man eine solche Strategie programmieren?
Tipp: Es braucht nur 6 Blöcke, wir lassen es dich herausfinden.
Bei einigen Spaziergängen führt das Folgen einer Wand die Schildkröte in eine Falle, während die andere sie zum Teich führt, z.B. Gehe 44.
Wann scheitert diese Strategie vollständig?
Ein Beispiel ist Walk 10. Egal, ob die Schildkröte der linken oder rechten Wand folgt, sie wird den Teich nie erreichen.
Was ist das mathematische Problem?
Diese Methode schlägt fehl, wenn es einen geschlossenen Kreislauf gibt und sich die Schildkröte innerhalb der Schleife befindet und der Teich draußen ist oder umgekehrt. In beiden Fällen wird die Schildkröte den Teich nie erreichen, wenn sie einer Wand folgt.
Was kannst du tun, wenn diese Strategie scheitert?
In diesen Fällen kannst du versuchen, andere Schritte auszuführen, bevor du einer Wand folgen, oder die Wand wechseln oder der Wand eine Zeit lang folgen und dann einige andere Schritte ausführen, um den Teich zu erreichen.
Siehe Walks, die sich auf diese Weise programmieren lassen?
Folgen oder abonnieren für Updates: