Eingabe der Züge

JavaChess erwartet zu Beginn der Partie standardmäßig die Eingabe eines Zuges vom Benutzer. Soll JavaChess mit Weiß spielen, so kann die Ansicht des Brettes gedreht werden und JavaChess zum Zug aufgefordert werden (siehe hierzu Funktionen des Menüs).

Einfache Züge

Bei JavaChess werden die Züge durch Angabe des Ausgangs- und Endfeldes eingegeben. Diese Eingabe erfolgt mit der Maus, wobei die Maustaste mit Mauszeiger über dem Ausgangsfeld gedrückt wird und nach Bewegung zum Endfeld wieder losgelassen wird. Die Figur wird seit der Version 4.2 während der Mausbewegung mitgeführt (Drag & Drop).

Rochade

Die Eingabe der Rochade erfolgt immer durch Eingabe eines Doppelschrittes vom König in die Richtung der gewünschten Rochade. Das gilt auch dann, wenn durch entsprechende (Märchenschach-)Einstellungen der König mehr oder weniger als zwei Schritte ausführt.

En passent

Bei en passent wird nur die Bewegung des Bauern eingegeben. Der en passent geschlagene Bauer wird automatisch entfernt.

Umwandlungen

Erreicht ein Bauer die Umwandlungsreihe, so öffnet sich ein kleines Fenster, in dem die Figur ausgewählt werden kann, in welche umgewandelt werden soll.

Funktionen des Menüs

Spiel

  • Neues Spiel: Diese Funktion baut die Stellung für eine neue Partie auf.
  • Zug zurück: Nimmt einen Halbzug zurück.
  • Zug vor: Spielt einen Halbzug vor.
  • Spielanfang: Es werden alle Züge bis zum Anfang der Partie zurückgenommen.
  • Spielende: Es werden alle Züge bis zum Ende der Partie vorgespielt.

Modus

  • Varianten: Hierunter verbergen sich fünf weitere Schachvarianten: Los Alamos, Diana, Courtyard, Upside Down und Siebenunddreißig.
  • Zug berechnen: Fordert JavaChess auf, den nächsten Zug durchzuführen. Insbesondere ermöglicht diese Funktion dem Benutzer mit Schwarz zu spielen.
  • Züge eingeben: Die Engine von JavaChess wird abgeschaltet, so dass der Computer keine Gegenzüge berechnet.
  • Stellung aufbauen: Dieser Menüpunkt leitet den Modus für den Stellungsaufbau ein. Eine genauere Beschreibung folgt weiter unten.

Ansicht

  • Brett umdrehen: Das Schachbrett wird umgedreht. Dadurch wird das Spielen mit Schwarz für den Benutzer erleichtert.
  • Blind spielen: Es werden keine Figuren angezeigt. Das Blindspiel ist eine schöne Taktik-Übung für Fortgeschrittene.

Spielstufen

  • Suchtiefe: Erlaubt die Festlegung der Rechentiefe. Hinzu kommt noch die Schlagvertiefung. Rechentiefe plus Vertiefung müssen zwei ergeben.
  • Vertiefung: Zusätzlich zur Rechentiefe kann festgelegt werden, um wieviele Halbzüge die normale Suche im Falle eines Schlagabtausches erweitert wird.
  • Zeitgrenze: Legt die maximale Zeitspanne für die Berechnung eines Zuges fest. Wird die maximale Suchtiefe vorzeitig erreicht, so wird auch der berechnete Zug vorzeitig ausgegeben.

Matt

    JavaChess kann Aufgaben bis Matt in sieben Zügen lösen. Die Suche wird unmittelbar nach Auswahl eines Eintrages begonnen. Nach weiteren Lösungen wird mit Nebenlösungen suchen geforscht.

Info

Copyright und Versionsangabe.

Aufbau einer Stellung

