Installazione al Festival della Scienza di Genova 2021. Crediti: Laura Leonardi

Der astrophysikalische CodyMaze (Code-Labyrinth) ist eine Variante des CodyMaze – entwickelt von Alessandro Bogliolo im Rahmen des CodeMOOC – aufgebaut vom Nationalen Institut für Astrophysik in Zusammenarbeit mit der Universität von Urbino und Digit srl. Das ist ein virtuelles Labyrinth in der realen Welt das Herausförderungen im Bereich Coding und Quiz von Astronomie, Astrophysik und Weltraumfahrt vorschlägt. CodyMaze hilft beim rechnerischen Denken, Fähigkeit zum problem solving und, zugleich, Studenten die Möglichkeit bietet, das Wissenschaftsprogramm, mit Vergnügen nochmal durchzugehen. Die Rätsel der Codierung und die Quiz richten sich an Schüler der Sekundarstufe I, und an das erwachsene Publikum. Auch kleine Kinder vergnügen sich im virtuellen Labyrinth, aber wir empfehlen, sie bei der Benutzung des Handys zu begleiten, und sie bei der Ausführung von Programmierungsanweisungen zu unterstützen.

Im Spiel bewegt man sich auf einem 5 x 5 Schachbrett, deren Kästchen QR-Codes enthalten. Augenscheinlich, ist der Schachbrett frei, aber durch die QR-Codes, hat es verschiedene Labyrinthen, die dem Spieler vom Telegram @codymazebot angeboten werden. Der Spieler bewegt sich auf dem Schachbrett nach Roboteranweisung, und scannt den QR-Code, an dem er zu jeder Etappe ankommt, um sicherzustellen, dass die Reihenfolge der Anleitungen korrekt ausgeführt wurde. Während der verschiedenen Spieletappen, werden immer komplexere Befehlsfolgen vorgeschlagen, die alle grundlegende Programmierungskonzepte einführen. Um die Instruktionsfolge zum nächsten QR-Code zu erhalten, muss ein Astronomie-Quiz richtig bentwortet werden, dessen Thema vom Labyrinth-Kästchen abhängt. Für die astrophysikalische Version des Spiels, wurden 250 Astronomie-Quiz bei mehrfacher Auswahl vorbereitet. Wenn Sie also mehrmals durchs Labyrinth gehen möchten, ist es sehr unwarscheinlich, dass die vorgeschlagene Herausforderungen immer gleich bleiben. Am Ende des Spiels, stellt der Telegram-Bot eine Urkunde über den Spielabschluss aus, die die Liste der Programmierungskonstrukte zeigt, die während des Spiels verwendet werden.

Das Spielfeld

Man kann CodyMaze auf ein 5×5 quadratisches Gitter spielen, auf dem  25 QR-Coden liegen. Die QR-Coden liegen auf dem Boden, mindestens 50 cm voneinander entfernt. So kann sich der Spieler ohne Steine im Spielfeld bewegen. Wenn das Schachbrett am Boden gezeichnet wäre, würde jeder QR-Code die Mitte eines Kästchen besetzen, aber das Vorhandensein der QR-Coden, die den Mittelpunkt des Kästchens zeichnen, macht es unwidertstehlich Ränder zu ziehen. Daher ist es überflüssig, dass das Schachbrett gezeichnet wird. Spalten und Zeilen des Schachbretts werden durch Buchstaben and Zahlen gekennzeichnet, von der oberen Ecke links. Jeder QR-Code wird eine Stellung zugeteilt, die mit einem Buchstabe und einer Nummer identifiziert wird. Ausserdem, ist das Schachbrett konventionell ausgerichtet, so dass  die Oberseite dem Norden entspricht, die Unterseite dem Süden, die linke Site am Ost entspricht, die rechte am Ost. Wenn der Ort es zulässt, wird es empfohlen, das Schachbrett effektiv nach den Kardinalspunkten auszurichten.

