
Patience --- ein Spiel f{

Was ist denn das Besondere an dieser Patience?

Es sind sechs verschiedene Regelsaetze vorgegeben, nach denen die
Karten gelegt werden koennen.

Es besteht die Moeglichkeit, beliebig viele  Spielzuege  (im  Ex-
tremfall  alle bis zum Beginn des Spiels) rueckgaengig zu machen.

Der gegenwaertige Spielzustand kann abgespeichert werden, um  ihn
spaeter wieder einladen zu koennen - vielleicht geht das Spiel ja
dann besser auf.

Es werden auf Wunsch Vorschlaege gemacht, welche Spielzuege  noch
moeglich sind.

Es  kann  in  einer  Streitpatience gegen den Computer oder gegen
eine andere Spielerin (evtl. an einem anderen Computer) gekaempft
werden.

Wenn  bereits  absehbar  ist,  dass  das  Spiel aufgeht, ist kein
muehseliges Dauerklicken noetig; das Programm  legt  alle  Karten
selbsttaetig auf die Stoecke ab.

Wer unbedingt will, kann sogar mogeln.

Es kann (fuer jede Regelart) eine Demo gefahren werden, die einen
ungefaehren Eindruck vermittelt, wie das Spiel zu loesen waere.

Das Ganze ist programmiert in Tcl/Tk, so dass es in ca. 10 Sekun-
den auf jedem Rechner installiert werden kann, auf dem ttccll77..44 und
ttkk44..00 (oder ttccll77..33 und ttkk33..66) existiert.

Die Karten werden als franzoesisches Blatt dargestellt auf  einer
Spielflaeche  der  Groesse  640*400 Bildpunkte. Es koennen jedoch
auch andere Kartenfonts aus den mitgelieferten ausgesucht werden.
Es  existiert  ein  Kartenfont im Gif-Format, mit dem mehrfarbige
Karten dargestellt werden.

Es gibt  einen  Regeleditor,  mit  dem  neue  Regelsaetze  zusam-
mengestellt  (und abgespeichert) werden koennen, die dann zusaet-
zlich zu den  ausgelieferten  sechs  Spielarten  gespielt  werden
koennen.

Das  Programm ist mehrsprachig; d.h. abhaengig von einer Resource
besitzt es eine deutsche oder englische Benutzeroberflaeche.

Als Hilfesystem wird ttkkmmaann benutzt, falls das  Programm  auf  dem
aktuellen Display laeuft.

Alle  Patiencen  werden, unabhaengig von den weiteren Regeln, mit
Rommee-Karten gespielt. Ein Kartensatz  besteht  aus  52  Karten,
naemlich  den _W_e_r_t_e_n 2 bis 10,  Bube, Dame, Koenig, As jeweils in
den _F_a_r_b_e_n Karo, Herz, Pik und Kreuz. Von Patienceregel zu -regel
unterschiedlich  wird mit einem oder zwei Kartensaetzen gespielt,
soll heissen, es befinden sich 52 oder 104 Karten im Spiel.

Die Hand Zu Anfang befinden  sich  alle  am  Spiel  teilnehmenden
Karten  auf der Hand (die auf der Spielflaeche immer rechts unten
dargestellt wird) und werden gemischt.

Die Stapel Aus der gut durchgemischten Hand werden die Stapel mit
einer  oder mehreren Karten aufgefuellt. Die Stapel befinden sich
am  oberen  Spielflaechenrand  und  sind  von   links   anfangend
nebeneinander  aufgereiht.  Von  den  Regeln abhaengig existieren
durchaus unterschiedlich viele Stapel: Canfield besitzt z.B.  nur
vier, bei der Spinne gibt es die groesstmoegliche Anzahl von zehn
Stapeln.

Die oberste Karte des Stapels liegt offen, d.h.  Wert  und  Farbe
ist  erkennbar, alle evtl. darunter befindlichen Karten sind nor-
malerweise verdeckt, es ist also nur ihr Ruecken zu sehen. Nur in
der  Patience  Seehafen  sind alle Karten, die auf den Stapeln zu
liegen kommen, von Anfang an aufgedeckt.

Wie viele Karten auf einem Stapel liegen,  ist  wieder  abhaengig
von  den  Regeln;  die kleine Harfe z.B. verdient ihren Namen der
Tatsache, dass sich von rechts nach links  zunehmend  immer  eine
Karte mehr verdeckt auf dem Stapel befindet.

Der  Talon  In einigen Patiencen existiert ein Talon. Das ist ein
Kartenstapel, der sich direkt neben der Hand befindet, und dessen
oberste Karte sichtbar ist.  Beim Geben wird nach dem Fuellen der
Stapel eine feste Anzahl von Karten von der Hand  auf  den  Talon
umgeschichtet,  bei  der  kleinen Harfe z.B. drei. Existiert kein
Talon, wird beim Geben jeweils eine Karte pro Stapel von der Hand
genommen und auf den Stapel gelegt.

Der  Strafstapel Ausserdem kann es in einer Patience noch den so-
genannten Strafstapel geben - manchmal auch fauler Haufen  genan-
nt. Er wird in der linken unteren Ecke dargestellt und setzt sich
aus einer vorgegebenen Anzahl von Karten zusammen, die beim Geben
vor  dem Aufbau der Stapel von der Hand genommen werden. Wie beim
Talon kann auch hier nur der Wert der oberste Karte gesehen  wer-
den.

Die  Stoecke  Am rechten Bildrand sind die Stoecke erkennbar. Das
Ziel des Spiels ist es, alle Karten auf die Stoecke zu plazieren.
Bereits  durch  den Untergrund eines leeren Stocks ist erkennbar,
das jeder Stock nur fuer eine Farbe reserviert ist,  der  oberste
z.B.  fuer  Karo.  Abhaengig  von der Anzahl der im Spiel befind-
lichen Karten gibt es vier oder acht Stoecke, naemlich fuer  jede
Farbe jedes Kartensatzes einen.

Die  Arbeitsstapel Links von den Stoecken gibt es evtl. noch eine
Reihe sogenannter Arbeitsstapel, auf denen jede  beliebige  Karte
zwischengelagert  werden  darf; pro Arbeitsstapel jedoch nur jew-
eils eine Karte.



Die Spielflaeche in einer Streitpatience

In einer Streitpatience ist nicht alles uneingeschraenkt gueltig,
was in den vorhergehenden Abschnitten beschrieben wurde.

Sowohl die Spielerin als auch die Gegnerin (egal ob Computer oder
eine andere Patiencespielerin) besitzen eine eigene Hand, die der
Gegnerin   ist  rechts  unten,  die  der  Spielerin  links  unten
dargestellt. Auf jeder Hand wird ein Satz Karten getrennt  gemis-
cht;  es  ist also sichergestellt, dass am Spielanfang jede Karte
in jeder Hand einmal enthalten ist.

Die Talons und Strafstapel sind ebenfalls doppelt vorhanden, auch
hier  wieder  die  der  Gegnerin  rechts unten, die der Spielerin
links.

Waehrend eines Spiels ist immer einer der Teilnehmer an der  Rei-
he,  d.h entweder die Gegnerin oder die Spielerin darf Karten be-
wegen.  Am unteren Rand der Spielflaeche in  der  Mitte  ist  ein
grosser  Knopf angebracht, der den Namen des Teilnehmers anzeigt,
der gerade Karten bewegen  darf.  Entweder  an  der  linken  oder
rechten  Seite  des  Knopfes befindet sich eine rote Pfeilspitze,
die auf die privaten Stapel des aktiven Teilnehmers verweist.

Der Knopf mit dem Namen des aktiven Teilnehmers hat die  Funktion
einer Schachuhr; kann die Spielerin keine Karten mehr bewegen, so
drueckt sie auf den Knopf zum Zeichen, dass die Gegnerin oder der
Computer an der Reihe ist. Die Beschriftung des Knopfes wird sich
aendern (der Name  der  Gegnerin  oder  das  Wort  CCoommppuutteerr  wird
angezeigt)  und  die Gegnerin spielt so lange wie moeglich, bevor
wieder der Namen der Spielerin im Knopf erscheint.



Wer faengt an?  Zu Beginn einer  Streitpatience  wird  ermittelt,
wer  anfaengt,  d.h.  wessen Name in der Schachuhr erscheint (und
damit, wer zuerst das Recht bekommt, Karten bewegen zu  duerfen).
Das geschieht durch Abheben; beide Haende werden gemischt und aus
jeder wird eine Karte gezogen.  Die Karten werden verglichen, und
die  Spielerin  mit  der hoeherwertigen Karte faengt an; bei gle-
ichem Kartenwert gilt die Reihenfolge Kreuz ueber Pik ueber  Herz
ueber Karo.

Die  Spielerin kann mit der Maus den Mauszeiger ueber einer Karte
ihrer Wahl plazieren. Falls sie dann die linke Maustaste drueckt,
wird die Karte dem Mauszeiger folgen, solange die linke Maustaste
gedrueckt bleibt. Bildlich gesprochen hat  die  Spielerin  gerade
die  Karte  aufgenommen, ueber der Spielflaeche herumgetragen und
schliesslich wieder fallengelassen.

Falls auf einem Stapel eine verdeckte Karte (also mit dem Ruecken
nach  oben)  liegt, kann sie durch Anklicken mit der linken Maus-
taste umgedreht werden.

Das Verschieben von Einzelkarten

Falls sich der neue Standort der Karte nicht  einem  der  Stoecke
oder Stapel (inklusive Talon, Straf- oder Arbeitsstapel) zuordnen
laesst, wird die Karte automatisch an den  Startpunkt  der  Reise
zurueckbefoerdert.  Ansonsten wird ueberprueft, ob der neue Stan-
dort den im folgenden beschriebenen Regeln gehorcht,  und,  falls
das  nicht der Fall ist, wird die Karte ebenfalls zum Ausgangsort
zurueckgebracht.

In einer Streitpatience darf keine Karte von den Stapeln der Geg-
nerin  (Hand,  Talon und Strafstapel) in der rechten unteren Ecke
genommen werden.

Erscheint alles korrekt, kommt die Karte  fein  saeuberlich  aus-
gerichtet  auf  ihrem  neuen  Platz zu liegen. Ueber alle korrekt
durchgefuehrten Zuege wird intern Buch gefuehrt, was dazu fuehrt,
dass  der  Computer genau weiss, wieviele Zuege fuer die Patience
benoetigt wurden, um z.B. in der Gratulation die Anzahl  der  be-
noetigten  Zuege  mitzuteilen.  Dadurch  wird  es  aber  auch der
Spielerin moeglich, saemtliche Zuege auf Wunsch  rueckgaengig  zu
machen - mit welchen Kommandos, wird in Abschnitt Zurueck gesagt.


Das Verschieben von Teilstapeln

Wenn auf einem Stapel mehrere offene Karten passend uebereinander
liegen,  koennen sie auch als Stapel verschoben werden. Dazu wird
mit der Maus die unterste Karte des Teilstapels,  der  verschoben
werden  soll,  angeklickt und "`umhergetragen"'. Falls die angek-
lickte unterste Karte  auf  die  oberste  Karte  des  Zielstapels
passt, wird der ganze Teilstapel auf den neuen Stapel gelegt.


Teilstapel  koennen nur auf die normalen Stapel, nicht jedoch auf
den Talon, Stock, Arbeits- oder Strafstapel gelegt werden.   Hin-
weis:  Bezueglich  des  Stocks  ist letzteres in der Spinne nicht
ganz richtig, wie im naechsten Abschnitt erlaeutert wird.

Es wurde in den letzten Absaetzen zwar immer von Teilstapel gere-
det,  es  kann jedoch auch ein gesamter Stapel verschoben werden,
wenn er von der obersten bis zur untersten Karte passt.

Wann passt eine Karte auf einen Stock

Auf einen Stock, auf  dem  sich  bereits  mindestens  eine  Karte
befindet,  kann  die naechsthoehere Karte gleicher Farbe abgelegt
werden; also passt auf eine Pik Zehn  der  Pik  Bube.  Auf  einen
leeren Stock darf nur die niedrigste Karte des Spiels gelegt wer-
den - in der Regel das As.   Bei  Canfield  wird  die  niedrigste
Karte  dadurch bestimmt, dass die oberste Karte der Hand nach dem
Geben automatisch  auf  den  Stock  gelegt  wird  und  damit  den
niedrigsten  Wert bestimmt. Da jetzt der Koenig nicht mehr unbed-
ingt der hoechste Wert ist, kann das As (quasi zyklisch) auf  ihn
gelegt werden.


In  der  Spinne gibt es die Regel, dass eine Familie nur komplett
auf den Stock gelegt werden darf. Dann muss die Familie  auf  den
normalen  Stapeln  zusammengebracht  werden und mit einem Zug als
Teilstapel auf den Stock geschoben werden.  Hier  ist  das  Spiel
bereits auch dann schon beendet, wenn sich alle Familien komplett
auf den Stapeln befinden; sie muessen dann  nicht  mehr  abgelegt
werden den Stoecken zu plazieren, gilt es in der Spinne sogar als
hoechstes Spielziel.

Wann passt eine Karte auf einen Stapel

Bei den Stapeln ist es normalerweise wie folgt:  Hier  passt  nur
der  naechstkleinere Wert auf eine bereits liegende Karte, und es
gilt die Regel: "`Rot auf Schwarz, Schwarz auf Rot."'   Auf  eine
Kreuz Neun kann also z.B. die Karo Acht oder die Herz Acht gelegt
werden. Auf einen leeren Stapel passt jede Karte.

Wie von jeder Regel gibt es auch hier Ausnahmen:

Bei der kleinen Harfe darf  nur  die  hoechste  Karte  (also  ein
Koenig) auf einen leeren Stapel gelegt werden.

Bei  der  Spinne passt eine Karte auf jede Karte mit dem naechst-
groesseren Wert; einen beweglichen Teilstapel bilden  jedoch  nur
Karten gleicher Farbe. Wenn also eine Stapel aus einer Kreuz Neun
sowie Herz Acht, Sieben und Sechs besteht,  so  duerfen  nur  die
oberen  drei  Karten als Teilstapel bewegt werden. Es passt jetzt
zwar eine Kreuz Fuenf auf diesen  Stapel,  er  kann  danach  aber
nicht mehr als Teilstapel bewegt werden.

Bei Seehafen passt eine Karte nur dann auf einen Stapel, wenn die
den naechstkleineren Wert der selben Farbe wie die oberste  Karte
des Stapels besitzt.



Es  werden  sechs  verschiedene Arten von Patiencen ausgeliefert:
die Standardpatience, Canfield, die  Kleine  Harfe,  die  Spinne,
Seehafen  und  die Streitpatience. Im folgenden werden von diesen
sechs Spielen die Unterschiede in den Regeln aufgefuehrt.

Standard-Patience  Es  wird  mit  zwei  Kartensaetzen  (also  104
Karten)  gespielt.  Es  existiert weder ein Talon noch ein Straf-
oder Arbeitsstapel, aber acht Stapel, die zu  Beginn  des  Spiels
jeweils  drei  Karten  enthalten. Auf einen leeren Stock darf nur
ein As gelegt werden, auf einen leeren  Stapel  jede  Karte.  Auf
einen  belegten  Stapel  passt eine absteigend unechte Karte, die
dann mit den darunter liegenden Karten  einen  beweglichen  Teil-
stapel bildet.

Kleine  Harfe  Es  wird  mit  einem  Kartensatz  (also 52 Karten)
gespielt. Es existiert kein Straf- oder Arbeitsstapel, jedoch ein
Talon,  der  mit  jeweils  drei  Karten gefuellt wird, und sieben
Stapel, die zu Beginn des Spiels zwischen sieben und einer Karten
enthalten.  Auf einen leeren Stock darf nur ein As gelegt werden,
auf einen leeren Stapel  nur  ein  Koenig.   Auf  einen  belegten
Stapel  passt  eine  absteigend  unechte  Karte, die dann mit den
darunter liegenden Karten einen beweglichen Teilstapel bildet.

Canfield Es wird mit einem Kartensatz (also 52 Karten)  gespielt.
Es  existiert ein Strafstapel mit dreizehn Karten, ein Talon, der
mit jeweils drei Karten gefuellt wird, vier Stapel, die zu Beginn
des  Spiels  jeweils  eine  Karte  enthalten,  jedoch  keine  Ar-
beitsstapel. Auf einen leeren Stock darf nur die niedrigste Karte
(die  oberste  der  Hand)  gelegt werden, auf einen leeren Stapel
jede Karte.  Auf einen belegten Stapel passt eine absteigend  un-
echte Karte, die dann mit den darunter liegenden Karten einen be-
weglichen Teilstapel bildet.

Spinne Es wird mit zwei Kartensaetzen (also 104 Karten) gespielt.
Es  existiert weder ein Talon noch ein Straf- oder Arbeitsstapel,
aber zehn Stapel, die zu Beginn des  Spiels  jeweils  fuenf  oder
sechs Karten enthalten. Auf den Stock duerfen nur komplette Fami-
lien gelegt werden, auf einen  leeren  Stapel  jede  Karte.   Auf
einen  belegten  Stapel  passt eine absteigend Karte egal welcher
Farbe, die aber nur mit der darunter liegenden echten Reihe einen
beweglichen Teilstapel bildet.

Seehafen  Es wird mit einem Kartensatz (also 52 Karten) gespielt.
Es existiert weder ein Strafstapel noch ein  Talon,  jedoch  vier
Arbeitsstapel.  Zu  Beginn  des  Spiels  enthaelt  jeder der zehn
Stapel fuenf offen liegende Karten; zwei der  Arbeitsstapel  sind
mit  den  beiden restlichen Karten belegt. Auf einen leeren Stock
darf nur ein As gelegt  werden,  auf  einen  leeren  Stapel  jede
Karte.  Auf einen belegten Stapel passt nur eine absteigend echte
Karte, Teilstapel koennen gar nicht zusammenhaengend bewegt  wer-
den.

Die  Streitpatience  Es  wird  mit  zwei  Kartensaetzen (also 104
Karten) gespielt. Es existiert pro Streitpartei  ein  Strafstapel
mit  dreizehn  Karten und ein Talon, der mit jeweils einer Karten
gefuellt wird. Es gibt acht Stapel, die zu Beginn des Spiels jew-
eils eine Karte enthalten, jedoch keine Arbeitsstapel.  Auf einen
leeren Stock darf nur ein As  gelegt  werden,  auf  einen  leeren
Stapel  jede  Karte.   Auf  einen  belegten Stapel passt eine ab-
steigend unechte Karte, Teilstapel koennen  gar  nicht  zusammen-
haengend bewegt werden.

Im  folgenden  werden  die aufrufbaren Kommandos beschrieben, und
zwar so gruppiert, wie sie im Menue zur  Verfuegung  stehen.  Ab-
schliessend gibt es eine uebersicht, welche Kommandos auch direkt
mit der Tastatur (Abschnitt Tastatur-Kommandos) oder den Maustas-
ten (Abschnitt Die Maustasten) aufgerufen werden koennen.

Hinweis:  Alle  Menueeintraege,  die  mit drei Punkten (einer El-
lipse) enden, fuehren zum Aufblenden eines neuen Fensters auf dem
Bildschirm,  in  dem die Spielerin einen Dialog fuehren kann, der
im nachfolgenden beim jeweiligen Kommando naeher erlaeutert  ist.

Hinter  dem X-Logo versteckt sich der EErrsstteelllltt vvoonn...... Dialog, der
das Fenster aufblaettert, das auf der Titelseite  dieses  Papiers
zu  bewundern  ist.  Wer das Fenster genug studiert hat, kann den
OOkkaayy Button mit der  Maustaste  anklicken  oder  die  Returntaste
druecken, um zum normalen Spiel zurueckzukehren.

Spielregeln Im obersten Teil des Menues gibt es fuer jeden bekan-
nten  Regelsatz,  der  keine  Streitpatience  beschreibt,   einen
Auswahlknopf,  normalerweise  also SSttaannddaarrdd, KKll.. HHaarrffee, CCaannffiieelldd,
SSeeeehhaaffeenn und SSppiinnnnee. Durch sie wird bestimmt, nach welchen Regeln
gerade gespielt wird.

Durch  Anklicken  einer  Spielart  kann ein neues Spiel gestartet
werden.  Wurde in der  gerade  aktuellen  Patience  bereits  min-
destens  ein  Zug  gemacht, wird jedoch vor dem Starten des neuen
Spiels zunaechst zurueckgefragt, ob das alte Spiel wirklich been-
det werden soll.

Die  Knoepfe  mit den Regelarten verhalten sich wie Radioknoepfe,
wird also durch Mausdruck ein Knopf aktiviert (Diamant am  linken
Rand wird rot), deaktiviert das die anderen Knoepfe.

Streitpatiencen Im naechsten Teil des Menues geht es um Streitpa-
tiencen. Im Eintrag SSttrreeiitt mmiitt ...... wird zunaechst  der  Name  der
Spielpartnerin  oder das Wort CCoommppuutteerr angezeigt, je nachdem, mit
wem gerade gestritten wird.

Danach gibt es eine Liste aller bekannten Regelsaetze fuer  Stre-
itpatiencen,  am  linken  Rand  mit einem Diamant gekennzeichnet.
Normalerweise ist das nur ein Menuepunkt, naemlch SSttrreeiittppaattiieennccee.
Mit  diesen  Menuepunkten  kann der aktuelle Regelsatz gewechselt
oder ein neues Spiel begonnen werden, genau  wie  im  obigen  Ab-
schnitt Spielregeln fuer Einzel-Patiencen beschrieben.

Die  darunter befindlichen Menuepunkte KKoonnttaakktt aauuffnneehhmmeenn......, KKoonn--
ttaakktt pprruueeffeenn......, KKoonnttaakktt ssyynncchhrroonniissiieerreenn...... und SSttrreeiittbbeerreeiitt  di-
enen zur Kontaktaufnahme mit einer anderen Spielerin. Ihre genaue
Funktion ist im Abschnitt Streitpatience beschrieben.


Demo Das Kommando DDeemmoo startet eine  Demonstration,  in  der  das
Programm  selbststaendig  versucht,  die Patience nach den gerade
eingestellten Regeln zu loesen. Bevor es eine  Karte  oder  einen
Teilstapel  verschiebt,  wird  mit einem Pfeil angezeigt, was als
naechsten passiert.

Die Zeit, die der Pfeil auf dem Bild zu sehen bleibt, kann in der
Funktion  WWaarrttee  _n ss...... eingestellt werden. Nach Anklicken dieses
Kommandos oeffnet  sich  ein  Fenster  und  durch  Justieren  des
Schiebereglers  kann die Wartezeit in Zehntelsekunden eingestellt
werden.


Bild erneuern Die Kommando BBiilldd eerrnneeuueerrnn  loescht  alle  Elemente
der  Spielflaeche und baut sie neu auf. Dies kann u.a. dann nuet-
zlich sein, falls durch widrige  Umstaende  (Programmfehler)  die
Spielflaeche nicht den Spielzustand widerspiegelt.

Beenden  Das  Kommando  bereitet  dem Ganzen ein Ende, nicht ohne
vorher noch nachzufragen, ob das derzeitige Spiel wirklich  been-
det werden soll.


Spielzustand  Das  Kommando SSppeeiicchheerrnn...... schreibt den derzeitigen
Spielzustand in eine Datei, mit deren Hilfe das Kommando LLaaddeenn......
ihn wieder restaurieren kann.


Beide  Kommandos  oeffnen ein Fenster , mit dem die Spielerin den
externen Namen der Datei auswaehlen kann.

Unter  der  Ueberschrift,  die  klarmachen   soll,   wofuer   die
auszusuchende  Datei  benoetigt wird, befinden sich die drei Ein-
traege OOrrddnneerr, DDaatteeii und MMaasskkee.

Als OOrrddnneerr wird die aktuelle Directory angezeigt, deren Inhalt in
der   grossen  Flaeche  in  der  Mitte  des  Fensters,  ab  jetzt
_A_u_s_w_a_h_l_k_a_s_t_e_n genannt, angezeigt wird.

Der  Eintrag  DDaatteeii  enthaelt  den  zuletzt   mittels   einfachen
Mausklick  im  Auswahlkasten ausgesuchten Dateinamen. Er wird vom
Programm mehr oder weniger sinnvoll vorgegeben;  bei  mehrmaligen
Aufruf  des Dialogs enthaelt er den zuletzt ausgesuchten Dateina-
men.

Der vollstaendige Pfadname einer Datei besteht  aus  dem  an  den
angezeigten Ordner angehaengten Dateinamen.

Mit  dem  Eintrag  MMaasskkee  kann bestimmt werden, welche Dateien im
Auswahlkasten angezeigt werden sollen, naemlich nur solche, deren
Dateiname  zu  der Eingabe in diesem Feld passt. Die zwei Zeichen
mit Sonderbedeutung sind das Fragezeichen ??, das fuer  genau  ein
beliebiges Zeichen steht, und der Stern **, der beliebig viele be-
liebige Zeichen symbolisiert. Die Maske  **..ppaatt  steht  also  fuer
alle Dateinamen mit ..ppaatt am Ende.

Im  Auswahlkasten  werden  von  oben alphabetisch sortiert zuerst
alle Directories, dann ebenfalls alphabetisch sortiert alle  nor-
malen  Dateien  angezeigt.  Die im Kopf angegebene Maske gilt nur
fuer normale Dateien, Directories werden  immer  angezeigt,  auch
wenn  ihr Name nicht zur Maske passt.  Im Bild gibt es nach einer
Menge von Directories nur eine Datei, die  zu  der  Maske  passt,
naemlich die ausgesuchte Datei sscchhwwiieerriigg..ppaatt.

Falls  sich  in der aktuellen Directory mehr Unterdirectories und
Dateien befinden, als im Auswahlkasten dargestellt  werden  koen-
nen,  kann  mit  Hilfe  des  am rechten Rand befindlichen Scroll-
balkens im Auswahlkasten geblaettert werden.

Das Anklicken des Namens einer normalen Datei fuehrt, wie bereits
erwaehnt, zu der Uebernahme des Dateinamens in den Eintrag DDaatteeii;
das Anklicken eines Directorynamens fuehrt dazu, dass der Eintrag
OOrrddnneerr  entsprechend  modifiziert wird, und im Auswahlkasten alle
Dateien angezeigt werden, die sich in der ausgewaehlten Directory
befinden.

Die ersten Eintraege im Auswahlkasten sind immer der Punkt .. fuer
die aktuelle Directory und der Doppelpunkt .... fuer  die  ueberge-
ordnete Directory. Ein Anklicken der aktuellen Directory ist dann
sinnvoll, wenn die Maske geaendert wurde, da dann der Inhalt  des
Auswahlkastens neu ermittelt wird.

Falls eine Datei nicht im Auswahlkasten erscheint, weil sie durch
das aufgerufene Kommando erst neu angelegt werden soll, kann  der
Name  auch  direkt  im  Eintrag DDaatteeii eingegeben werden. Das geht
natuerlich nur fuer Kommandos wie SScchhrreeiibbeenn......, und  macht  daher
fuer  das im Bild datei angegebene Kommando LLaaddeenn...... nicht soviel
Sinn...

Durch Auswahl des unten rechts befindlichen Knopfes OOkkaayy wird der
aktuelle  Pfadname  bestaetigt  und  der  Dialog positiv beendet,
durch Auswahl von AAbbbbrruucchh wird der Dialog  negativ  beendet.  Ein
Doppelklick auf einen Namen im Auswahlkasten ist wie ein einfach-
es Klicken auf den Namen und ein anschliessendes  Betaetigen  des
OOkkaayy-Knopfes.

Regeln  editieren...  Das Kommando eroeffnet ein Fenster, mit dem
der  Regeleditor  die  zum  aktuellen  Spiel  gehoerigen   Regeln
anzeigt.  Sie koennen von der Spielerin geaendert, angewendet und
gespeichert werden. Die Benutzung des  Regeleditors  ist  in  Ab-
schnitt Der Regeleditor beschrieben.

Sprache    Am   unteren   Ende   des   Menues   DDaatteeii   gibt   es
Auswahlmoeglichkeiten fuer alle dem Programm  bekannten  Sprachen
(z.Z.  sind das deutsch und englisch). Nach Auswahl einer Sprache
wird das Menue neu  aufgebaut  und  ab  sofort  kommen  alle  Di-
alogkaesten in der gewuenschten Sprache. Auf die Anzeige der Hil-
fetexte und die Dialoge zur Einstellung der Wartezeit  oder  Kon-
taktaufnahme  wirkt  die Umstellung erst beim naechsten Neuaufbau
des entsprechenden Fensters.

Das Menue ist eine Sammlung von Kommandos, die der Spielerin  das
Leben  leichter  machen und die als Unterstuetzung zum leichteren
Loesen der Patience gedacht sind.

Vorschlag  Das  Kommando  VVoorrsscchhllaagg  zeigt  eine  moegliche  Ver-
schiebung durch einen Pfeil an

Bei der Ermittlung des Vorschlags arbeitet das Programm die Reihe
aller moeglichen Zuege ab, bewertet sie  und  zeigt  schliesslich
den  Zug  an,  den  es  fuer den momentan guenstigsten haelt. Bei
nochmaligen Aufruf  des  Kommandos  VVoorrsscchhllaagg  wird  der  naechst
schlechtere Zug angezeigt. Falls kein Zug mehr moeglich ist, wird
die Glocke des Rechners geschlagen.

Jeder Aufruf des Kommandos wird registriert und  mitgezaehlt,  so
dass  die  Spielerin im Glueckwunschdialog fuer eine geloeste Pa-
tience die Anzahl der gegebenen Vorschlaege mitgeteilt bekommt.

Ablegen Fuer alle Stapel  und  (falls  existent)  den  Talon  und
Strafstapel  sowie  die  Arbeitsstapel  ueberprueft  das Kommando
AAbblleeggeenn, ob die oberste Karte auf einen Stock gelegt werden kann.
Wenn  ja,  wird das Ablegen automatisch vom Programm ausgefuehrt.
Dies geschieht solange, bis keine Karte mehr  in  Richtung  Stock
bewegt werden kann.

Besonders  sinnvoll  ist  ein  Aufruf des Kommandos, wenn bereits
klar ist, dass die Patience aufgeht und nur noch  in  muehevoller
Kleinarbeit   alle  Karten  auf  die  Stoecke  speditiert  werden
muessen.

Zurueck Es gibt mehrere Kommandos, mit denen bereits  vollzogenen
Spielzuege rueckgaengig gemacht werden koennen. Alle arbeiten auf
die gleiche Weise und  unterscheiden  sich  nur  darin,  wieviele
Zuege zurueckgesetzt werden.

Das  Kommando  ZZuugg  zzuurruueecckk  macht  - der Name legt es nahe - den
zuletzt ausgefuehrten Spielzug rueckgaengig. Es wird auch der in-
terne  Zaehler,  wieviele  Spielzuege  bereits  betaetigt wurden,
verkleinert, so dass  die  Spielerin  relativ  unbekuemmert  eine
moegliche  Strategie  ausprobieren  und, falls sie nicht aufgeht,
wieder auf einen vorherigen Spielstand aufsetzen kann.

Das Kommando zzuumm AAnnffaanngg macht nacheinander alle Spielzuege rueck-
gaengig,  bis es am Ausgangspunkt des Spiels angekommen ist. Dies
geschieht Zug fuer Zug, und das  Kommando  bricht  ab,  wenn  die
Spielerin  eine  Taste betaetigt. Auf diese Weise kann bequem bis
zu einer weiter zurueckliegenden Spielsituation gegangen  werden.

Das  Kommando  MMeerrkkeenn merkt sich den derzeitigen Spielstand. Wenn
seit dem Merken mindestens ein Zug gespielt wurde, kann  mit  ZZuurr
MMaarrkkee  auf  diesen  Spielstand  zurueckgegangen werden. Auch hier
bricht das Kommando wieder ab, wenn eine Taste betaetigt wird.

Veraendern Das Kommando VVeerraaeennddeerrnn verwaltet die _L_i_z_e_n_z  _z_u_m  _M_o_-
_g_e_l_n.   Wenn  der  Eintrag aktiv ist (das Quadrat im Menueeintrag
ist rot), kann eine einzelne Karte auf  jeden  beliebigen  Stapel
abgelegt werden, ohne dass das Programm die Einhaltung der Spiel-
regeln ueberprueft.

Jede regelwidrige Aktion wird  registriert  und  mitgezaehlt,  so
dass  die  Spielerin im Glueckwunschdialog fuer eine geloeste Pa-
tience die Anzahl ihrer Regelverstoesse mitgeteilt bekommt.

Falls kein Talon existiert, wird durch  das  Kommando  GGeebbeenn  pro
Stapel  eine Karte von der Hand genommen und offen auf den Stapel
gelegt. Falls ein Talon existiert, wird die hierfuer vorgesehenen
Anzahl  (meistens  3)  von  der  Hand  genommen und auf den Talon
gelegt, so dass nur der Wert der obersten  umgedrehten  Karte  zu
erkennen  ist.   Das  Kommando kann auch durch Klicken der linken
(oder rechten) Maustaste auf die Hand aufgerufen werden.

Dem darunter befindlichen Eintrag kann entnommen werden, wieviele
Karten sich noch auf der Hand befinden.

Kartenfonts  Die  Darstellung der Karten geschieht durch Anzeigen
von Bitmaps, also einfarbiger Graphik. Es stehen mehrere  Bitmap-
saetze  zur Auswahl. Neben dem Standardsatz NNoorrmmaall existiert noch
ein Satz SScchhwwaarrzz--WWeeiissss mit einer blasseren Darstellung der  Herz-
und Karokarten. Eine Vergroesserung des Standardsatzes ist GGrroossss.

Ausserdem werden noch weitere frei  kopierbare  Kartensaetze  mit
ausgeliefert,  die  nach  ihren  Herstellern benannt sind: TTrraauubb,
SSaaggeerr und GGooyyeettttee.

Wird die Patience von einem wwiisshh der Version 4 interpretiert,  so
koennen  auch  mehrfarbige  Bilder  oder Photos im Gif- oder PPM-
Format angezeigt werden. Zur Auslieferung gehoert ein  Kartensatz
BBuunntt im Gif-Format.

Mit  Comics  Hier kann abhaengig von der Geduld der Spielerin das
folgende eingestellt werden.

VVeerrtteeiilleenn:: soll die bildliche Darstellung des Mischens  erfolgen?

KKaarrtteennbbeewweeggeenn::  sollen  die  schnellen Bewegungen von Spielkarten
beim Verteilen oder automatischen Ablegen gezeichnet werden?

SScchhaatttteennhhooeehhee:: wie hoch werden die Karten beim Bewegen durch  die
Spielerin  visuell  angehoben?  Bei  einer Hoehe von 0 werden gar
keine Schatten dargestellt.

Durch Aufruf des Befehls SSppiieellrreeggeellnn......  kann  dieses  Papier  in
einem  extra  Fenster  am  Bildschirm gelesen werden. Das Fenster
kann  durch  Betaetigung  des  OOkkaayy-Knopfes   am   unteren   Rand
geschlossen werden; die Patience kann jedoch auch mit geoeffnetem
Hilfetextfenster weiter gespielt werden.

Hinweis: Falls gerade das Programm ttkkmmaann (von Tom Phelps) zum An-
schauen  von Manual-Seiten auf dem aktuellen Display laeuft, wird
es benutzt, um den Hilfetext anzuzeigen.

Die wichtigsten Kommandos lassen sich auch direkt  von  der  Tas-
tatur  aus aufrufen. Die Tabelle Tastatur-Kommandos enthaelt eine
Aufstellung der Tasten und der ihnen  zugeordneten  (weiter  oben
bereits beschriebenen) Kommandos.

TTaassttee   KKoommmmaannddoo
nn       PPaattiieennccee/Start eines neuen Spiels
dd       PPaattiieennccee/DDeemmoo
CCttrrll--LL  PPaattiieennccee/BBiilldd eerrnneeuueerrnn
ee       PPaattiieennccee/BBeeeennddeenn
ll       DDaatteeii/LLaaddeenn
ss       DDaatteeii/SSppeeiicchheerrnn
vv       UUnntteerrssttuueettzzuunngg/VVoorrsscchhllaagg
aa       UUnntteerrssttuueettzzuunngg/AAbblleeggeenn
zz       UUnntteerrssttuueettzzuunngg/ZZuugg zzuurruueecckk
kk       KKaarrtteenn/GGeebbeenn
TTaassttaattuurr--KKoommmmaannddooss


Neben  den  Befehlen,  die mit Hilfe des Menues aufgerufen werden
koennen, gibt es auch noch die Moeglichkeit,  mit  der  Maus  den
Mauszeiger auf bestimmte Bereiche der Spielflaeche zu bringen und
dort die linke oder rechte Maustaste zu betaetigen.


Durch Druck der linken Maustaste ueber einer offenen  Karte  wird
die  entsprechende  Karte  aufgenommen  (siehe Abschnitt Das Ver-
schieben).

Durch Druck der linken Maustaste ueber einer verdeckter Karte auf
einem  Stapel wird die entsprechende Karte umgedreht (siehe eben-
falls Abschnitt Das Verschieben).

Durch Druck der linken oder rechten Maustaste ueber der Hand wer-
den Karten von der Hand auf den Talon oder auf die Stapel gegeben
(siehe Abschnitt Die Spielflaeche).

Durch Druck der rechten Maustaste ueber  dem  Talon,  dem  Straf-
stapel  oder  im  Bereich  eines Stapels wird der Computer aufge-
fordert, mit dem entsprechenden Stapel etwas zu unternehmen.

Das Repertoire der Reaktionen umfasst das  Ablegen  der  obersten
Karte  auf den Stock und das Verschieben des oben liegenden Teil-
stapels (oder der oben liegenden Einzelkarte) auf  einen  anderen
Stapel. Wird durch die Aktion eine verdeckte Karte frei, wird sie
auch noch gleich umgedreht.

Im Grunde ist die rechte Maustaste eine bequeme Moeglichkeit, den
Computer  dazu  zu bringen, das zu tun, was die Spielerin mit der
linken Maustaste in einem Vielfachen der Zeit  selbst  tun  koen-
nte...

Bei  manchen  Patiencen  sehen  es die Regelsaetze vor, dass zwei
Spielerinnen gegeneinander oder eine Spielerin gegen den Computer
spielt.  Diese  Patiencen  laufen unter dem Namen Streitpatience.
Zur Auslieferung gehoert genau  ein  Regelsatz  dieser  Art,  der
ebenfalls Streitpatience heisst.

Herausforderung zu einer Streitpartie

Der  Menuepunkt  KKoonnttaakktt  aauuffnneehhmmeenn......  ist  aktiviert, wenn eine
Streitpatience gegen den Computer gespielt wird.  Beim  Anklicken
oeffnet  sich  ein  Fenster  , mit dem eine andere Spielpartnerin
gesucht werden kann.


Eine Kontaktaufnahme mit einer Gegnerin an einem anderen  Rechner
ist  nur  moeglich,  wenn  die  Patience von ddppwwiisshh interpretiert
wird.  Eine Kontaktaufnahme mit einer Gegnerin am  gleichen  Dis-
play  ist  dagegen  immer moeglich (allerdings nur zu Testzwecken
interessant).  In Abschnitt Installation ist beschrieben, wie das
interpretierende Programm geaendert werden kann.

Der  Menuepunkt  KKoonnttaakktt  aauuffnneehhmmeenn......  ist  deaktiviert, also in
grauer  Schrift dargestellt und nicht aufrufbar, wenn bereits mit
einer  menschlichen  Gegnerin  gestritten wird. Statt dessen sind
die zwei darunter befindlichen Menuepunkte aktiv.

Mit KKoonnttaakktt pprruueeffeenn...... kann waehrend des Spiels ueberprueft  wer-
den,  ob  die Verbindung zur Spielpartnerin noch besteht. In etwa
entspricht dieses  Kommando  dem  Netzwerkbefehl  ppiinngg.  Ist  die
Verbindung  in  Ordnung, passiert nichts; im Fehlerfall erscheint
ein Dialogkasten, der auf das Problem hinweist.

Das Kommando KKoonnttaakktt ssyynncchhrroonniissiieerreenn...... ist nuetzlich nach  einer
zeitweiligen  Unterbrechung der Verbindung; dann kann es naemlich
vorkommen, dass die Spielzustaende in den  beiden  Spielen  nicht
mehr  uebereinstimmen.  Durch  Aufruf  des Kommandos wird bei der
Spielpartnerin angefragt, ob sie  den  Spielzustand  der  anderen
Spielerin  uebernehmen will. Falls sie mit UUeebbeerrnneehhmmeenn antwortet,
wird der Spielzustand der anfragenden Spielerin in beiden Patien-
cen gesetzt.

Darunter  befindet  sich  der Schalter SSttrreeiittbbeerreeiitt; mit ihm kann
bestimmt werden, ob es in Ordnung ist, dass man von  anderen  Pa-
tiencespielerinnen  zwecks Kontaktaufnahme gestoert wird (Quadrat
ist rot) oder ob man lieber in Ruhe  spielen  will  (Quadrat  ist
grau).

Wird  der  Schalter aktiviert und das Programm wird nicht von ddpp--
wwiisshh interpretiert, erscheint ein Hinweiskasten, dass  Spielerin-
nen an anderen Rechnern nicht erreichbar sind.

Beenden einer Streitpatience

Ist die Spielerin gerade an der Reihe, kann eine Partie gegen den
Computer genau wie eine normale Patience z.B. durch Anwahl  einer
anderen  Regelart, durch PPaattiieennccee/BBeeeennddeenn oder auch durch Tasten-
druck von ee oder nn beendet werden.  Ist der  Computer  gerade  am
Zug,  bleibt  nur  die Aufgabe durch Tastendruck von ee oder nn, da
das Menue ja deaktiviert ist.

Bei einer Partie gegen eine andere Spielerin erscheint  nach  Be-
taetigung  eines  Kommandos,  das das gegenwaertige Spiel beenden
wuerde, ein Dialog ganz eingestellt werden soll oder ob  nur  das
aktuelle Spiel zwecks Neubeginn aufgegeben wird.


Bei  Betaetigung  des  Knopfes BBeeeennddeenn erhaelt die Spielpartnerin
eine Nachricht, dass das Spiel aufgegeben wurde. Bei  Betaetigung
von  NNeeuueess SSppiieell bekommt die Partnerin die Auswahl, ob sie bereit
ist, das derzeitige Spiel zu  Gunsten  eines  neuen  abzubrechen,
oder nicht.

Der Regeleditor wird durch das Kommando RReeggeellnn eeddiittiieerreenn im Menue
DDaatteeii aufgerufen. Er oeffnet ein eigenes Fenster mit  den  Regeln
der Patience, die gerade gespielt wird.


Im  folgenden werden zunaechst die einzelnen Felder des Regeledi-
tors (Abschnitt Die Felder des  Regeleditors)  und  anschliessend
die verschiedenen Kommandoknoepfe in den unteren zwei Reihen (Ab-
schnitt Die Kommandos des Regeleditors) beschrieben.


Name (intern) Der programminterne Name der Patience wird hier nur
angezeigt; er kann durch Aufruf der Kommandos NNeeuu (Abschnitt Neu)
oder LLaaddeenn (Abschnitt Laden)  geaendert  werden.   Im  Normalfall
sollte  er  dem Prefix des Dateinamens entsprechen, unter dem die
Regeln abgespeichert werden (Abschnitt Speichern).

Name (extern) Der externe Name der  Patience  ist  der  fuer  die
Spielerin sichtbare Name der Patience. Er erscheint z.B. im Menue
PPaattiieennccee, aber auch in der Titelzeile des gesamten Windows

Es wird der externe Name des Regelsatzes in der aktuellen Sprache
angezeigt.  Da das Spiel (hoechstwahrscheinlich) in jeder Sprache
mit einem anderen Namen im Menue erscheinen soll, wird bei Anwahl
des externen Namens ein Formular aufgeblaettert, in dem fuer jede
bekannte Sprache ein Name  eingegeben  werden  kann  OOkkaayy-Knopfes
verlassen.


Kartensatz  Hier wird eingestellt, ob mit einem oder zwei Karten-
saetzen gespielt wird. Ein Kartensatz besteht aus 52  Karten  (13
Werte mal 4 Farben).

Streitpatience  Hier  kann  bestimmt  werden,  ob es sich um eine
Streitpatience handelt.  Falls ja, wird weiterhin festgelegt,  ob
die  2  Kartensaetze  (falls  vorhanden)  pro  Hand getrennt oder
gemeinsam gemischt und verteilt werden.

Talon Durch den Schieberegler kann eingestellt werden, ob in  der
Patience  ein  Talon existiert (Regler auf eine Position ungleich
0) oder nicht (Regler am linken Anschlag). Die Stellung  des  Re-
glers  gibt  an,  wie  viele Karten beim Geben auf einmal von der
Hand auf den Talon bewegt werden.

Strafstapel Durch den Schieberegler kann eingestellt  werden,  ob
in  der Patience ein Strafstapel existiert (Regler auf eine Posi-
tion ungleich 0) oder nicht  (Regler  am  linken  Anschlag).  Die
Stellung  des Reglers gibt an, wie viele Karten beim Neuverteilen
der Patience auf den Strafstapel gelegt werden.

Arbeitsstapel Durch den Schieberegler  kann  eingestellt  werden,
wieviele  Arbeitsstapel  in  der  Patience existieren. Es koennen
zwischen 0 und  vier  Arbeitsstapel  einschliesslich  eingestellt
werden.

Unten liegende Karten offen

Mit  diesem  Auswahlmenue  kann bestimmt werden, ob zu Beginn des
Spiels alle Karten auf den Stapeln offen (also  sichtbar)  liegen
(jjaa),  oder  nur  die  Werte der obersten Karten jedes Stapels zu
erkennen sind, alle darunter befindlichen Karten jedoch  mit  dem
Ruecken nach oben liegen (nneeiinn).

Anz. Stapel Wie viele Stapel in der Patience existieren, kann mit
dem waagerechten Schieberegler (zwischen 1  und  10)  eingestellt
werden.  Pro  Stapel  gibt  es  unter  dem  waagerechten je einen
senkrechten Schieberegler, der angibt, mit wie vielen  verdeckten
Karten (von 0 bis 10) der Stapel beim Verteilen gefuellt wird. Es
wird immer eine offene Karte oben auf  die  Stapel  verteilt,  so
dass die Einstellung 0 nicht aussagt, dass gar kein Karte auf den
Stapel verteilt  wird,  sondern  dass  unter  der  offenen  keine
verdeckten Karten mehr liegen.

Ablage  Stapel Mit diesem Auswahlmenue wird die Regel festgelegt,
mit deren Hilfe bestimmt wird, ob auf einem Stapel eine Karte auf
eine  andere  passt. Es stehen die Kombinationen aus AAuuffsstteeiiggeenndd,
AAbbsstteeiiggeenndd oder AAuuff--//AAbbsstteeiiggeenndd mit EEcchhtt, UUnneecchhtt  oder  EEggaall  zur
Auswahl.

Auf-  und  absteigend  bezieht  sich  dabei  auf  die  Werte  der
beteiligten Karten. Falls die Regel aufsteigend besagt, muss  der
Wert  der oberen Karte der naechst groessere sein, bei absteigend
entsprechend der naechst kleinere. Bei aufsteigender Regel  passt
also z.B. ein Bube auf eine 10.

Echt,  Unecht  und  Egal  bezieht  sich  auf die Farbe der beiden
Karten. Echt heisst, dass beide Karten die gleiche Farbe besitzen
muessen,  unecht  heisst, dass auf eine Karo- oder Herzkarte eine
Pik- oder Kreuzkarte passt und umgekehrt. Unecht laesst sich  da-
her  auch  gut  als  "`Rot und Schwarz abwechselnd"' beschreiben.
Egal sagt aus, dass die Kartenfarbe keine Rolle  spielt  bei  der
Entscheidung, ob zwei Karten aufeinander passen.

Teilstapel Mit diesem Auswahlmenue wird die Regel festgelegt, mit
deren Hilfe bestimmt wird, ob mehrere aufeinander liegende Karten
einen  beweglichen Teilstapel bilden. Es stehen die selben Kombi-
nationen zur Verfuegung wie fuer die  AAbbllaaggee  SSttaappeell  (siehe  Ab-
schnitt  Ablage Stapel) und die zusaetzliche Auswahl nnuurr eeiinnzzeellnnee
KKaarrttee.

Nur einzelne Karte bedeutet, dass nicht mehrere  Karten  als  ein
Teilstapel auf einmal bewegt werden koennen.

Ablage  Stock  Mit diesem Auswahlmenue wird die Regel festgelegt,
mit deren Hilfe bestimmt wird, ob auf einem Stock eine Karte  auf
eine  andere  passt.  Es stehen die Kombinationen aus AAuuffsstteeiiggeenndd
oder AAbbsstteeiiggeenndd mit EEcchhtt oder KKoommpplleetttt zur Auswahl. Es fehlen hi-
er  die  Kombinationen  mit UUnneecchhtt oder EEggaall, da Stoecke immer an
eine feste Farbe gebunden sind.

Komplett heisst, dass keine einzelnen Karten auf den Stock gelegt
werden  koennen,  sondern  dass  die  gesamte Familie bereits auf
einem Stapel vereinigt worden sein muss und dann  mit  einem  Zug
auf den Stock geschoben wird.

Ablage  Strafe Mit diesem Auswahlmenue wird die Regel festgelegt,
mit deren Hilfe bestimmt wird, ob auf dem Strafstapel eine  Karte
auf  eine  andere  passt.  Es  stehen  die Kombinationen aus AAuuff--
sstteeiiggeenndd, AAbbsstteeiiggeenndd oder AAuuff--//AAbbsstteeiiggeenndd mit  EEcchhtt  oder  UUnneecchhtt
zur Auswahl.

Diese  Einstellung  ist  nur  wichtig in einer Streitpatience, wo
zwei  Spielerinnen  gegeneinander  spielen,  da  ja   kaum   eine
Spielerin eine Karte auf ihren eigenen Strafstapel legen wird.

Stock Basis Mit diesem Auswahlmenue kann bestimmt werden, welchen
Wert eine Karte besitzen muss, damit sie auf einen  leeren  Stock
gelegt werden kann.

Es  kann  ein  fester  Wert eingestellt werden (meistens wohl das
As), und es gibt die besondere Einstellung EErrssttee KKaarrttee. Dann wird
beim  Verteilen  nach  dem Mischen die oberste Karte der Hand au-
tomatisch auf den entsprechenden Stock geschoben; ihr  Wert  bes-
timmt  dann die Basis der Stoecke. Da jetzt der Koenig nicht mehr
unbedingt der hoechste Wert ist, kann das As (quasi zyklisch) auf
ihn gelegt werden.

Stapel  Basis  Mit  diesem  Auswahlmenue  kann  bestimmt  werden,
welchen Wert eine Karte besitzen muss, damit sie auf einen leeren
Stapel gelegt werden kann.

Es stehen die Einstellungen jjeeddee KKaarrttee und nnuurr hhooeecchhssttee KKaarrttee zur
Auswahl. Der Wert der hoechsten Karte ist abhaengig vom Wert  der
Stockbasis und der Regel fuer passende Werte auf dem Stapel. Wenn
z.B. (wie in der Kleinen Harfe) ein As die Stockbasis ist und auf
den  Stapeln absteigend angelegt werden kann, ist die Stapelbasis
ein Koenig. Bestimmt (in einer noch  zu  erschaffenden  Patience)
die  erste  Karte die Stockbasis und es wurde ein Bube als erstes
auf den Stock gelegt, ist bei aufsteigenden Stapeln eine Dame die
Stapelbasis.

Alte  Karten beweglich Mit diesem Auswahlmenue kann bestimmt wer-
den, ob _a_l_t_e Karten des Talons noch aufgenommen  werden  duerfen.
Eine  Talonkarte  ist  alt, wenn sie zwischenzeitlich bereits von
einer anderen verdeckt war oder  wenn  die  Spielerin  bei  einer
Streitpatience wieder an der Reihe ist.

Gleichzeitig  wird  damit  festgelegt, ob Karten wieder vom Stock
aufgenommen werden duerfen.


Neu Mit diesem Kommando kann das Feld NNaammee ((iinntteerrnn)) auf einen an-
deren  Wert  gesetzt werden; der eingegebene Name sollte dem Pro-
gramm noch nicht bekannt sein.


Dazu erscheint ein Fenster , dem die Spielerin alle dem  Programm
bekannten internen Namen entnehmen und einen neuen eingeben kann.

Laden Mit Hilfe des in Abschnitt Spielzustand beschriebenen  Fen-
sters zur Auswahl eines Dateinamens kann ein (vorher gespeichert-
er) Regelsatz eingeladen  werden.  Die  externen  Dateinamen  der
Regeldateien enden normalerweise mit ..sspprr (von SSppielrregel), daher
ist das Feld MMaasskkee mit **..sspprr vorbelegt.

Die ausgelieferten Spielregeln befinden sich in der Unterdirecto-
ry     ssppiieell     der     Library-Directory,    also    z.B.    in
//uussrr//lliibb//XX1111//ppaattiieennccee--11..88//ssppiieell.

Speichern Mit Hilfe des in Abschnitt  Spielzustand  beschriebenen
Fensters  zur Auswahl eines Dateinamens kann der gerade bearbeit-
ete Regelsatz in einer Datei  gespeichert  werden.  Die  externen
Dateinamen  der  Regeldateien  enden  normalerweise mit ..sspprr (von
SSppielrregel), daher ist das Feld MMaasskkee mit **..sspprr vorbelegt.

Falls die Schreibberechtigung  in  die  Library-Directory  fehlt,
empfiehlt es sich, eigene Regelsaetze in einer privaten Directory
zu sammeln und die  Resource-Variable  sspprrPPaatthh  (siehe  auch  Ab-
schnitt  Installation)  entsprechend zu setzen. Die Resourcevari-
able enthaelt eine durch :: getrennte Liste  von  Directories,  in
denen  bei  Programmstart  nach  Regelsaetzen  gesucht  wird. Ein
Beispiel:

Patience*sprPath: /home/krischan/spiel:/usr/lib/X11/patience-1.8/spiel

Abbruch Das Fenster des Regeleditors wird ohne weitere Rueckfrage
geschlossen,  und es kann mit der vor Aufruf des Kommandos RReeggeellnn
eeddiittiieerreenn eingestellten Patience weitergespielt werden.

Anwenden Ein Aendern der Einstellungen im Regeleditor  hat  keine
unmittelbare  Wirkung  auf die gerade gespielte Patience; es kann
wohl auch schlecht mitten im Spiel z.B. die Anzahl der Stapel ve-
raendert  werden.   Mit  dem  Kommando  AAnnwweennddeenn  koennen nun die
vorgenommenen Regelaenderungen in ein neu anzufangendes Spiel ue-
bernommen werden.

Okay  Ein  Aufruf von OOkkaayy bewirkt eine Ausfuehrung der Kommandos
SSppeeiicchheerrnn, AAnnwweennddeenn und AAbbbbrruucchh, wobei bei negativer Bestaetigung
im Speichern- oder Anwenden-Dialog die Abarbeitung abbricht.

Die  Entscheidung,  unter  welchem Pfad das ausfuehrbare Pragramm
und die Library-Directory fuer die Patience angelegt werden,  ist
vom   persoenlichen   Geschmack  abhaengig.  Mir  fallen  da  als
moegliche Kandidatenkombinationen die in Tabelle Moegliche  Pfad-
namen fuer binDir und libDir dargestellten ein.

AAuussffuueehhrrbbaarreess PPrrooggrraammmm      LLiibbrraarryy--DDiirreeccttoorryy
//uussrr//ggaammeess//ppaattiieennccee         //uussrr//ggaammeess//lliibb//ppaattiieennccee--11..88
//uussrr//bbiinn//XX1111//ppaattiieennccee       //uussrr//lliibb//XX1111//ppaattiieennccee--11..88
//uussrr//llooccaall//bbiinn//ppaattiieennccee     //uussrr//llooccaall//lliibb//ppaattiieennccee--11..88
b //hhoommee//kkrriisscchhaann//bbiinn//ppaattiieennccee//hhoommee//kkrriisscchhaann//ppaattiieennccee--11..88
MMooeegglliicchhee PPffaaddnnaammeenn ffuueerr _b_i_n_D_i_r uunndd _l_i_b_D_i_r


Wer  immer  jetzt  die Patience einspielt, muss schreibberechtigt
fuer die beiden ausgewaehlten Directories sein. Dann kann die Pa-
tience  durch  die  folgenden  Schritte installiert werden, wobei
_b_i_n_D_i_r und _l_i_b_D_i_r die beiden obigen Directories bezeichnen.

In die der Library-Directory uebergeordneten  Directory  wechseln
mit z.B.

ccdd //uussrr//llooccaall//lliibb

Die  Installationsdiskette entpacken mit ttaarr xxvvzzff //ddeevv//ffdd00.  Also
zumindests funktioniert das so auf  meinem  Rechner.  Evtl.  muss
auch  ein  anderer  Name  wie  //ddeevv//ffllooppppyy  oder //ddeevv//rrffdd00HH11444400ddss
angegeben werden. Falls sich die  Auslieferung  bereits  auf  der
Platte   oder   einer   CD   befindet,  kann  sie  mit  ttaarr  xxvvzzff
//ttmmpp//ppaattiieennccee--11..88..ttggzz (z.b.) entpackt werden.  Wer  ein  ttaarr  be-
sitzt,  das die zz-Option zum Entkomprimieren nicht versteht, muss
den folgenden Fingerbrecher benutzen, um die Patience zu entpack-
en:

ggzziipp --ccdd //ccddrroomm//llaannggeerrPPffaadd//ppaattiieennccee--11..88..ttggzz || ttaarr xxvvff --

In die soeben erzeugte Directory wechseln: ccdd ppaattiieennccee--11..88

Wer  einen  wwiisshh  der Version 4 besitzt, kann jetzt das Installa-
tionsprogramm iinnssttaallll..ttccll aufrufen. Es ist ein englischsprachiges
Tk-Programm, das die folgenden Schritte als Menuepunkte anbietet.
Nachdem im Menue CCoonnffiigguurree die angebotenen Einstellungen  gemacht
wurden,  kann  im Menue MMaakkee durch ((MMaakkee tthheenn)) SSttaarrtt die Patience
erzeugt und aufgerufen, bzw. durch MMaakkee IInnssttaallllaattiioonn das  erzeugt
Programm in die entsprechenden Directories kopiert werden.

Falls  noch  kein  neuer  wwiisshh  zur Verfuegung steht oder kein X-
Display in  der  Naehe  ist  oder  sonstige  Gruende  gegen  eine
graphische  Oberflaeche sprechen, wird gemaess der Punkte 5 bis 7
dieser Liste installiert.

Mit dem Editor der Wahl das MMaakkeeffiillee  editieren  und  im  zweiten
Teil  (also so ungefaehr ab Zeile 15) die folgenden Variablen den
Gegebenheiten auf der aktuellen Maschine  und/oder  den  persoen-
lichen Vorlieben anpassen.

WWIISSHH:: Dieser Variable wird der vollstaendige Pfadname des Tcl/Tk-
Interpreters zugeordnet. Er kann (im Bourne-,  Korn-  oder  aehn-
lichen  Shell)  erfragt  werden durch einen Aufruf von ttyyppee wwiisshh.
Bei mir lautet die Zeile deshalb zur Zeit WWIISSHH == //uussrr//bbiinn//wwiisshh.

Um die im  Abschnitt  Streitpatience  beschriebenen  Funktionali-
taeten  auch  ueber Rechnergrenzen hinweg nutzen zu koennen, muss
hier der Name eines Interpreter-Shells angegeben werden, der  die
Tcl-DP  Prozeduren enthaelt. Dieser Shell heisst in der Regel ddpp--
wwiisshh. Das Tar-Archiv mit der Distribution heisst  ttccll--ddpp33..22..ttaarr..ZZ
und ist u.a. erhaeltlich am FTP-Rechner mmmm--ffttpp..ccss..bbeerrkkeelleeyy..eedduu in
der Directory //ppuubb//mmuullttiimmeeddiiaa//TTccll--DDPP.

LLIIBB__DDIIRR:: Hier wird die vorhin ausgesuchte _l_i_b_D_i_r eingetragen, bei
mir lautet die Zeile z.Z. LLIIBB__DDIIRR == //uussrr//lliibb//XX1111//ppaattiieennccee--11..88.

BBIINN__DDIIRR:: Hier wird die vorhin ausgesuchte _b_i_n_D_i_r eingetragen, bei
mir lautet die Zeile z.Z. BBIINN__DDIIRR ==  //hhoommee//kkrriisscchhaann//ppaattiieennccee--11..88.

CCFFLLAAGGSS::   Fuer   die   Uebersetzung   des  erweiterten  Patience-
Interpreters ppaattsshh kann es wichtig sein, diese  Variable  korrekt
zu  setzen,  falls sich die Tcl-Includedateien an einem ungewoen-
lichen Ort befinden.

Dann mmaakkee ppaattiieennccee aufrufen;  nach  spaetestens  fuenf  bis  zehn
Sekunden sollte alles fertig zum Losspielen sein. Im Programm ist
deutsch als Defaultsprache eingestellt;  wer  diese  Beschreibung
bis  hierher  durchgelesen  hat, sollte ruhig den Defaultwert be-
lassen. Die Sprache  kann  durch  eine  Resource  gesetzt  werden
(siehe Abschnitt X-Resourcen).

Ein  Probespiel kann jetzt bereits mit ..//ppaattiieennccee aufgerufen wer-
den. Damit es spaeter von ueberall her nur durch Nennung des  Na-
mens  aufgerufen  werden  kann, muss noch der Befehl mmaakkee iinnssttaallll
ausgefuehrt werden.


Wer Lust hat, kann noch ein C-Programm ppaattsshh..cc  uebersetzen;  das
geschieht mit Hilfe des Makefiles und einem Aufruf von mmaakkee ppaattcc.
Anschliessend wird das erzeugte  ausfuehrbare  Programm  als  ppaa--
ttiieennccee in _b_i_n_D_i_r installiert durch mmaakkee iinnssttaallllcc.

Durch  obigen  Aufruf  wird neben dem Programm noch ein Patience-
Interpreter  ppaattsshh  erzeugt;  er  entspricht  dem  normalen   Tk-
Interpreter wwiisshh, ist aber erweitert um eine Prozedur zum Mischen
sowie  einige  zentrale   Pruef"|funktionen   und   damit   etwas
schneller.


Wenn  das  Programm  den  Namen einer bekannten Patienceregel be-
sitzt,  wird  bei  Programmstart  sofort  ein   Spiel   mit   den
entsprechenden  Regeln  gestartet.  Wer  also mag, kann z.B. nach
Ausfuehrung des folgenden Befehls das  Programm  gleich  mit  der
Kleinen Harfe aufrufen

llnn --ss ppaattiieennccee kkllHHaarrffee

Das gelingt ebenso mit den internen Namen von anderen, auch selb-
stkonstruierten, Regelsaetzen.

Der gewuenschte Name kann auch als Parameter mit uebergeben  wer-
den. Die Streitpatience ist daher direkt spielbar durch

ppaattiieennccee --nnaammee ssttrreeiitt

Es  ist  also  z.B. moeglich, im Rootmenue des Windowmanagers ein
Untermenue Patience zu erzeugen, dass die Patience mit  der  jew-
eiligen  Spielregel startet. In der Initialisierungsdatei ..ffvvwwmmrrcc
des ffvvwwmm-Windowmananger sieht das wie folgt aus:
Popup "Patience 1.8"
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 zurueck, die das
aeussere  Erscheinungsbild  aendern.  In Tabelle X-Resourcen sind
die Namen, die Defaultwerte und ihre Bedeutung aufgelistet.

RReessoouurrccee        DDeeffaauullttwweerrttBBeeddeeuuttuunngg
wwaarrtteeZZeeiitt       1100      Vorgabe der Wartezeit bei der Pfeildarstellung
rroott             IInnddiiaannRReedd44Rote Farbe der Karo- und Herzkarten
ggrraauu            ggrraayy8800  Graue Hintergrundfarbe der Stoecke
wweeiissss           ggrraayy9955  Weisse Hintergrundfarbe der Karten
xxllooggoo           //uussrr//iinncclluuddee//XX1111//bbiittmmaappss//xxllooggoo1111
                        Bitmap oben links in Menueleiste
sspprrPPaatthh         _l_i_b_D_i_r//ssppiieellnach Spielregeln zu durchsuchende Directories
mmiittMMiisscchhCCoommiicc   TTrruuee    Vorgabe von MMiitt CCoommiiccss/VVeerrtteeiilleenn
mmiittBBeewweeggCCoommiicc   TTrruuee    Vorgabe von MMiitt CCoommiiccss/KKaarrtteennbbeewweeggeenn
sscchhaatttteenn        55       Vorgabe der Schattenhoehe
mmiittSSttrreeiittbbaarr    FFaallssee   Vorgabe von PPaattiieennccee/SSttrreeiittbbeerreeiitt
kkaarrtteennFFoonntt      nnoorrmmaall  Vorgabe des Kartenfonts
sspprraacchhee         ddeeuuttsscchh die Sprache (ddeeuuttsscchh oder eenngglliisshh)
ddaaeemmoonnPPoorrtt      44556677    Portnummer des Patience-Daemons
XX--RReessoouurrcceenn


Die Farbresourcen rroott, wweeiissss und ggrraauu 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 auf-
steigender Prioritaet gesucht:

die  vom  Programm  vorgegebenen  Defaultwerte, wie in Tabelle X-
Resourcen beschrieben;

in der systemweit installierten Resourcedatei _l_i_b_D_i_r//aapppp--ddeeffaauulltt;

in der von der Spielerin konfigurierten Resourcedatei
 //..XXddeeffaauullttss;

in den durch xxrrddbb --mmeerrggee definierten Resourcen.  In den Resource-
dateien hat die Zuordnung eines Wertes zu einer Resource den fol-
genden Aufbau:

**ppaattiieennccee.._R_e_s_o_u_r_c_e_n_a_m_e:: _W_e_r_t

Beispielsweise  wird  der Schwarz/Weiss-Font als Vorgabe fuer die
Kartendarstellung gesetzt durch:

**ppaattiieennccee..kkaarrtteennFFoonntt:: ssww


Der  Pfeil  hat  bei  komprimierten  Stapeln  eine   falsche   Y-
Koordinate.


Alle  nicht  sichtbaren Karten (auf Stock, Talon und Strafstapel)
sollten von der Spielflaeche geloescht werden,  damit  das  Geben
und der Verteilcomic schneller gehen.


krischan@cs.tu-berlin