Der Modus zum Stellung aufbauen kann am veränderten Menü erkannt werden. In diesem Modus wird die Belegung eines Spielfeldes durch Anklicken mit der Maus verändert. D.h., wird ein leeres Feld angeklickt, so erscheint dort ein Bauer. Wird dieser Bauer angeklickt, so wird er zum Springer u.s.w. Der König wird schließlich wieder zum Leerfeld. Das Menü erlaubt hierbei die Auswahl der Farbe der zu setzenden Figur.

ALT="Applets are ignored" Applets are unknown
Gleich mal ausprobieren ;-)

Das Menü beim Stellungsaufbau

  • Farbe wechseln: Wählt die Farbe der zu setzenden Figuren.
  • Brett räumen: Leert das Spielfeld.
  • Neu aufbauen: Stellungsaufbau wie zu Beginn einer Partie.
  • Aufbau beenden: Verlassen des Aufbau Modus. In einigen Fällen kann eine Fehlermeldung erfolgen und der Modus wird nicht verlassen.
Nach dem Aufbau ist diejenige Seite am Zug, für die zuletzt die Farbe der zu setzenden Figuren ausgewählt wurde.

Die Toolbar

Die Toolbar (rechts neben dem Spielfeld) bietet einen Schnellzugriff auf fünf Funktionen. Standardmäßig sind dies (von links nach rechts): Partieanfang, Zug zurück, Zug berechnen, Zug vor und Partieende. Im Aufbau Modus werden die o.g. Funktionen ignoriert. Die Funktionen des Menüs können über die Appletparameter FKT1, ..., FKT5 frei definiert werden.

Einbau des Applets

Der Einbau des Applets in die eigene Homepage ist recht simpel. Befinden sich alle Bilder und class-Dateien im gleichen Verzeichnis wie die html-Datei, so genügen die folgenden Zeilen: <APPLET CODEBASE="." CODE="chess/Chess.class" WIDTH=180 HEIGHT=180> ALT="Applets werden vom Browser ignoriert." Applets sind dem Browser unbekannt. </APPLET> Der Text unter Angabe von ALT wird im Browser angezeigt, wenn Java deaktiviert wurde. Der Text darunter wird angezeigt, wenn der Browser Java erst gar nicht unterstützt. Sind die class-Dateien in einem jar und einem cab-Archiv (wie beim Download-Paket), so müssen die folgenden Zeilen eingefügt werden: <APPLET CODEBASE="." CODE="chess/Chess.class" ARCHIVE="chess.jar" WIDTH=180 HEIGHT=180> <PARAM NAME="CABBASE" VALUE="chess.cab"> ALT="Applets werden vom Browser ignoriert." Applets sind dem Browser unbekannt. </APPLET> Das jar-Format wird vom Netscape und Appletviewer verwendet, während der Internet Explorer das cab-Format nutzt. Darüber hinaus können einige Parameter an das Applet übergeben werden. Die Übergabe erfolgt nach dem Schema: <PARAM NAME="PARAMETERNAME" VALUE="PARAMETERWERT"> also wie z.B. schon bei dem cab-Archiv geschehen. <PARAM NAME="CABBASE" VALUE="chess.cab">

Appletparameter

