# Das KAbalone Handbuch

Josef
Weidendorfer

    weidendo@informatik.tu-muenchen.de

09/09/1999
Übersetzung: 08/11/1999
1.04

Diese Dokumentation wurde zuletzt für KAbalone Version 1.04 aktualisiert. Bitte richten Sie alle Kommentare und Verbesserungsvorschläge an den Autor.

KDE
Spiel
abalone
linux

## Einführung

Abalone ist ein einfaches Brettspiel. Zwei Personen spielen gegeneinander mit roten und gelben Spielsteinen (Kugeln). Beginnend bei einer Startstellung, in der jeder Spieler 14 Kugeln besitzt, wird abwechselnd gezogen, bis ein Spieler 6 Kugeln des Gegners aus dem Spielfeld gedrängt hat.

Das ursprüngliche Programm wurde 1993 für DOS und für Xlib geschrieben. Für KDE wurde das Programm in großen Teilen neu geschrieben.

Die Spielidee stammt nicht von mir. Abalone gibt es als echtes Brettspiel, das soweit ich weiß von einer deutschen Firma vertrieben wird.

## Spielregeln für Abalone

1. Der Spieler mit den roten Kugeln beginnt.

2. Zwei Arten von Zügen sind erlaubt:

   Normaler Zug

     Eine, zwei oder drei Kugeln in einer Linie können um eins nach vorn geschoben werden. Dabei sind 6 Richtungen möglich. Seitliches Verschieben ist ebenfalls erlaubt.

     Für einen Zug muss die linke Maustaste über der zu schiebenden Kugel gedrückt werden. Die Kugel ändert daraufhin ihre Farbe. Nun ziehen Sie die Maus mit gedrückter Taste in die gewünschte Richtung. Wenn der Zug erlaubt ist, wandelt sich der Zeiger in einen Pfeil in die entsprechende Richtung, und alle betroffenen Kugeln ändern ihre Farbe. Durch Loslassen der Maustaste wird der Zug ausgeführt.

     Um zwei Kugeln seitlich zu schieben, klickt man zwischen die zwei Kugeln; drei Kugeln werden durch Drücken der mittleren Maustaste auf die mittlere Kugel angesprochen. Wenn ein seitlicher Zug erlaubt ist, ändern die Kugeln Ihre Farbe. Wenn der Zug nicht erlaubt ist, ändert nur die mittlere Kugel ihre Farbe und Sie können nur einen normalen Zug ausführen.

   Anschiebe-Zug

     Maximal zwei Kugeln des Gegners können vor den eigenen Kugeln hergeschoben werden, nämlich dann, wenn die eigenen Kugeln in der Zahl überlegen sind. Das heißt: mit zwei Kugeln kann man eine Kugel des Gegners schieben, und mit drei entsprechend eine oder zwei.

     Besondere Anschiebe-Züge sind solche, die gegnerische Kugeln aus dem Spielfeld drängen. Wenn man 6 Kugeln des Gegners so rausgeschoben hat, hat man das Spiel gewonnen.

Wenn Ihnen immer noch nicht klar ist, wie das Spiel funktioniert, schauen Sie sich doch einfach ein Spiel an, bei dem der Computer beide Seiten spielt. Dazu wählen Sie einfach Einstellungen Computer spielt Beide Seiten und starten ein neues Spiel.

## Die Benutzeroberfläche

Wie man Spielzüge ausführt ist im Kapitel Spielregelnbeschrieben. Die Knöpfe in der Werkzeugleiste haben die gleiche Bedeutung wie die Einträge im Datei- bzw. im Bearbeiten-Menü.

### Das Datei-Menü

F2 Neues Spiel

  Startet ein neues Spiel. Dies ist jederzeit, auch während eines laufenden Spieles, möglich.

S Suche unterbrechen

  Wenn der Computer über einen Zug nachdenkt, kann damit dessen Suche unterbrochen werden. Er wählt dann den Zug, den er bis jetzt als Besten erachtet.

Bild Aufwärts Zurücknehmen

  Nimmt einen Zug zurück. Tatsächlich werden zwei Züge zurückgenommen: ein Zug des Gegners und ein eigener, so dass man wieder an der Reihe ist. Etwa 100 Züge können zurückgenommen werden. Wenn Sie sich im Modus "Ändern" befinden (sehen Sie dazu Bearbeiten Ändern unten), wird durch diese Funktion die Nummer des Zuges um eins erniedrigt.

