DokChess itself has no graphical user interface. It interacts via the XBoard protocol with the outside world (→ Decision 9.1 “How does the engine communicate with the outside world?").
The XBoard protocol is text-based. If you have mastered the main commands (see Figure …) starting DokChess in a command line (Unix shell, Windows command prompt, …) enables you to interact with the engine. The table below shows a sample dialog, all commands are terminated with a new line). By default the engine plays black. You can change this with the “white” command of XBoard.
Client → DokChess | DokChess → Client | Comments |
---|---|---|
xboard | client wants to use the XBoard-Protocol (required since engines partly understand other, sometimes even multiple protocols) | |
(new line) | ||
protover 2 | protocol version 2 | |
feature done=1 | line by line notification of additional features of the engine (here: none) | |
e2e4 | white plays pawn e2-e42 | |
move b8c6 | black (DokChess) plays knight b8-c6 | |
quit | client ends the game (DokChess terminates) |
Table: Example communication bewtween a client and DokChess (XBoard)
Mann+2009 describes the protocol itself in detail. In DokChess the Text UI subsystem is responsible for the protocol implementation (→ Building Block View 5.2).
A more typical use of DokChess is a graphical chess frontend like Arena (see image below). It accepts the moves of the opponent in a comfortable interface, passes them to DokChess in the form of XBoard commands like in the table above (column “Client → DokChess”) and translates the answers (column “DokChess → Client”) graphically.
Fig.: DokChess combined with the Arena chess frontend under Windows