Die folgenden Parameter werden von JavaChess derzeit unterstützt.
  • WHTSQR: Farbe der weißen Felder im HTML-typischen Format.
  • BLKSQR: Farbe der schwarzen Felder (z.B. "#A0A0A0").
  • WHTLIGHT: Markierungsfarbe weißer Felder (für Computerzüge).
  • BLKLIGHT: Markierungsfarbe schwarzer Felder.
  • BGCOLOR: Hintergrundfarbe des Applets.

  • IMGPATH: Pfad zu den Figuren; ausgehend von CODEBASE.
  • BARX: x-Koordinate der linken oberen Ecke der Toolbarleiste.
  • BARY: y-Koordinate der linken oberen Ecke der Toolbarleiste.
  • ADDSPACE: Vergrößerung eines Feldes in Pixeln gegenüber der Größe der Figuren.

  • MENU: Werte sind ON oder OFF; schaltet das Menu ein/aus.
  • MOVE: Werte sind ON oder OFF; schaltet die Zugeingabe ein/aus.
  • ENGINE: Werte sind ON oder OFF; schaltet die Schachengine ein/aus.
  • LANGUAGE: Angabe eigener Texte für Menüs, Warnungen u.s.w. Einträge werden durch ein Trennzeichen separiert. Die Reihenfolge ist fest definiert und nur am Ende können Einträge weggelassen werden. Diese bleiben dann in deutscher Sprache. Beispiele für frz., englisch und deutsch.

  • RMTPORT: Der Port für die Fernsteuerung. Für Näheres hierzu siehe hier.
  • PORT: Der Port für den Schachserver. Für Näheres hierzu siehe hier.
  • PASS: Festlegung des Passwortes für den Server/Remote-Betrieb.

  • FKT1...FKT5: Festlegung der Funktionen der Toolbar-Leiste. Das Format ist wie bei EXECUTE. Es können somit auch ganze Folgen von Kommandos ausgeführt werden (Ausnahmen: Zug berechnen {PLAY}, Matt in X {MATE}, Blind spielen {BLIND} und Brett umdrehen {ROTATE} müssen einzeln stehen). Beispiel

  • EXECUTE: Führt eine Folge interner Kommandos aus. Jedes Kommando ist hier durch ein Semikolon abzuschließen. Dies kann z.B. genutzt werden, um eine Initialisierung für eine Märchenschachvariante durchzuführen oder eine Partie/Stellung im WWW wiederzugeben. Beispiele können von der Startseite aus erreicht werden. Zum Experimentieren und Verstehen ist auch die Tool-Box zu empfehlen. Ein Blick auf den resultierenden Quelltext klärt manche Frage.

Interne Kommandos

Diese Kommandos werden von JavaChess intern interpretiert. Genutzt werden sie von der Serverschnittstelle, von der Remoteschnittstelle, von der grafischen Benutzeroberfläche und von dem Appletparameter EXECUTE. Sie können ferner über eine Funktion des Applets auch von JavaScript aus aufgerufen werden (JavaScript Beispiel). Durch diesen Ansatz gestaltet sich JavaChess sehr flexibel in der Benutzung.

Spielzüge

Jeder Zug in Koordinaten- oder standardalgebraischer (SAN) Notation ist ein Kommando. Bei der Koordinatenform wird das Ausgangs- und Endfeld ausgeschrieben (z.B. e2e4 oder b8c6). Lediglich bei der Umwandlung muss hinter diesen Koordinaten noch ein Zusatz - die Umwandlungsfigur. Diese wird in Großbuchstaben gemäß der englischen Abkürzung angegeben, d.h. N für den Springer, B für den Läufer, R für den Turm und Q für die Dame (z.B. e7e8Q oder c2c1N).