Die druckbaren 25 QR-Codes des astrophysikalischen CodyMaze können Sie unter folgenden Links herunterladen:

Zur Erleichterung der Bereitstellung und Nutzung, enthält jeder QR Code die Position und die Kardinalspunkte. Fünf QR-Code haben Sterne, dessen Anwesenheit von der Ausführung einigen Anweiseungen abhängig ist.

Ziel des Spiels

Verlassen des virtuellen Labyrinths gemäss Anweisungen vom @codymazebot.

Spieler

Das Spiel kann von einem oder mehreren Spielern gespielt werden. Die Begrebzung der Anzahl der Spieler ergibt sich allein von der Grösse des Schachbretts, auf dem sich die Spieler unabhängig bewegen können, durch Ausführung jeweiligen Anweiseungen vom @codymazebot.

Anforderungen

Zum spielen, brauchen wir:

  • Smartphone oder Tablet mit:
  • Die verwendeten Geräte müssen der Anzahl der Spieler entsprechen, die gleichzeitig spielen. Am Ende des Spiels, kann das gleiche  Smartphone von einem anderen Spieler genutzt werden, an dem der Bot eine andere Route zeigen wird.

Schwierigkeiten

  • Der Spieler kennt den Pfad nicht, aber er erhält Anweisungen vom Telegram-Bot und müss sie richtig interpretieren und ausführen.
  • Die vom Bot empfangenen Anweisungenreihen sind zunhnemend complex, sowohl für die von Ihnen angeführten Konstrukte, als auch für die Länge.

Game Play

Der Spieler interagiert mit dem Spiel, indem er die folgende Aktionen ergreift:

  • Scannen des QR-Codes, zugeordnet dem Spielers Feld (Aufnahme des QR-Codes mit einem Strichcode-Lesegerät, Telegram Messenger als Anwendung wählen, mit der den Link im QR-Code öffnen, drücken Sie di Taste Starten, die unten in der Oberfläche des Telegram-Boters erscheint)
  • Astronomie-Quiz (richtige Antwort auf das Multiple-Choice-Angebot des Roboters)
  • Einstellung der Fahrtrichtung (wählen Sie eine der vier Taste: Nord, Ost, Süd, oder West, auf Wunsch des Roboters)
  • Lesen und Interpretieren der Anweisungen des Roboters (Die Syntax wird im Game Design Abschnitt beschrieben)
  • Ausführung der Anweisungen des Roboters (die Anweisungen werden physisch auf dem Schachbrett am Boden geschoben).

Game Design (Regeln)

Anfang des Spiels

  1. Ein neues Spiel kann erst begonnen werden, well alle Spiele abgeschlossen sind.
  2. Wenn @codymazebot ist nicht  bereit für ein neues Spiel, weil das vorangegangene Spiel abgebrochen wurde,  kann es mit dem Befehl /reset in den Ausgangszustand zurückgebracht werden.
  3. Unter diesen Bedingungen, wird das Spiel gestartet, wenn ein QR-Code des Rasters gescannt wird.
  4. Um das Spiel anzufangen, muss das Spieler  ein externes Feld auswählen (ein des 16 Felden, die die Kante bilden) und den jeweiligen QR-Coden scannen, um den Roboter die Wahl mitzuteilen.
  5. Der Roboter zeigt dem Spieler die Fahrtrichtung an, und benötigt eine Bestätigung. Es ist wichtig, diese Angabe zu beachten: jede nachfolgende Anweisung muss von der gewählten Position und von der vom Roboter angezeigten Richtung folgen.
  6. Der Robot bietet ein astronomisches Multiple-Choice Quiz an. Jedes Feld des Labyrinths hat ein anderes Thema. Um durch das Labyrinth zu gelangen, muss man richtig reagieren.

