Das Spiel ist vollständig in Tcl/Tk programmiert. Das führt dazu, daß es trotz seiner Entwicklung unter Unix auch auf Windows und MacIntosh Rechnern lauffähig ist.
Im folgenden gibt es für jede der drei Plattformen einen Abschnitt; leider fallen die Abschnitte für Windows und MacIntosh recht kurz aus. Falls jemand bessere Installationsmöglichkeiten weiß, wäre ich über eine Mail an krischan@cs.tu-berlin.de dankbar.
Die Entscheidung, unter welchem Pfad das ausführbare Pragramm und die Library-Directory für die Patience angelegt werden, ist vom persönlichen Geschmack abhängig. Mir fallen da als mögliche Kandidatenkombinationen die in Tabelle Mögliche Pfadnamen für binDir und libDir dargestellten ein.
Wer immer jetzt die Patience einspielt, muß schreibberechtigt für die beiden ausgewählten Directories sein. Dann kann die Patience durch die folgenden Schritte installiert werden, wobei binDir und libDir die beiden obigen Directories bezeichnen.
Um die im Kapitel Streitpatience beschriebenen Funktionalitäten auch gegen andere Spielrinnen nutzen zu können, muß hier der Name eines Interpreter-Shells mindestens der Version 4.1 angegeben werden.
Leider kann ich hierzu nicht viele Tips geben. Ich kopiere das gesamte tar-Archiv immer von der Unix-Seite aus direkt auf meine Windows-Partition, rufe (immer noch unter Unix) make auf und editiere per Hand die dritte Zeile der Datei patience mit der Zuweisung der Directory, in der sich jetzt alles befindet.
Desweiteren habe ich einen Shortcut auf meinem Desktop, der den Wish4.1 aufruft und den vollständigen Pfad der Patience als Parameter bekommt.
Meine Probeinstallation bei einem Bekannten ist schon einige Zeit her; daher kann ich mich nur daran erinnern, daß wir mit einem Public-Domain tar-Programm das Archiv entpackt haben und ich danach immer den Wish4.1 (damals noch eine Alpha-Version) aufrufen, in die entsprechende Directory wechseln und set patiencePath [pwd]; source patience.tcl eingeben mußte.
Wer Lust (und Tcl Version 7.5) hat, kann noch ein C-Programm Pat.c übersetzen; das geschieht mit Hilfe des Makefiles und einem Aufruf von make shlib.
Durch obigen Aufruf wird eine ,,shared library'' mit dem Namen Pat.so, Pat.sl oder so ähnlich erzeugt; sie enthält eine Prozedur zum Mischen sowie einige zentrale Prüffunktionen und ist damit etwas schneller, als wenn die Tcl-Prozeduren ausgeführt werden.
Damit die Übersetzung gelingt, ist es nötig, im Makefile die Variablen, die mit TCL_ beginnen, einzustellen. Die ausgelieferten Einstellungen sind gültig für mein Linux-System. In der Directory, in der sich die tcl_library befindet (bei mir /usr/local/lib), gibt es auch eine Datei tclConfig.sh. In ihr werden die korrekten Werte für die Variablen (neben anderen) definiert. Das install-Programm besitzt einen Menupunkt Configure/Optional.../Refresh from .../tclConfig.sh, der das Makefile selbstständig entsprechend anpaßt.
Wenn das Programm den Namen einer bekannten Patienceregel besitzt, wird bei Programmstart sofort ein Spiel mit den entsprechenden Regeln gestartet. Wer also mag, kann z.B. nach Ausführung des folgenden Befehls das Programm gleich mit der Kleinen Harfe aufrufen.
ln -s patience klHarfe
Das gelingt ebenso mit den internen Namen von anderen, auch selbstkonstruierten, Regelsätzen.
Der gewünschte Name kann auch als Parameter mit übergeben werden. Die Streitpatience ist daher direkt spielbar durch
patience -name streit
Es ist also z.B. möglich, im Rootmenü des Windowmanagers ein Untermenü Patience zu erzeugen, daß die Patience mit der jeweiligen Spielregel startet. In der Initialisierungsdatei .fvwmrc des fvwm-Windowmananger sieht das wie folgt aus:
Popup "Patience 1.9" Exec "Standard" exec patience & Exec "Kl. Harfe" exec patience -name klHarfe & Exec "Canfield" exec patience -name canfield & Exec "Spinne" exec patience -name spider & Exec "Streit" exec patience -name streit & Exec "Seehafen" exec patience -name seahaven & EndPopup
Das Programm greift auf einige Resourcevariablen zurück, die das äußere Erscheinungsbild ändern. Im folgenden sind die Namen, die Defaultwerte und ihre Bedeutung aufgelistet.
Die Farbresourcen rot, weiss und grau haben nur Auswirkungen auf durch Bitmaps dargestellte Karten; bei Darstellung der Karten durch Pixmaps oder Gif-Photos werden sie ignoriert.
Die Resourcen werden nacheinander an den folgenden Orten mit aufsteigender Priorität gesucht:
In den Resourcedateien hat die Zuordnung eines Wertes zu einer Resource den folgenden Aufbau:
*patience.Resourcename: Wert
Beispielsweise wird der Schwarz/Weiß-Font als Vorgabe für die Kartendarstellung gesetzt durch:
*patience.kartenFont: sw