- JS Crossword ist ein Puzzle, bei dem das Ergebnis der Ausführung der Antwort mit
eval()der Hinweis ist;7kann etwa mit3+4gelöst werden,[object Object]mit[]+{} - Das Puzzle nutzt wenig bekannte oder schwer verständliche JavaScript-Funktionen und wird daher Personen empfohlen, die mit JavaScript einigermaßen vertraut sind
- Die erlaubten Zeichen sind auf
A-Za-z0-9!"()*+-./<=>[]`{}beschränkt; Leerzeichen, Kommas und Semikolons sind nicht erlaubt, und Groß-/Kleinschreibung wird unterschieden - Antworten werden in einer
eval()-Sandbox ausgewertet; DevTools, MDN und Suche sind erlaubt, das Lösen mit KI wird jedoch nicht empfohlen - Der Fortschritt wird lokal gespeichert; wer das gesamte Board löst, bekommt ein Ende und eine Replay-Funktion zu sehen, und es werden keine Statistiken erfasst
Puzzle-Regeln
- JS Crossword ist ein Puzzle, bei dem das Ergebnis der Ausführung einer Kreuzworträtselantwort mit
eval()der Hinweis ist - Der Hinweis
7kann mit3+4gelöst werden, der Hinweis[object Object]mit[]+{} - Da wenig bekannte oder etwas obskure JavaScript-Funktionen verwendet werden, wird es Personen empfohlen, die mit JavaScript einigermaßen vertraut sind
- Die verwendbaren Zeichen sind auf
A-Za-z0-9!"()*+-./<=>[]`{}beschränkt; Leerzeichen, Kommas und Semikolons können nicht verwendet werden - Das Kreuzworträtsel unterscheidet Groß- und Kleinschreibung, und die endgültigen Antworten bestehen nur aus englischen Wörtern und müssen zu
A-Za-zpassen - Antworten werden innerhalb einer
eval()-Sandbox ausgewertet und können im Playground unten auf der Seite direkt ausprobiert werden - Externe Ressourcen wie DevTools, MDN und Suche sind erlaubt, aber das Lösen mit KI wird nicht empfohlen
- Die Eingaberichtung kann durch Klicken auf ein Feld oder mit
ctrlgewechselt werden, und der Fortschritt wird lokal gespeichert - Farben unterscheiden zwischen möglicher Korrektheit, falschen Zeichen, Fehlern und vorausgefüllten Feldern
Abschluss und Teilen
- Die endgültige Antwort wird als
horses gonna answerangezeigt - Nach dem Lösen des gesamten Boards erscheint ein separates Ende; es wird darauf hingewiesen, dass dieses Audio und starke visuelle Effekte enthält
- Nach Abschluss kann der Browser neu geladen und in der JavaScript-Konsole
replayCapture()ausgeführt werden, um ein Replay des Spiels anzusehen - Alle Replay-Daten werden nur lokal gespeichert; es wird erklärt, dass keine mit dem Kreuzworträtsel verbundenen Daten oder Statistiken gesammelt werden
- Die Ending-Musik ist revolea - its giving music
- Die Urheberin ist Lyra Rebane; am Playtesting war Jorian Woltjer beteiligt
- Link zum Teilen von Meinungen: fedi, bsky, twitter
1 Kommentare
Lobste.rs-Kommentare
Ich sehe dicke Linien und frage mich, was sie bedeuten. Teilen sie die Zeichenkette auf? So etwas habe ich in einem Kreuzworträtsel noch nie gesehen.
Bearbeitung: Da die betreffenden Felder hervorgehoben werden, scheint es tatsächlich so zu sein. Jetzt wirkt es selbstverständlich, aber beim ersten Hinweis war es ziemlich verwirrend.
Ein kleiner Wermutstropfen ist, dass die Lösung nicht eindeutig ist. In der Notation
tr:nth-child,td:nth-childbetrachtet haben die einzelnen Felder2,6,10,18,13,14,16,16,18,8zu wenige Einschränkungen.Es gibt auch mindestens einen, wahrscheinlich mehrere Fälle mit unterschiedlichen Lösungsansätzen. Bei 38-down war offenbar
thisbeabsichtigt, aber jemand anderes, der einen fertigen Screenshot gepostet hat, hat/h/sverwendet, und das funktioniert ebenfalls.Wenn man an Kreuzungsfeldern Änderungen vorgenommen hat, wurde manchmal eine Lösung korrigiert und die andere zerstört, sodass die Lösungsprüfung gelegentlich fehlschlug oder sich seltsam verhielt. Um das Grün zu sehen, musste ich die Zeichen erneut eingeben.
Wenn ich nach dem Neuladen der Seite erneut spiele, erkennt es mein 38-down als gelöst, aber das Abspielen der finalen Inszenierung nicht. Allgemeiner war 9-down als letztes ungelöst, während 22-across auf eine damit inkompatible Weise gelöst war; als ich das Kreuzungsfeld änderte, um 9-down zu korrigieren, wurde 22-across zerstört, aber es erschien trotzdem „whoaw!!“ und wurde als abgeschlossen gewertet. Nach dem Neuladen erkennt das erneute Spielen korrekt, dass es noch nicht fertig ist.
Ein paarmal musste ich die JavaScript-Standardbibliothek durchsuchen, um einen Namen zu finden, der zum Glob passt. Ohne eine lokale MDN-Kopie, sodass ich nicht etwas wie
find -name "??x?x.html"hätte machen können, weiß ich nicht, wie ich das gelöst hätte.29-down fühlt sich für mich immer noch wie Schummeln an. Trotzdem hat es wirklich Spaß gemacht und mir einen guten Teil meines Vormittags genommen 🙂
Die nicht eindeutigen Lösungen sind beabsichtigt. Dass es mehrere Lösungswege gibt, ebenfalls. Es ist eine hackerige Herausforderung, und wenn man clevere alternative Lösungen finden kann, finde ich, dass sie erlaubt sein sollten.
Mich würde interessieren, ob es eine zuverlässige Möglichkeit gibt, das Scheitern der Lösungsprüfung an Kreuzungsfeldern zu reproduzieren.
Das Problem mit den kreuzenden Lösungen hast du gut erkannt. Vermutlich ist das irgendeine unterhaltsame asynchrone JavaScript-Race-Condition, dürfte sich aber trotzdem ziemlich leicht beheben lassen.
Wirklich großartig! Es hat mehrere Stunden gedauert, und ich musste zwischendurch ein paar Pausen machen und darüber nachdenken, aber am Ende habe ich es gelöst. Ich mag solche Erfahrungen, und ich mag auch Regex-Kreuzworträtsel sehr. Danke, dass du das gebaut und geteilt hast.
Ich habe nur etwa die Hälfte lösen können, aber dabei ein paar Dinge gelernt. In JavaScript gibt es genauso viele alte Altlasten wie seltsame Randfälle.
Die langen Hinweise waren so offen, dass es schwer war, überhaupt anzufangen. Gefallen haben mir 1-down und 33-down.
Auf jeden Fall ein beeindruckendes Werk.
Meine Güte, das ist viel zu schwer :)
Websites, die den Zurück-Button des Browsers kapern oder stören, sollte man als Spam markieren.
iframe.srcals Navigation behandeln.