Zug

  1. Bei jedem Schritt, steuert der Roboter den Spieler mit einem Code vor diesem Satz “Folgen Sie diesen Anweisungen, um den nächsten Schritt zu lösen, und scannen Sie den QR-Code beim Eintreffen“. Der Code folgt der Syntax, die im Folgenden unter Syntax beschrieben ist.
  2. Der Spieler muss sich auf dem Schachbrett bewegen, indem er/sie den Code wie ein Roboter ausführt, wobei auf die Ausgangstellung und – richtung zu achten ist.
  3. Nach Abschluss der Ausführung, scannt der Spieler den QR-Code, um dem Roboter mitzuteilen,  Welche Position er/sie erreicht hat.
  4. Der Roboter antwortet und fragt: “In welche Richtung schausst du?,” und präsentiert die 4 Tasten zur Richtungswahl.
  5. Der Spieler gibt die Richtung an (ohne sich von der am Ende der Ausführung des Codes eingenommenen Position abzuwenden)
  6. Wenn die Ausführung korrekt ist, sagt der Roboter: “Sehr gut! Du hast den richtigen Punkt gefunden” und schlägt den Code für den nächsten Schritt an.
  7. Achtung: es ist möglich, dass ein Zug keine Bewegung bringt. In diesem Fall, beinhaltet die korrekte Ausführung, dass der QR-Code, auf dem der Spieler steht, erneut gescannt wird.

Falsche Züge

Ein Zug ist falsch, wenn der falsche QR-Code  gescannt wird, oder die falsche Richtung eingestellt wird, im Verhältnis zu den, vom Roboter vorgegebenen Codes.

  1. Bei einer falschen Bewegung, bietet der Roboter den Spieler zurück sum Ausgangspunkt der letzten Bewegung zu gehen, mit Koordinaten und Richtung. Die Antwort des Roboters ist: “Ops! Fehler! Zurück auf Position … schau nach … und scannt den Code erneut”.
  2. Der Spieler muss an die vom Roboter angegebene Position zurückkehren, den QR-Code erneut scannen, auf die vom Roboter angegebene Richtung schauen, und die Position aud Bestätigung auswählen, wenn gewünscht.
  3. Nun gibt der Roboter erneut Anweisungen zur Wiederholung der Bewegung.

Vervollständigung des Labirynths

  1. Am Ende aller Spielzüge, sendet der Roboter folgende Meldung: “Glückwunsch! Du hast das CodyMaze beendet!
  2. Der Roboter bittet darum, den Namen auf der Vervollständigungsbescheinigung einzutragen. Das ist die Meldung: “Geben Sie den Vor- und Nachnamen für die Anzeige auf die Vollständigungsbecheiningung ein:
  3. Der Spieler muss seinen Vor- und Nachnamen eintragen (oder jeder andere Name, wie zum Beispiel der Name einer Klasse, oder eine Liste mit Namen, falls das Spiel im Team gespielt wurde)
  4. Der Roboter fragt: “Bestätigen Sie, dass der Name  … ist?” so können Fehler korrigiert werden.
  5. Antwort mit Ja, erhalten Sie das Zertifikat für die Vervollständigung. Zusätzlich zu vom Spieler angegebenen Namen, erhält das Zertifikat  ein individuelles Erkennungsmerkmal, das künftig zur Überprüfung der Echtheit des Zeugnisses verwendet werden kann. Das Zertifikat kann heruntergeladen, gespeichert und mit Stolz geteilt werden!
  6. Als der Roboter die Meldung sendet “Vielen Dank fürs Mitspielen mit CodyMaze!” ist er bereit, ein neues Spiel anzufangen.

Syntax

Grundlegenstende Anweisungen. Der Roboter verwendet die 3 Grundanweiseungen von CodyRoby, durch die jeweiligen Initialen in kleinbuchstaben dargestellt:

  • a = mach weiter, von einem QR-Code zum nächsten entlang der Fahrtrichtung durchzuführen
  • s = dreh dich nach links: drehen um 90 Grad im Gegenuhrzeigersinn, ohne Kontextumschalten
  • d = nach rechts: drehen um 90 Gradi im Uhrzeigersinn, ohne Kontextumschalten