Eine genaue Beschreibung der SAN befindet sich bei den FIDE-Regeln. Die Figuren müssen entsprechend der englischen Abkürzung eingegeben werden. Schach-, Matt- und Schlagsymbole können weggelassen werden (das sind: +, # und x).

Eine Zugliste kann mit dem Kommando GAME eingegeben werden (z.B. GAME e2e4 e5 g1f3 Nc6 Bb5 a7a6).

Funktionen des Menüs

Die folgende Tabelle spiegelt die Zuordnung von Menüfunktion und internem Kommando wieder. Jedes dieser Kommandos kann auch über die Client/Server-Schnittstelle versendet werden oder mittels JavaScript aufgerufen werden. Eine Testseite zum Ausprobieren findest Du hier.

NEW Neues Spiel
BACK Zug zurück
FORWARDZug vor
END Partieende
BEGIN Partiebeginn
PLAY Zug berechnen
PLAYER Züge eingeben
SETUPONStellung aufbauen
ROTATE Brett umdrehen
BLIND Blind spielen
PLY 3 Rechentiefe drei Halbzüge (Beispiel)
XPLY 5 Vertiefung fünf Halbzüge (Beispiel)
TIME 50Zeitgrenze fünf Sekunden (Beispiel)
MATE 4 Matt in vier Zügen suchen (Beispiel)

Aufbau einer Stellung

Das Kommando SETUPON leitet den Aufbau Modus ein. Sind alle Figuren wie erwünscht auf dem Brett, so kann der Modus mit SETUPOFF verlassen werden. CLEAR entleert das Brett und SETNEW stellt den Partieanfang her. mit SWITCH wird die Farbe der zu setzenden Figuren gewechselt. Mit NEXT a2 wird die nächste Figur auf das Feld a2 gesetzt (vergleiche hierzu Aufbau einer Stellung weiter oben).

Eine deutlich einfachere Lösung bietet das FEN-Kommando. Hierbei wird einfach der FEN-String der gewünschten Position übergeben, d.h. z.B. für die Ausgangsstellung:
FEN rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1.
Unter meinen Links findest du auch ein Tool für die FEN-String-Generierung.

Ergänzungen für Märchenschach

Die erste Erweiterung betrifft das FEN-Kommando: Um kleinere bzw. anders geformte Spielbretter zu erzeugen wird zusätzlich der Bindestrich verwendet. Prinzipiell muss das Spielfeld nämlich bei JavaChess immer acht mal acht Felder groß sein. Bei Diana Chess sieht der FEN-String z.B. wie folgt aus:
--------/rbnkbr--/pppppp--/6--/6--/PPPPPP--/RBNKBR--/--------
Der Bindestrich symbolisiert sozusagen ein nicht betretbares Feld, welches auch innerhalb des Spielbrettes vorkommen darf. Um bei kleineren Spielbrettern die Koordinaten korrekt wiederzugeben, verschiebt JavaChess ggf. intern die Darstellung.

Hinter dem FEN-String können weitere Angaben stehen:

EP En passent erlaubt (Standard)
NOEP Kein en passent
DOUBLE Bauer Doppelschritt erlaubt (Standard)
NODOUBLE Kein Bauer Doppelschritt
CASTLE Rochade erlaubt (Standard)
NOCASTLE Keine Rochade
PRMAHD Umwandlung, wenn Bauer Randfeld erreicht
PRMNOTAHDUmwandlung auf letzter Reihe bzw. gemäß WHT/BLKPRMROW (Standard)
WHTPRMROW 8Umwandlung der weißen Bauern auf der 8. Reihe (Beispiel)
BLKPRMROW 1Umwandlung der schwarzen Bauern auf der 1. Reihe (Beispiel)
PRMTO {QBN}Umwandlung nur in Dame, Läufer und Springer (Beispiel)

Danach sollte der Aufruf von FAIRY folgen. Dieser bewirkt, dass die angegebene FEN-Position (für den Aufruf von Neues Spiel) als Spielstart-Position festgelegt wird und der Turm mit den normalen Schrittweiten die Rochade-Figur ist (vorausgesetzt es gibt einen Turm links/rechts vom König). Es können weitere Änderungen folgen:

CASTLEWITH NLegt die Rochade mit dem Springer fest (Beispiel)
TARGET [22223333]Legt die Schrittweiten für die Rochade fest (Beispiel, Standard)

Bei TARGET stehen je zwei aufeinanderfolgende Zahlen für eine der Rochaden weiß/kurz, schwarz/kurz, weiß/lang, schwarz/lang. Bei einem Zahlenpaar steht die erste Ziffer für die Schrittweite des Königs, die Zweite für die Schrittweite der Rochade-Figur.

Die Tool-Box erleichtert das Handling, bietet allerdings nicht alle Möglichkeiten.

Sonstige

Die folgenden zwei Kommandos sind nicht über das Menü erreichbar: GETFEN und GETGAME. Ersteres liefert den FEN-String der aktuellen Position und Letzteres liefert die bis dahin gespielte Partie in Koordinatenform (hier probieren).

Druckversion der Anleitung