Betrifft: Voronoi-Labyrinthe
Wo ist hier oben und unten?
Die Zellen auf dem Modul bilden ein Labyrinth. Es gilt herzuleiten, welche Grenzen Barrieren sind (diese zu überqueren registriert einen Fehler). Am Anfang können die Grenzen durch Zeigen auf die Zellen eingesehen werden.
Zunächst ist eine Startzahl zu berechnen, indem de Seriennummer als Zahl im 36-er-System verstanden wird.
Das Dekodieren der Grenzen folgt einem iterativen Prozess. Für jede Iteration muss eine Zahl n bestimmt werden und dann wie folgt gerechnet werden:
- Die aktuelle Zahl (anfänglich die Startzahl) modulo n ergibt einen Wert.
- Die Zahl geteilt durch n (abrunden) ergibt die Zahl für die nächste Iteration.
Mit der ersten Iteration wird die Anfangszelle bestimmt. Dabei ist n die Anzahl der Zellen am Rand des Moduls. Diese sind gegen den Uhrzeigersinn von 0 (Null) an durchzunummerieren, beginnend mit der unteren linken Zelle.
Nun wird eine Liste der Grenzen um diese Zelle benötigt (der Modulrand zählt nicht mit). Die Grenzen sind vom Modulrand aus gegen den Uhrzeigersinn von 0 an durchzunummerieren. Berührt die Zelle mehrere Ränder, hat der untere Rand Vorrang, dann der rechte, der obere und schließlich der linke.
In jeder weiteren Iteration ist n die Anzahl der Grenzen in der Liste. Jede Iteration bestimmt eine zu überquerende Grenze, wodurch eine neue Zelle quasi “entdeckt” wird. Die Liste ist dann wie folgt zu aktualisieren:
- Die Grenzen um die neue Zelle sind gegen den Uhrzeigersinn der Liste hinzuzufügen, angefangen mit der soeben überschrittenen Grenze.
- Grenzen zwischen bereits entdeckten Zellen werden aus der Liste entfernt.
Der Prozess fährt so fort, bis alle Zellen entdeckt sind. Die Grenzen, die durch den Prozess bestimmt wurden, sind überquerbar; der Rest sind Barrieren.
Durch Berührung wird die Entschärfung eingeleitet. Die Schlüssel sind dann nicht mehr sichtbar. Es gilt, durch Berührung von Zelle zu Zelle zu navigieren und die Schlüssel in der Reihenfolge Rot, Gelb, Blau einzusammeln, ohne dabei eine Barriere zu überqueren.