Wiederholungen. Der Roboter fragt, eine Anweisung, oder eine Befehlsfolge mehrmals zu wiederholen, den Anzahl der Wiederholungen anzugeben, und den Code, in geschweiften Klammern eigeschlossen:

  • n{Code} =n-mals wiederholter Code 
  • 3{a} = aaa
  • 2{as} = asas
  • s2{a} = saa

Eingebettete Konstruktionen. Die Wiederholungen, wie die andere, unten beschriebenen Konstruktionen, können auch eingebettet sein. Mit anderen Worten, kann der wiederholende Code weitere Wiederholungen, oder andere Konstruktionen enthalten, wie in folgenden Beispielen:

  • 2{2{a}} = 2{aa} = aaaa
  • 3{2{a}s} = 3{aas} = aasaasaas

Bedingungen. Um die Bedingungen auszudrücken, für die Ausführung bestimmter Weisungen, verwendet der Roboter  “wenn”, umschliesst die Bedingung in runde Klammern, und die Anweisungen in geschweiften Klammern:

  • wenn(Bedingung){Code} = führen den Code aus, nur wenn die Bedingung eintritt
  • wenn(Bedingung){Code1}sonst{Code2} = führen Code1 aus, wenn die Bedingung eintritt, sonst führen Sie Code2 aus

Die vom Roboter verwendeten Bedingungen sind die folgenden:

  • Strasse voraus oder es gibt einen Weg = geprüft, ob in Fahrtrichtung mindestens ein Feld zum Bewegen vorhanden ist
  • Weg nach rechts = geprüft, im Bezug auf die Position und Fahrtrichtung des Spielers mindestens ein Feld rechts vorhanden ist
  • Weg nach links = geprüft, ob im Bezug auf die Position und Fahrtrichtung des Spielers mindestens ein Feld links vorhanden ist
  • Stern = geprüft, se ob im Feld des Spielers, rund um den QR-Code, gibt es Sterne
  • kein Stelrn = geprüft, ob im Feld des Spielers, rund um den QR-Code, es keine Sterne gibt

Konditionierte Wiederholungen. Der Roboter verwendet den Begriff “bis”, als Hinweis darauf, dass eine oder mehrere Anweisungen solange wiederholt werden müssen, als eine Bedingung fortbesteht. Die Bedingung wird in runden Klammern ausgedrückt. Der Code zum ausführen wird in geschweiften Klammern eingeschlossen:

  • bis(Bedingung){Code} = führen den Code aus, solange die Bedingung eintritt.

Achtung: in den Wiederholungen, und konditionierten Wiederholungen, muss man bei jeder Wiederholung den internen Code ausführen, dann muss man erneut die Wiederholungsbedingung überprüfen (explizite Bedingung, oder Anzahl der Wiederholungen) um zu entscheiden, ob er erneut durchgeführt wird.

Rat. Um den Teilnehmern die Syntax zu veranschaulichen, wird eine gemeinsame Speilausführung empfohlen, und gemeinsam deklarieren und kommentieren, welche Auftragsfolgen der Roboter jedem Schritt zuordnet. Als Alternative, kann man Sequenzen von Prüfanweisungen erstellt werden, um die Ausführung zu simulieren.

Credits

CodyMaze ist ein Projekt von Alessandro Bogliolo, entwickelt von Brendan Paolini, Lorenz Cuno Klopfenstein und Saverio Delpriori, des Masterstudiengangs in Angewandter Informatik der Universität von Urbino. Die astrophysikalische Version wurde in Mitarbeit mit der Play.coding Arbeitsgruppe von INAF entwickelt, die von Maura Sandri koordiniert wird.

Guarda il video su Media Inaf Tv: