
                             Gammon
                           ----------

Version : 1.3  (Fertigstellung : 10.04.93)
Autor   : Marc Fischlin
          Steigerwaldweg 6
          D-6450 Hanau 7 (ab 01.07.93: D-63456 Hanau)
          Deutschland
Sprache : C - Lattice SAS-C-Compiler V5.10
Hardware: Amiga 2000B/ 68000er/ Kickstart V2.04

------------------------------------------------------------

"Gammon" ist urheberrechtlich  geschützt. Alle Rechte liegen
beim  Autor.  Das  Verzeichnis  "Gammon"  darf  kopiert  und
weitergegeben  werden,   solange   das  gesamte  Verzeichnis
kopiert  und  weitergegen  wird,  keine  Änderungen  an  den
Programmen des Verzeichnisses vorgenommen werden und mit der
Weitergabe kein kommerzieller Gewinn erzielt wird.

------------------------------------------------------------

Anfangsmenü:
Gammon ist eine  Umsetzung  des BackGammon-Spiels, die neben
dem  Zweispieler-Modus   auch   einen  menschlichen  Partner
ersetzen   kann.   Die    Menüfunktionen   sind   weitgehend 
selbsterklärend.  "Save  settings"  speichert  in  der Datei
"Gammon.INI" Ihre Lieblingswerte  für Farbe, Computergegner,
Anfangsstellung usw., die beim nächsten Programmstart wieder
eingelesen und initialisiert werden. 
Ab Version  1.3  stehen  vier  verschiedene (verbesserte ?!) 
Computergegner zur Verfügung ("Random" wählt bei Spielbeginn
einen  der  vier  Gegner  aus).  Während  "Aggressive"  eher 
offensiv  und  riskant  spielt,  versucht  der  Computer bei 
"Defensive"  seine  Steine  sicher  nach  Hause  zu bringen. 
"Blocking" versucht primär  Brücken  zu bauen und "Balanced" 
spielt ein Gemisch aus allen drei anderen.
Mit  dem  Menüpunkt  "Colors"   können  sie  eine  der  vier 
vorgegebenen Farbpaletten wählen.
 Nachdem man mit "Start game" ein Spiel begonnen hat, man mit
"End Game"  das  aktuelle  Spiel  verläßt  und ins Hauptmenü
zurückkehrt, während  man  mit  "Quit  Gammon"  das Programm 
verläßt; "Undo move"  macht  dann  alle Züge bis zum letzten
Zug Ihres Partners rückgängig.


Programmtechnik:
Einen  Zug  führt   man   aus,   indem  man  die  gewünschte
Ausgangsposition anwählt (die  Zahl  leuchtet  auf) und dann
auf die Zielposition klickt.  Der  Zug wird, wenn er möglich
ist, dann ausgeführt.  Ab  Version  1.3  können zwei Züge zu
einem   zusammengefaßt   werden   (allerdings   nicht   beim 
Hinausziehen),  d.h.  eine  5  und  eine  3  können  -sofern 
mindestens eins der beiden Zwischenfelder "frei" ist- sofort
als  8  gezogen  werden.   Könnte   oder  müßte  dabei  beim 
Zwischenfeld ein Stein geschlagen  werden, wird der Computer
diesen Stein aber nicht vom Brett nehmen!!!
Ein erneutes  Anwählen  der  Ausgangsposition  storniert die 
Wahl. Bei einem  Doppelklick  auf den Endpositionen wird der 
entsprechende Stein  -wenn  erlaubt-  vom  Feld gezogen; bei
einem Stein, der  an  der  Bar  sitzt,  reicht ein einfaches
Anwählen  auf  der  entsprechenden   Position  im  Haus  des 
Partners aus, um  ihn  aufs Spielfeld zurückzuziehen. Passen 
kann man, indem  man  auf  die  Würfel  klickt.  Ist ein Zug 
möglich,  so  wird  der  Computer  den  von  ihm  als besten 
betrachteten in  der  Titelleiste  anzeigen  (Somit kann der
Computer auch die Funktion eines Ratgebers übernehmen).


Computerstrategie:
Der Computer unterscheidet  zwei mögliche Spielzustände: (a)
Die Steine der Partner  sind  noch  nicht getrennt, d.h. ein
Schlagen ist möglich,  oder  (b)  Die  jeweiligen Steine der
Partner  befinden  sich  in  zwei  seperaten  Gebieten, d.h.
Schlagen ist nicht  mehr  möglich.  Im letzten Fall versucht
der Computer, seine Steine  so  schnell wie möglich ins Haus
und dann vom Feld zu  ziehen. In Fall (a) berücksichtigt der
Computer mehrer  Kriterien:  "Bloßstellung"  eigener Steine,
Schlagen  gegnerischer  Steine,  Isolation  eigener  Steine,
Brücken bauen usw.


Programmtechnischer Standpunkt der Computerstrategie:
Der Computer probiert  zunächst  alle mögliche Kombinationen
per Rekursion durch  und  beurteilt  dann die Endsituationen
nach den oben angeführten  Kriterien. Dabei unterscheidet er
z.B. einen 3-5-Zug von  einem 5-3-Zug, weil die Endsituation
verschieden  sein  kann  (man   stelle  sich  vor,  daß  ein
einzelner gegnerischer  Stein  im  Abstand von drei entfernt
stehe!).  Bei  einem   Pasch   entfällt  diese  Vertauschung 
allerdings,  trotzdem  kann  es   hier  vorkommen,  daß  der 
Computer  einige  Sekunden   Denkzeit  braucht,  schließlich
betrachtet er teilweise bis  über 2000 Endpositionen. Einige
Beispiele  aus  Testspielen:   2106   Positionen  bei  einem 
3er-, 2021 bei einem 2er-,  1924  bei  einem  1er-, 1834 bei
einem 5er-Pasch. 



Laplace oder nicht Laplace? :
Wem beim Spielen eine Augenzahl zu oft fällt, dem seien hier
folgende  Versuchsergebnisse  aus  960  Würfen  präsentiert: 
(a) Für die einzelnen  Augenzahlen  (1,2,...,6) ergaben sich
folgende  Wahrscheinlichkeiten   (mathematisch  sollte  laut
Laplace immer P(X)=.166=16,6% gelten):
      P(1)=.185,     P(2)=.178,      P(3)=.146, 
      P(4)=.152,     P(5)=.143,      P(6)=.196.
(b)  Für  die  Augensummen  (2,3,...,12)  mit mathematischem
Vergleichswert gilt:
      P( 2)=.0354 zu .0278,     P( 3)=.0625 zu .0555,
      P( 4)=.0916 zu .0833,     P( 5)=.1042 zu .1111,
      P( 6)=.1396 zu .1388,     P( 7)=.1583 zu .1666,
      P( 8)=.1188 zu .1388,     P( 9)=.1104 zu .1111,
      P(10)=.0916 zu .0833,     P(11)=.0500 zu .0555,
      P(12)=.0375 zu .0278.
Annährend Laplace, oder?




PS: Dank an Robert Hofmann für die großartige Unterstützung.

         


++++++++++++ Auch für PC-Windows erhältlich ++++++++++++++++
