An html version of knightchase.cql
; knightchase.cql can be downloaded here.
;Search for positions in which a knight chases a knight of another color, continually offering to sacrifice itself
(match
:pgn heijden.pgn
:output out.pgn
:forany chaser [nN] ; this is the chasing knight
:forany chasee [Nn] ; this is the chased knight
(position
:tagmatch chaser n ; make sure the chaser is really a black knight,
;not a N or a pawn that will promote to one
:tagmatch chasee N ; make sure the chasee is really a white knight,
; and not a n or a pawn that will promote to one
:sequence ((position :wtm :attackcount $chaser $chasee 1 :movefrom $chasee)
(position :movefrom $chaser)
(position :attackcount $chaser $chasee 1))
:matchcount 4 100
:flipcolor
))