SGT‐BRIDGES(6) | Spiele | SGT‐BRIDGES(6) |
NAME¶
sgt-bridges - Brücken-Setze-Puzzle
ÜBERSICHT¶
sgt-bridges [--generate n] [--print bxh [--with-solutions] [--scale n] [--colour]] [Spiele-Parameter|Spiele-ID|Zufallsstartwert]
sgt-bridges --version
BESCHREIBUNG¶
Sie verfügen über einen Satz von Inseln, die über das Spielfeld verteilt sind. Jede Insel enthält eine Nummer. Ihr Ziel besteht darin, die Inseln mit Brücken zu verbinden, so dass folgende Bedingungen erfüllt sind:
- •
- Brücken laufen horizontal oder vertikal.
- •
- Die Anzahl der auf einer Insel endenden Brücken stimmt mit der auf der Insel angegebenen Nummer überein.
- •
- Zwei Brücken dürfen parallel zwischen den gleichen zwei Inseln laufen, aber nicht mehr als zwei.
- •
- Keine Brücke kreuzt eine andere Brücke.
- •
- Alle Inseln sind mit Brücken zusammen verbunden.
Es gibt einige konfigurierbare andere Modi, die die Begrenzung auf zwei parallele Brücken auf etwas anderes als zwei setzen und die zusätzliche Randbedingung einführen, dass keine Sequenz von Brücken eine Schleife von einer Insel zurück zu der gleichen Insel bilden dürfen. Die oben angegebenen Regeln sind die Standardregeln.
Dank für dieses Puzzle geht an Nikoli (https://www.nikoli.co.jp/en/puzzles/Hashiwokakero/).
Bridges ist ein Beitrag von James Harvey zu dieser Sammlung.
Bridges-Steuerung¶
Um eine Brücke zwischen zwei Inseln zu positionieren, klicken Sie mit der Maus auf eine der Inseln und ziehen Sie sie dann auf die andere zu. Sie müssen sie nicht den ganzen Weg zur anderen Insel ziehen; Sie müssen die Maus nur weit genug ziehen, so dass die geplante Brückenrichtung eindeutig ist. (Somit können Sie die Maus in der Nähe der Startinsel belassen und bequem Brücken von dieser aus in viele Richtungen werfen.)
Ist bereits eine Brücke vorhanden und Sie wiederholen dies, dann wird eine weitere, parallele Brücke hinzugefügt. Falls bereits so viele Brücken zwischen zwei Inseln vorhanden sind, wie von den aktuellen Spielregeln erlaubt sind (d.h. standardmäßig zwei), wird die gleiche Zieh-Aktion alle Brücken wieder entfernen.
Falls Sie sich daran erinnern wollen, dass sich zwischen zwei Inseln definitiv keine Brücke befindet, können Sie in der gleichen Weise mit der rechten Maustaste eine ‘keine-Brücke’-Markierung hinziehen.
Falls Sie glauben, Sie haben eine Insel abgeschlossen (d.h. Sie haben alle deren Brücken gesetzt und sind sich sicher, dass sie korrekt sind), können Sie die Insel durch Anklicken mit der rechten Maustaste als abgeschlossen markieren. Dies wird sie und alle daran angeschlossenen Brücken hervorheben und Sie davon abhalten, versehentlich in der Zukunft eine dieser Brücken zu verändern. Durch erneutes Klicken mit der linken Maustaste entfernen Sie die Markierung wieder und stellen die Möglichkeit wieder her, die Insel zu bearbeiten.
Sie können auch die Pfeiltasten zur Bewegung im Gitter verwenden: Falls möglich, wird sich der Cursor immer orthogonal bewegen, andernfalls wird er sich zur Insel bewegen, die der angezeigten Richtung am nächsten liegt. Durch Drücken von Strg gefolgt von einer Pfeiltaste wird eine Brücke in diese Richtung gelegt (falls möglich). Durch Drücken der Leertaste gefolgt von einer Pfeiltaste wird eine ‘keine-Brücke’-Markierung gesetzt. Durch Druck der Eingabetaste gefolgt von einer Pfeiltaste wird auch eine Brücke in diese Richtung gelegt.
Durch zweifaches Drücken der Leer- oder Eingabetaste können Sie eine Insel als beendet markieren.
Durch Drücken einer Zahltaste können Sie zur nächsten Insel mit dieser Zahl springen. Die Buchstaben ‘a’ … ‘f’ zählen als 10 … 15 und ‘0’ als 16.
Verletzungen der Puzzleregeln werden in rot markiert:
- •
- Eine Insel mit zu vielen Brücken wird in rot hervorgehoben.
- •
- Eine Insel mit zu wenigen Brücken wird in rot hervorgehoben, wenn es definitiv ein Fehler ist (im Gegensatz zur Situation, in der Sie einfach noch nicht fertig sind): Falls das Hinzufügen einer ausreichenden Anzahl an Brücken dazu führte, dass eine andere Brücke gekreuzt oder eine nicht-Brücken-Markierung entfernt würde oder falls die Insel als komplett markiert wurde.
- •
- Eine Gruppe von Inseln und Brücken kann in rot hervorgehoben werden, falls sie eine geschlossene Untermenge des Puzzles darstellen, die nicht mehr mit dem Rest der Inseln verbunden werden kann. Falls Sie beispielsweise zwei 1er-Inseln direkt mit einer Brücke verbinden und sie nicht die einzigen Inseln im Gitter sind, werden sie rot markiert, um anzuzeigen, dass eine solche Gruppe nicht in einer gültigen Lösung enthalten sein kann.
- •
- Falls Sie die (standardmäßig aktivierte) Option »Allow Loops« deaktiviert haben, wird eine Gruppe von Brücken, die eine Schleife darstellen, hervorgehoben.
(Alle unten beschriebene Aktionen sind auch verfügbar.)
Bridges-Parameter¶
Diese Parameter sind von der Option ‘Custom...’ im Menü ‘Type’ verfügbar.
- Width (Breite), Height (Höhe)
- Größe des Gitters in Quadraten.
- Difficulty
- Schwierigkeitsgrad des Puzzles.
- Allow loops
- Standardmäßig aktiviert. Falls entfernt, werden die Puzzles derart erzeugt, dass sie immer ohne die Erstellung von Schleifen lösbar sind und Lösungen, die eine Schleife enthalten, verboten werden.
- Max. bridges per direction
- Maximale Anzahl an Brücken in jede Richtung. Die Vorgabe ist 2 aber Sie können Sie auf 1, 3 oder 4 ändern. Im Allgemeinen sind weniger leichter.
- %age of island squares
- Gibt eine grobe Pozentzahl von Inseln an, die der Generator vor Beenden des Puzzles ausprobieren und legen wird. Bestimmte Layouts werden nicht in der Lage sein, genügend Inseln zu legen; dies ist eine Obergrenze.
- Expansion factor (%age)
- Der Gitter-Generator funktioniert folgendermaßen: Zuerst wird irgendwo zufällig eine Insel erzeugt (falls noch keine vorhanden ist) oder zufällig ausgewählt. Dann wird zufällig eine Richtung ausgewählt und ermittelt, wie weit in diese Richtung gegangen werden könnte, bevor eine neue Insel erstellt werden muss. Dieser Parameter bestimmt, wie wahrscheinlich es ist, das der Generator soweit wie möglich in eine Richtung geht, statt einen näheren Ort auszuwählen.
Hohe Ausdehnungsfaktoren bedeuten für gewöhnlich leichtere Puzzles mit weniger möglichen Inseln; niedrige Ausdehnungsfaktoren können zu vielen, eng gepackten Inseln führen.
Gemeinsame Aktionen¶
Diese Aktionen sind vom Menüpunkt ‘Game’ und über Tastaturkürzel verfügbar, zusätzlich zu allen spielspezifischen Aktionen.
(Unter Mac OS X befinden sich diese Aktionen unter den Menüs ‘File’ und ‘Edit’, um den lokalen Benutzerschnittstellenstandards zu genügen.)
- New game (‘N’, Strg+‘N’)
- Beginnt ein neues Spiel, mit einem zufälligen Startzustand.
- Restart game
- Setzt das aktuelle Spiel auf seinen Startzustand zurück. (Dies kann rückgängig gemacht werden.)
- Load
- Lädt ein gespeichertes Spiel aus einer Datei auf der Platte.
- Save
- Speichert den aktuellen Zustand Ihres Spiels in einer Datei auf der Platte.
Die Operationen Load und Save erhalten Ihren gesamten Spielverlauf (daher können Sie speichern, neuladen und immer noch Aktionen, die Sie vor dem Speichern durchgeführt hatten, rückgängig machen (Undo) oder erneut ausführen (Redo)).
- Wo unterstützt (derzeit nur unter Windows) wird ein Dialog gezeigt, der es Ihnen erlaubt, eine beliebige Anzahl von Puzzlen zu drucken, die aus den aktuellen Parametern generiert werden, darunter optional auch das aktuelle Puzzle. (Natürlich nur für Puzzles, die sinnvoll gedruckt werden können – für Fifteen ist es schwer, eine vernünftige druckbare Darstellung zu ersinnen.)
- Undo (‘U’, Strg+‘Z’, Strg+‘_’, ‘*’)
- Setzt einen einzelnen Spielzug zurück. (Sie können Spielzüge bis zum Beginn der Sitzung zurücksetzen.)
- Redo (‘R’, Strg+‘R’, ‘#’)
- Nimmt einen vorher zurückgesetzten Spielzug wieder vor.
- Copy
- Kopiert den aktuellen Zustand Ihres Spiels im Textformat in die Zwischenablage, so dass Sie ihn in, sagen wir, Ihren E-Mail-Client oder ein Web-Diskussionsforum einfügen können, falls Sie das Spiel mit jemanden diskutieren. (Nicht alle Spiele unterstützen diese Funktion.)
- Solve
- Überführt das Puzzle sofort in seinen gelösten Zustand. Bei einigen Spielen (Cube) wird diese Funktion überhaupt nicht unterstützt, da sie keinen besonderen Zweck erfüllt. Bei anderen Spielen (wie Pattern) kann der gelöste Zustand Ihnen Informationen geben, falls Sie nicht erkennen können, ob überhaupt eine Lösung existiert oder wo Sie einen Fehler gemacht haben. Für wieder andere Spiele (wie Sixteen) teilt Ihnen die automatische Lösung nichts darüber mit, wie Sie zu der Lösung kommen, aber sie stellt eine nützliche Methode dar, schnell dorthin zu gelangen, so dass Sie mit den Stein-Setz-Spielzügen und Transformationen experimentieren können.
Einige Spiele (wie Solo) sind in der Lage, eine Spiele-ID zu lösen, die Sie aus anderer Quelle erhalten haben. Andere Spiele (wie Rectangles) können keine Spiele-ID lösen, die sie nicht selbst erfunden haben, aber wenn sie die Spiel-ID selbst erfunden haben, kennen sie die Lösung bereits. Wieder andere Spiele (Pattern) können einige externe Spiele-IDs lösen, aber nur falls diese nicht zu schwer sind.
Der ‘Solve’-Befehl fügt den gelösten Zustand an das Ende der Undo-Kette für das Puzzle hinzu. Mit anderen Worten, falls Sie zum eigenständigen Lösen zurückkehren wollen, nachdem Sie die Antwort gesehen habe, wählen Sie einfach Undo aus.
- Quit (‘Q’, Strg+‘Q’)
- Schließt die Anwendung komplett.
Spiele über die Spiele-ID angeben¶
Es gibt zwei verschiedene Arten eine Spielspezifikation in einem Puzzle zu speichern und dieses später wieder herzustellen, entweder in Ihrer Umgebung oder in der Ausgabe des gleichen Puzzles bei einer anderen Person.
Die Optionen ‘Specific’ und ‘Random Seed’ aus dem Menü ‘Game’ (oder ‘File’ unter Mac OS X) zeigen jeweils ein Stück Text (eine ‘Spiele-ID’), der ausreicht, um genau dieses Spiel zu einem späteren Zeitpunkt zu rekonstruieren.
Sie können eines dieser Textstücke später wieder im Programm eingeben (über die gleiche Menüoption ‘Specific’ oder ‘Random Seed’) und es wird das gleiche Spiel wieder erzeugt. Sie können auch eines davon (unter Windows oder Unix) als Befehlszeilen-Argument verwenden; lesen Sie unten für weitere Details.
Der Unterschied in der zwei Formen besteht darin, dass die beschreibende Spiele-ID eine Beschreibung des Anfangszustands des Spieles ist, während der Zufallsstartwert lediglich ein Stück beliebiger Text ist, der als Eingabe für den Zufallszahlengenerator zur Erzeugung des Puzzles verwandt wurde. Dies bedeutet:
- •
- Beschreibende Spiele-IDs sind typischerweise für viele Puzzle länger (wobei einige, wie Cube (sgt-cube(6)) nur eine sehr kurze Beschreibung benötigen). Daher ist der Zufallsstartwert oft ein schnellerer Weg, um das gerade gespielte Puzzle aufzuschreiben oder es jemanden anderen mitzuteilen, so dass er das Gleiche wie Sie spielen kann.
- •
- Jeder beliebige Text ist ein gültiger Zufallsstartwert. Bei den automatisch generierten handelt es sich um fünfzehnstellige Zahlen, es funktioniert aber alles, Sie können Ihren vollständigen Namen oder ein erfundenes Wort eingeben und ein gültiges Puzzle wird daraus erstellt. Dies gibt zwei oder mehr Leuten die Möglichkeit, das gleiche Puzzle um die Wette zu lösen: Sie denken sich einen Zufallsstartwert aus und jeder tippt ihn zur gleichen Zeit ein. Damit hat keiner einen Vorteil dadurch, dass er das erstellte Puzzle vor jemanden anderen gesehen hat.
- •
- Oft ist es möglich, Puzzle aus anderen Quellen (wie ‘Nonograms’ oder ‘Sudoku’ aus Zeitungen) in beschreibende Spiele-IDs zu verwandeln, die mit diesen Programmen verwandt werden können.
- •
- Zufallsstartwerte erzeugen nicht notwendigerweise die gleichen Ergebnisse, wenn sie mit einer anderen Version des Puzzle-Programms verwandt werden. Dies beruht darauf, dass der Erzeugungsalgorithmus in neueren Versionen des Codes verbessert oder verändert worden sein könnte und daher ein anderes Ergebnis erzeugen wird, wenn die gleiche Sequenz an Ziffern als Zufallszahl angegeben wird. Verwenden Sie eine beschreibende Spiele-ID, falls Sie sich nicht sicher sind, dass sie auf der gleichen Version des Programms wie der Ihren verwandt wird.
(Verwenden Sie die Menüoption ‘About’ um die Versionsnummer des Programms herauszufinden. Programme mit der gleichen Versionsnummer auf verschiedenen Plattformen sollten im Hinblick auf die Zufallsstartwerte kompatibel sein.)
Eine beschreibende Spiele-ID beginnt mit einem Stück Text, der die Parameter des aktuellen Spiels kodiert (wie beispielsweise die Gittergröße). Dann folgt ein Doppelpunkt und danach eine Beschreibung des Anfangszustandes des Spieles. Ein Zufallsstartwert beginnt mit einer ähnlichen Zeichenkette, enthält dann aber ein Rautezeichen gefolgt von beliebigen Daten.
Falls Sie eine beschreibende Spiele-ID eingeben wird das Programm nicht in der Lage sein, Ihnen den erzeugenden Zufallsstartwert anzuzeigen, da es nicht aus einem Zufallsstartwert erzeugt wurde. Falls Sie allerdings einen Zufallsstartwert eingeben, wird das Programm in der Lage sein, Ihnen den daraus abgeleiteten Zufallsstartwert anzuzeigen.
Beachten Sie, dass die Spieleparameterzeichenketten sich in den zwei Formen unterscheiden können. Bei einigen Spielen werden beim Zufallsstartwert zusätzliche Parameterdaten angegeben werden, die bei der beschreibenden Spiele-ID entfallen. Dies kommt daher, dass diese Parameterinformationen nur zur Erstellung von Gittern, aber nicht beim Spielen relevant sind. So wird beispielsweise der Schwierigkeitsgrad von Solo (sgt-solo(6)) in der beschreibenden Spiele-ID nicht erwähnt.
Diese zusätzlichen Parameter werden auch nicht permanent gesetzt, falls Sie eine Spiele-ID eingeben. Nehmen wir beispielsweise an, Sie haben den Schwierigkeitsgrad ‘Advanced’ in Solo eingestellt und ein Freund bittet Sie um Unterstützung bei einem Spiel der Schwierigkeit ‘Trivial’. Er liest daher einen einen Zufallsstartwert unter Benutzung der Schwierigkeit ‘Trivial’ aus und Sie geben diesen ein. Das Programm wird Ihnen das gleiche Gitter mit der Schwierigkeit ‘Trivial’ erstellen, mit dem Ihr Freund Probleme hatte, aber sobald Sie es zuende gespielt haben und ein neues Spiel beginnen, wird wieder automatisch auf die Schwierigkeit ‘Advanced’ zurückgeschaltet, die vorher eingestellt worden war.
Das Menü ‘Type’¶
Das Menü ‘Type’ kann, falls vorhanden, eine Liste der voreingestellten Spieleeinstellungen enthalten. Wird eines dieser Einträge ausgewählt, wird ein neues Spiel mit den angegebenen Parametern gestartet.
Das Menü ‘Type’ kann auch eine Option ‘Custom’ enthalten, die es Ihnen erlaubt, die Parameter des Spiels im Detail einzustellen. Die Parameter sind spielspezifisch und werden in den folgenden Abschnitten beschrieben.
Spieleparameter auf der Befehlszeile eingeben¶
(Dieser Abschnitt betrifft nicht die Mac OS X-Version.)
Die Spiele in dieser Sammlung speichern absichtlich niemals Informationen auf dem Computer, auf dem sie ausgeführt werden: sie haben keine Bestenliste und keine abgespeicherten Voreinstellungen. (Dies kommt daher, dass ich annehme, dass einige Personen sie auf der Arbeit spielen werden und diese Personen möchten wahrscheinlich so wenige Nachweise wie möglich hinterlassen!)
Falls Sie allerdings eines dieser Spiele mit einem vorgegebenen Satz an bestimmten Parametern starten möchten, können Sie diese auf der Befehlszeile angeben.
Am einfachsten erfolgt dies, indem Sie die gewünschten Parameter mit dem Menü ‘Type’ einrichten (siehe oben) und dann ‘Random Seed’ aus dem Menü ‘Game’ oder ‘File’ (siehe oben) auswählen. Der Text in dem Kasten ‘Game ID’ wird dann aus zwei Teilen bestehen, getrennt durch eine Raute. Der erste dieser Teile stellt die Spieleparameter dar (beispielsweise die Größe des Spielbereichs, und alles was Sie über das Menü ‘Type’ eingestellt haben).
Falls Sie das Spiel mit genau diesem Parametertext auf der Befehlszeile ausführen, wird es mit den von Ihnen angegebenen Einstellungen gestartet.
Beispiel: Sie führen Cube aus (siehe sgt-cube(6)), wählen ‘Octahedron’ aus dem Menü ‘Type’ aus und gehen dann zu der Auswahl der Spiele-ID. Dort sehen Sie eine Zeichenkette der Form ‘o2x2#338686542711620’. Verwenden Sie nur den Teil vor der Raute (‘o2x2’) und starten Sie Cube mit diesem Text auf der Befehlszeile: ‘sgt-cube o2x2’.
Falls Sie die gesamte Spiele-ID auf der Befehlszeile angeben wird das Spiel mit dem speziellen beschriebenen Spiel gestartet. Dies ist manchmal der bequemere Weg eine bestimmte Spiele-ID zu starten, statt diese in den Auswahlkasten für die Spiele-ID einzufügen.
(Sie können die kodierten Spieleparameter auch aus der Menüoption ‘Specific’ statt ‘Random Seed’ auslesen, allerdings werden dann einige Parameter, wie der Schwierigkeitsgrad in Solo, fehlen. Lesen Sie oben für weitere Details darüber.)
Unix Befehlszeilenoptionen¶
(Dieser Abschnitt betrifft nur die Unix-Portierung.)
Zusätzlich zu der Möglichkeit, die Spieleparameter auf der Befehlszeile zu übergeben (siehe oben) gibt es verschiedene andere Optionen:
- --game
- --load
- Diese Optionen bestimmen, ob das angegebene Befehlszeilenargument als spezieller Spieleparameter oder als eine zuvor gespeicherte und jetzt zu ladende (‘--load’) Datei betrachtet wird. Nur eine der beiden Parameter sollte angegeben werden. Falls keine der Optionen angegeben ist, wird basierend auf dem Format des Arguments der zutreffende Fall erraten.
- --generate n
- Falls diese Option angegeben wird, dann werden eine Reihe von beschreibenden Spiele-IDs ausgedacht und auf der Standardausgabe ausgegeben. Dies ist hilfreich, um Zugriff auf die Spieleerzeugungsalgorithmen zu erhalten, ohne notwendigerweise die Oberfläche zu verwenden.
Falls auf der Befehlszeile Spieleparameter angegeben sind, werden diese zur Erzeugung von Spiele-IDs verwandt; andernfalls wird ein voreingestellter Satz an Parametern verwandt.
Der häufigste Einsatzfall dieser Option besteht im Zusammenhang mit der Option --print. Dabei unterscheidet sich das Verhalten etwas, siehe unten.
- --print wxh
- Falls diese Option angegeben wird, wird eine gedruckte Darstellung eines oder mehrerer ungelöster Puzzles im PostScript-Format auf die Standardausgabe gesandt, anstatt dass das Puzzle angezeigt wird.
Auf jeder Seite mit Puzzlen wird es w quer und h nach unten geben. Falls es mehr Puzzle als w×h gibt wird mehr als eine Seite gedruckt.
Falls auch --generate angegeben wurde, werden die ausgedachten Spiele-IDs zur Erzeugung der gedruckten Ausgabe verwandt. Andernfalls wird auf der Standardeingabe eine Liste von Spiele-IDs im gleichen Format, wie das von --generate erzeugte, erwartet (diese können beschreibend oder mit Zufallsstartwert sein, siehe oben).
Zum Beispiel:
sgt-net --generate 12 --print 2x3 7x7w | lpr
Wird zwei Seiten an gedruckten Net-Puzzlen (jedes wird ein 7×7 Umlauf-Gitter enthalten) erstellen und diese über eine Pipe an den lpr-Befehl senden, der die Ausgabe auf vielen Systemen auf den eigentlichen Drucker schicken wird.
Es gibt verschiedene weitere Optionen mit Auswirkungen auf das Drucken, siehe unten.
- --save file-prefix [ --save-suffix file-suffix ]
- Falls diese Option angegeben wird, werden statt der Anzeige eines Puzzles die gespeicherten Spieledateien für ein oder mehrere Puzzles in Dateien geschrieben, die aus den angegebenen Prä- und/oder Suffixen konstruiert werden.
Falls auch --generate angegeben wurde, werden die ausgedachten Spiele-IDs zur Erzeugung der gedruckten Ausgabe verwandt. Andernfalls wird auf der Standardeingabe eine Liste von Spiele-IDs im gleichen Format, wie das von --generate erzeugte, erwartet (diese können beschreibend oder mit Zufallsstartwert sein, siehe oben).
Zum Beispiel:
sgt-net --generate 12 --save game --save-suffix .sav
wird zwölf gespeicherte Spieledateien für Net mit den Namen game0.sav bis game11.sav erstellen.
- --version
- Gibt nur die Versionsinformationen über das Spiel aus und wird dann beendet.
Die folgenden Optionen sind nur von Bedeutung, falls auch --print angegeben wird:
- --with-solutions
- Die mit ungelösten Puzzlen gefüllte Seite wird von den Lösungen zu diesen Puzzlen gefolgt.
- --scale n
- Passt die Größe jedes Puzzles im Ausdruck an. Größere Zahlen vergrößern die Puzzle; der Standardwert ist 1.0.
- --colour
- Die Puzzles werden in Farbe statt schwarz-weiß ausgedruckt (falls dies vom Puzzle unterstützt wird).
SIEHE AUCH¶
Komplette Dokumentation in /usr/share/doc/sgt-puzzles/puzzles.txt.de.gz.
Januar 2023 | sgt‐bridges (sgt‐puzzles) |