Bild Abwärts Vorwärts

  Diese Funktion ist nur nützlich im Modus "Ändern": Erhöht die Nummer des Zuges dieser Position

H Vorschlag

  Zeigt Ihnen einen Vorschlag des Computers an. Dies ist nur möglich im Schwierigkeitsgrad "Normal" oder höher, die Nummer des Zugs größer als zwei ist und Sie Ihren Zug nicht zurücknehmen.

N Netzwerk

  Wenn dieser Option aktiviert ist, befindet sich das Programm im Netzwerk-Modus. Alle KAbalone-Programme, die sich im Netzwerk-Modus befinden, senden sich Änderungen der Positionen zu. Das ermöglicht es Ihnen, gegen einen Gegner auf einem anderen Computer zu spielen oder das Spiel eines anderen KAbalone-Programms zu beobachten.

  Um die Positionen auszutauschen, müssen die KAbalone-Programme von einander wissen. Wenn die Programme auf dem gleichen Computer laufen, müssen Sie keine weiteren Angaben machen. Wenn sie auf verschiedenen Computern laufen, müssen Sie die Adresse des anderen Computers auf der Befehlszeile mit der Option `-h` angeben.

  Für Experten: KAbalone beobachtet im Netzwerk-Modus einen TCP-Socket, ob Positionsänderungen eines anderen KAbalone-Programms ankommen. Sie können die Portnummer mit der Befehlszeilen-Option `-p` Sie benötigen diese Option, wenn Sie mehrere verschiedene KAbalone-Netzwerkspiele spielen wollen.

  Beispiele:

  - Chris auf Maschine1 und Maria auf Maschine2 wollen gegeneinander spielen: Maria startet einfach KAbalone, wechselt in den Netzwerk-Modus und setzt Einstellungen Computer spielt auf Kein. Chris startet KAbalone mit `kabalone -h Maschine2` und macht ansonsten die gleichen Einstellungen wie Maria. Jetzt kann einer der beiden das Spiel beginnen und mit den roten Spielsteinen ziehen. Jederzeit, wenn in einem Programm eine Position geändert wird, wird das automatisch im anderen Programm nachvollzogen.

  - John will das Spiel beobachten: Er macht das gleiche wie Chris, aber er macht selbst keinen Zug.

  - Zwei verschiedene KAbalone-Netzwerkspiele sollen auf den Rechnern m1 und m2 gespielt werden. Um die Spiele zu unterscheiden, wählen wir für eines den Port Nummer 12345. Auf m1 starten wir einmal KAbalone wie immer und einmal mit `kabalone -p 12345`. Auf m2 starten wir mit `kabalone -h m1` und `kabalone -h m1:12345` (Der Doppelpunkt trennt den Rechnernamen von der Portnummer).

StrgQ Beenden

  Beendet KAbalone.

### Das Bearbeiten-Menü

StrgEinfg Modify

  Schaltet KAbalone in den Modify-Modus. In diesem Modus können Sie das Spielfeld bearbeiten, indem Sie rote oder gelbe Spielsteine hinzufügen oder löschen. Die Statuszeile zeigt die Anzahl der roten und gelben Steine an, die Nummer des Zugs, der Spieler, der den nächsten Spielzug machen muss, und ob die Position gültig ist: Ein Ausrufezeichen meint Nein, ein Haken meint Ja. Wenn die Position ungültig ist, und Sie in den normalen Spielmodus zurück wechseln wollen, können Sie nicht spielen! Nur gültige Positionen können als Startpositionen eines Spieles verwendet werden.

  Wenn KAbalone sich im Netzwerk-Modus befindet, wird die Position erst gesendet, wenn Sie in den normalen Spielmodus zurückschalten. Zurücknehmen und Vorwärts erniedrigen und erhöhen einfach die Nummer des Spielzugs ohne einen Stein zu ändern.

  Benutzung: Wenn Sie die linke oder rechte Maustaste auf einem leeren oder gelben Feld drücken, gelangen Sie in den Modus "Rote Spielsteine hinzufügen"; wenn Sie die mittlere Maustaste auf einem leeren oder roten Feld drücken, gelangen Sie in den Modus "Gelbe Spielsteine hinzufügen". Wenn Sie die linke oder rechte Maustaste auf einem roten Feld, bzw. die mittlere Maustaste auf einem gelben Feld drücken, gelangen Sie in den Modus "Spielsteine löschen". Sie bleiben so lange in einem Modus, wie Sie die Maustaste gedrückt halten. Alle Felder, die Sie in einem Modus überstreichen, werden bearbeitet.

