Provided by:
sgt-puzzles_9179-1_i386 
NAME
blackboxgame - Ratespiel
ÜBERSICHT
blackboxgame [--generate n] [--print bxh [--with-solutions] [--scale n]
[--colour]] [Spiele-Parameter|Spiele-ID|Zufallsstartwert]
blackboxgame --version
BESCHREIBUNG
(Hinweis: Die Debian-Version dieses Spieles heißt blackboxgame, um
Konflikte mit dem Fenster-Manager blackbox zu vermeiden.)
Eine Reihe von Bällen sind in einem rechteckigen Gebiet versteckt. Sie
müssen die Position der Bälle erschließen, indem Sie Laser aus
Positionen an den Rändern der Arena abfeuern und beobachten, wie ihre
Strahlen reflektiert werden.
Strahlen laufen gradlinig von ihrem Ursprung bis sie die
gegenüberliegende Seite der Arena treffen (wo sie wieder auftauchen),
falls sie nicht in einer der folgenden Arten von Bällen betroffen sind:
· Ein Strahl, der einen Ball frontal trifft, wird absorbiert und
nicht wieder auftauchen. Dies betrifft auch Strahlen, die einen
Ball in der ersten Linie der Arena treffen.
· Ein Strahl mit einem Ball im Quadrat vorne links wird um 90 Grad
nach rechts reflektiert.
· Ein Strahl mit einem Ball im Quadrat vorne rechts wird
entsprechend nach links reflektiert.
· Ein Strahl, der an seiner Ursprungsposition wieder auftauchen
würde, gilt als ‘reflektiert’.
· Ein Strahl, der von einem Ball links oder rechts vor dem
Eintrittspunkt abgelenkt würde, bevor er in die Arena eintritt,
wird auch als ‘reflektiert’ betrachtet.
Reflektierte Strahlen tauchen als ‘R’ auf; Strahlen, die Bälle frontal
treffen, tauchen als ‘H’ auf. Andernfalls erscheint eine Nummer am
Feuerpunkt und dem Ort, an dem der Strahl wieder auftaucht (diese
Nummer ist eindeutig diesem Schuss zugeordnet).
Sie können Vermutungen über den Ort der Bälle, basierend auf den
Eintritts- und Austrittsmuster der Strahlen, platzieren; sobald Sie
genug Bälle platziert haben, erscheint ein Knopf, der Ihnen die
Überprüfung Ihrer Vermutungen erlaubt.
Hier ist ein Diagramm, das Ihnen zeigt, wie die Positionen der Bälle
jedes der oben beschriebenen Strahlverhalten erzeugen können:
1RHR----
|..O.O...|
2........3
|........|
|........|
3........|
|......O.|
H........|
|.....O..|
12-RH---
Wie gezeigt ist es möglich, dass ein Strahl mehrfach reflektiert wird,
bevor er wieder auftaucht (siehe Spielschritt 3). Ähnlich kann ein
Strahl (möglicherweise mehr als einmal) reflektiert werden, bevor er
einen Treffer erhält (das ‘H’ auf der linken Seite im Beispiel).
Beachten Sie, dass jede Anordnung mit mehr als vier Bällen nicht
eindeutige Lösungen haben könnte. Das folgende Diagramm illustriert
dies; falls Sie wissen, dass das Brett fünf Bälle enthält, ist es
unmöglich, zu bestimmen, wo der fünfte Ball ist (mögliche Lösungen sind
durch x gekennzeichnet):
--------
|........|
|........|
|..O..O..|
|...xx...|
|...xx...|
|..O..O..|
|........|
|........|
--------
Aus diesem Grund testet das Spiel, wenn Sie Ihre Vermutung überprüft
haben wollen, dass Ihre Lösung das gleiche Ergebnis wie die des
Computers produziert, statt zu prüfen, ob Ihre Lösung mit der des
Computers übereinstimmt. Daher können Sie im obigen Beispiel den
fünften Ball auf einen beliebigen der mit x markierten Plätze setzen
und Sie würden immer noch gewinnen.
Black Box wurde von James Harvey zu dieser Sammlung beigesteuert.
Black Box-Steuerung
Um einen Laserstrahl abzufeuern, klicken Sie links in ein Quadrat am
Rande der Arena. Das Ergebnis wird sofort angezeigt. Der aktuelle (oder
alte) Durchlauf kann durch Drücken oder Halten der linken Taste
hervorgehoben werden, um den Austrittspunkt für den Laser, falls
zutreffend, zu bestätigen.
Um den Ort eines Balles zu raten, klicken Sie links in die Arena und
ein schwarzer Kreis markiert dort die vermutete Position; klicken Sie
erneut, um den vermuteten Ball zu entfernen.
Durch Rechtsklick können Stellen in der Arena gegen Veränderungen
gesperrt werden; ganze Zeilen und Spalten können entsprechend durch
Rechtsklick im Laserquadrat oberhalb oder unterhalb der Spalte bzw.
rechts oder links der Zeile gesperrt werden.
Die Pfeiltasten können auch zu Bewegung im Gitter verwandt werden.
Durch Drücken der Eingabetaste wird ein Laser gefeuert oder eine neue
Ballort-Vermutung hinzugefügt und durch Drücken der Leertaste wird eine
Zelle, Zeile oder Spalte gesperrt.
Wenn eine geeignete Zahl an Bällen geraten wurde erscheint ein Knopf in
der oberen linken Ecke des Gitters; durch Anklicken (mit der Maus oder
dem Cursor) wird Ihre Vermutung überprüft.
Falls Sie den ‘Check’-Knopf anklicken und Ihre Vermutungen nicht
korrekt sind, wird das Spiel Ihnen das Minimum an Informationen zeigen,
um Ihnen dies vorzuführen, damit Sie es erneut versuchen können. Falls
Ihre Ballpositionen nicht mit den Ihnen bereits bekannten Strahlen
konsistent sind, wird ein Strahl eingekreist, um Ihnen anzudeuten, dass
Sie falsch liegen. Falls die Positionen zu allen existierenden Strahlen
passt, Sie aber immer noch falsch liegen, wird ein neuer Strahl
(angezeigt in rot) aufgedeckt, der nicht zu Ihrer aktuellen Vermutung
passt.
Falls Sie sich entscheiden, komplett aufzugeben, können Sie Solve
anwählen, um die tatsächlichen Ballpositionen aufzudecken. Zu diesem
Zeitpunkt werden korrekt positionierte Bälle als ausgefüllte schwarze
Kreise dargestellt, inkorrekt positionierte Bälle als ausgefüllte
schwarze Kreise mit roten Kreuzen und fehlende Bälle als ausgefüllte
rote Kreise. Zusätzlich markieren rote Kreise alle Laser, die Sie
bereits abgefeuert haben und die nicht mit Ihrer Ballverteilung
konsistent waren (genauso wie beim Drücken des ‘Check’-Knopfes), und
roter Text markiert alle Laser, die Sie abgefeuert hätten können, um
Ihre Ballverteilung von der richtigen zu unterscheiden.
(Alle unten beschriebene Aktionen sind auch verfügbar.)
Black Box-Parameter
Diese Parameter sind von der Option ‘Custom...’ im Menü ‘Type’
verfügbar.
Width (Breite), Height (Höhe)
Größe des Gitters in Quadraten. Es gibt 2 × Width × Height Laser
pro Gitter, zwei pro Zeile und zwei pro Spalte.
No. of balls
Anzahl der im Gitter zu positionierenden Bälle. Dies kann eine
einzelne Zahl oder ein Bereich (getrennt durch einen Bindestrich
wie ‘2-6’ sein) und bestimmt die Anzahl der im Gitter zu
positionierenden Bälle. Der ‘reveal’-Knopf wird nur aktiviert,
falls Sie die entsprechende Anzahl von Bällen geraten haben;
eine Vermutung mit einer anderen Anzahl als die ursprüngliche
Lösung ist nur akzeptabel, falls alle Strahleingänge und
-ausgänge passen.
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’, Ctrl+‘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)).
Print 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’, Ctrl+‘Z’, Ctrl+‘_’)
Setzt einen einzelnen Spielzug zurück. (Sie können Spielzüge bis
zum Beginn der Sitzung zurücksetzen.)
Redo (‘R’, Ctrl+‘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’, Ctrl+‘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 (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 (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 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: ‘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:
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:
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.