index Zurück zur Hilfe-Übersichthome Zurück zur Homepage

CQL - Markierung

Es ist möglich den Verlauf einer bestimmten Figur zu verfolgen. Jeder Figur in der Ausgangsstellung der Partie ist eine eindeutige Identität zugewiesen. Bauernumwandlungen ändern die Identität der Figur nicht. Eine Markierung ist eine benamte Identität, sie ist an die Identität gebunden. Eine Markierung repräsentiert eine einzelne Figur, deren Identität mit dieser Markierung verbunden ist.

Überall wo ein Figurenartbezeichner auftritt kann auch ein Markierungsname, beginnend mit dem Zeichen $, auftreten. Diese Figurenart vertritt exakt die Figur, die durch den Markierungnamen vertreten wird.

:forany in der Suchliste

Eine Markierung wird mit dem Schlüsselwort :forany in einer Suchliste definiert. Dieses Schlüsselwort erwartet zwei Argumente: den alphanumerischen Namen einer Markierung und einen Figurenartbezeichner.

Gedanklich filtert der Suchfilter nun für jede an eine Identität gebundene Markierung, so daß folgende Bedingungen erfüllt sind:

  • An eine Identität kann nicht mehr als eine Markierung gebunden werden.
  • Eine Markierung kann nur an eine Figur gebunden werden, die vom assoziierten Figurenartbezeichner zugelassen wurde.

Markierungen können nicht verwendet werden, wenn das Schlüsselwort :relation in einer der Positionslisten vorhanden ist.
Beides ist zu prüfen!

:tagmatch in der Positionsliste

Das Schlüsselwort :tagmatch in einer Positionsliste erwartet zwei Argumente, den Namen einer Markierung und einen Figurenbezeichner. Die Filterung der Positionsliste schlägt in einer Position fehl, wenn die zur Markierung gehörenden Figur- und Feldinformationen nicht mit dem gegebenen Figurenbezeichner übereinstimmen.

Als Beispiel nehmen wir an, wir haben eine Markierung "foo", und eine Position soll nur dann gefiltert werden, wenn "foo" ein weißer Bauer ist:

(position :tagmatch foo )

Figurenbezeichner und Markierungen

Eine Figurenbezeichner kann als Figurenartbezeichner den Namen einer Markierung erhalten, wobei das Zeichen '$' der Markierung vorangestellt wird. Solch ein Figurenartbezeichner repräsentiert die an diese Markierung gebundene Figur. Weil die Markierungsnamen alphanumerisch sind, müssen Felderbezeichner in solch einem Figurenbezeichner in Klammern eingeschlossen werden. Beispiel:

(position $foo[a1])

Die durch den Markierungsnamen repräsentierte Figur "foo" muß auf a1 stehen.

Ausführlichere Beispiele

Für ausführlichere Beispiele siehe: Beispiele für Markierungen.