SOGO DOKUMENTATION Copyright: Bernfried Brüggemann, München, 20.12.91 Stichworte: - mit GO verwandtes Strategiespiel für 2 Personen - alpha/beta-Pruning des Spielbaumes, dadurch große Such- tiefe bei relativ kurzer Rechenzeit - optional 3D-Darstellung des Spielbretts mit Rot-Grün-Filter-Verfahren - Intuition-Einbindung - Quellcode in Programmiersprache Modula-2 I. SOGO-Spielregeln In das SOGO-Spielbrett werden in einer 4x4-Anordnung insgesamt 16 Stifte aufgestellt. Auf jeden Stift lassen sich je 4 Kugeln auffädeln. Insgesamt sind 64 Kugeln im Spiel, 32 weiße und 32 schwarze. Der Spieler mit den weißen Kugeln beginnt. Beide Spieler setzen abwechselnd eine Kugel ihrer Farbe und versuchen eine Mühle zu bilden. Eine Mühle besteht aus 4 Kugeln einer Farbe in einer Reihe. Es gibt 16 senkrechte, 40 waagerechte, 18 diagonale und 2 raumdiagonale Mühlen. Wer zuerst eine Mühle mit seinen Steinen gebildet hat, gewinnt. II. SOGO-Bedienung 1. SOGO-Programmstart- nach RESET die SOGO-Diskette einlegen. Über die Start up-Sequence wird SOGO automatisch gestartet. - wenn bereits die Workbench geladen ist, kann SOGO auch in der Intuition-Umgebung durch Doppelclick auf das SOGO-Icon gestartet werden. 2. SOGO-Kugel setzen mit dem Mauszeiger einen der Stifte aktivieren, sodaß seine Spitze blinkt. Ein Click der linken Maustaste setzt die Kugel auf den aktivierten Stab. 3. Menügruppe Playing * Begin New Game nimmt alle Kugeln vom Brett und beginnt eine neue Partie. Der Spieler mit den weißen Kugeln hat den ersten Zug. * Choose Your Opponent wählt den Spielpartner. Human bedeutet ein Spiel mit einem menschlichen Gegenüber. Das Programm liefert nur das Spielbrett und über wacht die Einhaltung der Spielregeln. Computer wählt den AMIGA als Gegenspieler. AutoPlay läßt den AMIGA gegen sich selbst spielen. * Choose Level legt die Spielstärke des AMIGA fest. Die Antwortzeit des AMIGA nimmt mit wachsendem Level von weniger als 1 s (Level 1) bis auf einige Minuten (Level 5) zu. Level 6 und 7 können auf einem normalen AMIGA mehrere Stunden Bedenkzeit benötigen. Zusätzlich hängt die Antwortzeit auch von der aktuellen Spielsituation ab. Je deutlicher das Übergewicht eines Spielers ist, umso kürzer ist die Antwortzeit. * Choose Side wählt die Kugelfarbe des 1. Spielers. Der AMIGA oder der 2. Spieler erhalten automatisch die andere Farbe. Auf jeden Fall hat Weiß den ersten Zug. * Save This Game öffnet ein neues Fenster. In das erscheinende String-Gadget wird ein Dateiname eingetragen. Ein Click auf den SAVE-Schalter sichert die aktuelle Spielsituation unter dem angegebenen Namen. * Load A Saved Game lädt ein gesichertes Spiel und setzt die Kugeln auf das Spielbrett. Die vor dem Aufruf dieses Menüpunktes vorhandenen Einstellungen der Spielstärke, des Gegenspielers oder der Farbwahl werden dabei nicht verändert. * Quit beendet das SOGO-Programm. 4. Menügruppe View * Set Colours öffnet ein Fenster mit Gadgets zur Änderung der Farbeinstellungen. * Type of View wählt zwischen 2D- und 3D-Darstellung aus (Bild 13). Wer den 3D-Effekt wahrnehmen will, benötigt eine Rot-Grün-Filterbrille (rechts rot, links grün). * Rotate Board öffnet ein Fenster für die Einstellung des Blickwinkels auf das Spielbrett. Eine rechts-links Verschiebung des Knopfes im x/y-Gadget bewirkt eine Drehung des Spielbrettes in der Brettebene. Eine oben-unten Verschiebung kippt das Spielbrett auf den Betrachter zu oder von ihm weg. 5. Menügruppe Options * Take Back Last Move nimmt die zuletzt gesetzte Kugel wieder vom Brett. * Status-Info wählt aus, ob im Status-Window nicht nur der aktuelle Spielzustand sondern auch der Gedankengang des AMIGA bei der Suche nach dem besten Zug dargestellt werden soll. Das Status-Window enthält folgende Informationen: + wer ist am Zug; + den Spielausgang (Gewinner oder "REMIS"); falls zusätzliche Status-Infos gewünscht sind, kommt hinzu: + ein horizontales Balkendiagramm; die Zahl der Balken richtet sich nach der gewählten Suchtiefe im Spielbaum; jedem Balken entspricht eine bestimmte Tiefenstufe, dem obersten Balken entspricht die Tiefe 1 dem darunterliegenden die Tiefe 2 usw. Alle Knoten im SOGO-Spielbaum haben maximal 16 Folgestellungen. Bei dem oben beschriebenen Suchverfahren wird in jeder Tiefenstufe jeweils höchstens ein Knoten bearbeitet. Wieviele Folgestellungen des gerade betrachteten Knotens bereits ausprobiert wurden, zeigt die Länge des Balkens einer Tiefenstufe an; + die vorgegebene Spielstärke, der die Zahl der vorausberechneten Halbzüge entspricht. In Klammern steht die in der Anfangsphase des Spiels zur Rechenzeitersparnis automatisch reduzierte Spielstärke; + Zahl der durch die alpha/beta-Bedingung abge- schnittenen Zweige des Spielbaumes; + Gesamtzahl der bewerteten Spielstellungen; III. Dateien Quellcode, Definition-Moduln txt/sogograph.def txt/sogostrat.def txt/sogoctrl.def Quellcode, Implementation-Moduln txt/sogograph.mod (Grafikroutinen) txt/sogostrat.mod (Strategieroutinen) txt/sogoctrl.mod (Spielablaufkontrolle) txt/sogomain.mod (Intuition-Oberfläche) Ablauffähiges Programm sogo Parameterdateien txt/UserThePhi (Blickwinkel auf das SOGO-Spielfeld) txt/DefaultThePhi (entsprechende Voreinstellungen) txt/UserColours2D (Farbpalette für das 2D-Spielbrett) txt/DefaultColours2D (entsprechende Voreinstellungen) txt/UserColours3D (Farbpalette für das 3D-Spielbrett) txt/DefaultColours3D (entsprechende Voreinstellungen) Skript zum Compilieren und Linken des SOGO-Programmes txt/msogo Dokumentation txt/sogodocu -