StrgC Kopieren

  Kopiert eine ASCII-Abbild des aktuellen Spielbretts in die Zwischenablage. Sie können dieses dann in jeden Texteditor übernehmen, indem Sie dort die mittlere Maustaste drücken.

StrgV Einfügen

  Interpretiert den Inhalt der Zwischenablage als ASCII-Abbild eines KAbalone-Spielbretts und benutzt dieses als aktuelle Position. Ein gültiges ASCII-Abbild wird durch Kopieren erstellt.

  Auf diesem Weg können Sie Spielpositionen zwischen zwei KAbalone-Programmen austauschen. Aber dies kann auch einfacher über den Netzwerk-Modus geschehen. Eine andere Möglichkeit ist es, auf diesem Weg, eine Position in einer Textdatei zu speichern und diese dann später wieder herzustellen.

StrgO Stellung restaurieren

  Stellt eine vorher gespeicherte Stellung wieder her.

StrgS Stellung speichern

  Speichert die aktuelle Stellung ab.

### Das Einstellungen-Menü

Spielstärke

  Es kann unter vier Spielstärken des Computers ausgewählt werden. Dies beeinflusst die Anzahl Züge, die der Computer im Voraus berechnet, um den besten Zug zu finden. Unterbrochen werden kann die Suche mit der Taste S.

Computer spielt

  Der Computer kann Rot, Gelb oder beide Seiten übernehmen. Dies kann jederzeit (nicht nur vor Spielbeginn) geändert werden, um beispielsweise die Seite zu wechseln (wenn man zu schlecht spielt). Wählen Sie "Kein", wenn Sie gegen einem Freund spielen wollen. Diese Einstellung ist außerdem sinnvoll im Netzwerk-Modus.

Langsam ziehen

  Ein Computerzug wird dadurch angezeigt, dass die am Zug beteiligten Kugeln vor dem eigentlichen Zug zu blinken beginnen und ihre Farbe ändern (wenn diese Option angewählt ist). Ein Abwählen verhindert diese etwas langsame (Pseudo-) Animation. Dann wechseln die entsprechenden Kugeln nur kurzzeitig ihre Farbe, ohne zu blinken; dies ist deutlich schneller.

Render Balls

  Wenn dies aktiviert ist, werden die Spielsteine bei Bedarf (z.B. beim Ändern der Fenstergröße) von einem einfachen internen Raytracer gerendert.

Spion

  Ist die Option Spion angewählt, so werden in der Statuszeile Informationen zum aktuellen Zug - sowohl des Spielers als auch eines momentan besten Zuges des Computers - angezeigt: der Zug selbst sowie eine vom Computer errechnete Verbesserung (positiv) oder Verschlechterung (negativ) der aktuellen Stellungsbewertung durch den Zug.

Speichern

  Speichert die Einstellungen in der Konfigurationsdatei der Anwendung. Diese werden beim Start von KAbalone automatisch wieder hergestellt.

## Kommandozeilen-Optionen

    	kabalone

    	  -p portnummer

    	  -h rechnername
    :portnummer

Mit der Option `-p` können Sie die Portnummer des zu beobachtenden TCP Sockets angeben.

Mit der Option `-h` können Sie die Adresse eines KAbalone-Prozesses auf einem anderen Rechner angeben, mit dem Sie kommunizieren wollen. Die Portnummer ist optional und muss nur angegeben werden, wenn der andere Prozess nicht die Standard-Portnummer benutzt. Sie können auch mehrere entfernte Prozesse angeben.

## Mitwirkende und Lizenz

KAbalone Copyright 1997, 1998 Josef Weidendorfer weidendo@informatik.tu-muenchen.de

KAbalone ist unter den Bestimmungen der GNU GPL veröffentlicht.

Entwickler:

- Johannes Weidendorfer weidendo@informatik.tu-muenchen.de

Dokumentation:

- Johannes Weidendorfer weidendo@informatik.tu-muenchen.de

Deutsche Übersetzung:

- Matthias Kiefer matthias.kiefer@gmx.de

- Oliver Hensel oliver.hensel@gmx.de