Montag, 28. Januar 2013

Oskars Würfel (Oskar's Cube, Oskar's Maze)

Von simplen Draht- und Nagelpuzzles einmal abgesehen stammen die meisten in Deutschland erhältlichen Metallpuzzles von Hanayama. Der europaweite Vertrieb dieser Geduldspiele wurde von der belgischen Firma Eureka übernommen. Eureka bietet daneben aber auch eine kleine Anzahl weiterer Metallpuzzles an. Darunter Oskar's Würfel, der vom Holländer Oskar van Deventer entwickelt wurde. Es handelt sich dabei um ein dreidimensionales Labyrinth in Gestalt eines Hohlwürfels. Ein aus dünnen Stäben bestehender Stern muss durch diesen Würfel manövriert werden, wobei die auf den Außenflächen angebrachten Labyrinthe die möglichen Bewegungen einschränken. Auf jeder Fläche sind zwei Positionen markiert,  eine runde und eine eckige. Ziel ist, von einem Punkt zum anderen zu gelangen, wobei die Punkte in allen drei Raumdimensionen (links/rechts, oben/unten, vorne/hinten) gleichzeitig getroffen werden müssen.


Oskar's Cube ist mehr als doppelt so teuer wie die Puzzles der Hanayama Serie. Leider schlägt sich das nicht in der Qualität nieder. Der recht große Würfel besteht aus dünnem, gestanzten Blech. Die durch Kratzer markierten Punkte sind nur mühsam zu erkennen. Im Vergleich zu Hanayama Puzzles ein krasser Abfall. Aufgrund des genialen Prinzips macht das Puzzeln dennoch Spaß. Das Weiterbewegen des Kreuzes ist, von gelegentlichen Verkantungen abgesehen, unproblematisch. Was sich als außerordentlich schwierig erwies, war, dem gewünschten runden oder eckigen Zielpunkt nahe zu kommen. Wieder und wieder wurde ich auf irgendeiner Würfelfläche von dem dortigen Labyrinth blockiert. Da ich den Würfel häufig drehen musste, verlor ich bald jede Orientierung. Eine wirklich ausgesprochen vertrackte Angelegenheit,

Warum nicht das alles vom Computer lösen lassen? Schnell war ein kleines Programm geschrieben. Den Würfel bildete ich in drei Matritzen ab, für jede Raumdimension eine. Jede Matrix enthielt dabei alle erreichbaren Felder einer Fläche. Ein kleines Unterprogramm prüft von einer Anfangsposition aus alle Nachbarfelder auf Erreichbarkeit ab. Ist ein Feld in der Matrix vorhanden, ruft sich das Unterprogramm selbst mit der Position des neuen Feldes auf usw. Durch diese rekursive Strategie, lässt sich das Problem sehr elegant lösen. Es werden solange neue Instanzen des Unterprogramms gestartet, bis jede in eine Sackgasse geraten ist oder die Zielposition erreicht wurde. Die zurückgelegte Zugfolge wird von jeder Programminstanz gespeichert. Damit wird zum einen vermieden, sich im Kreis zu bewegen. Zum anderen ist damit beim Erreichen des Zielpunkts der Weg dokumentiert.

Beim Testen konnte ich problemlos den Weg zwischen beliebigen Punkten ermitteln. Auch der mit Kreisen markierte Punkt war erreichbar. Nicht aber der mit den Quadraten. Ich sah mir daraufhin den Würfel etwas genauer an. Die markierten Punkte mussten sich logischerweise bei gegenüberliegenden Flächen exakt an der gleichen Stelle befinden. Das war unglaublicherweise bei den Quadraten nicht der Fall. Eines fehlte völlig, zwei andere waren versetzt angeordnet. Mit einem alternativen Ziel funktionierte mein Programm schließlich. Hier die ermittelte Zugfolge (die aber ohne Kenntnis der Koordinaten wenig hilfreich sein dürfte):

195 194 193 192 191 291 391 381 371 361 351 341 331 231 131 132 133 123 113 114 115 116 117 127 137 237 337 336 335 345 355 365 375 376 377 387 397 497 597 598 599 699 799 798 797 787 777 877 977 976 975 875 775 675 575 565 555 545 535 635 735 745 755 855 955 945 935 936 937 927 917 918 919 929 939 949 959 958 957 857 757 758 759 749 739 729 719 718 717 727 737

Wie ist so eine Schlamperei möglich? Hatte ich ein fehlerhaftes Exemplar erwischt? Ich recherchierte im Internet und fand eine vom Mai 2006 stammende - also fast sieben Jahre alte! - Rezension, bei der das gleiche Problem erwähnt wird. Es ist wirklich bedauerlich, dass eine so gute Idee so schlecht umgesetzt wurde.





Keine Kommentare:

Kommentar veröffentlichen