Wyjaśnienie
UCI oznacza Universal Chess Interface, protokół tekstowy umożliwiający komunikację interfejsu graficznego z . W tym protokole zwykłe posunięcie przesyła się jako zwięzły ciąg zawierający pole początkowe i pole docelowe.
Każde pole wykorzystuje literę linii od a do h oraz numer rzędu od 1 do 8. Dlatego e2e4 oznacza posunięcie z e2 na e4. Ciąg nie zawiera litery poruszanej bierki, znaku bicia ani oznaczenia szacha. Program wyprowadza te informacje z bieżącej pozycji.
Promocja dodaje piątą małą literę: q dla hetmana, r dla wieży, b dla gońca albo n dla skoczka. Roszada, wspólne posunięcie króla i wieży, jest kodowana jako ruch króla, na przykład e1g1 dla krótkiej roszady białych w szachach klasycznych.
Ciąg posunięcia jest tylko jedną częścią protokołu UCI. Osobne polecenia ustawiają pozycję, rozpoczynają przeszukiwanie i zwracają najlepsze posunięcie. Format różni się także od , która może dodawać oznaczenie zbitej bierki.
Użycie i kontekst
Format służy do jednoznacznej wymiany danych między programami, a nie do tworzenia wygodnego dla człowieka blankietu.
Częste nieporozumienia
Standardowa notacja algebraiczna
Standardowa notacja zwykle pomija pole początkowe i dodaje informacje przeznaczone dla czytelnika. UCI zawsze podaje pole początkowe i docelowe.
Pełny protokół UCI
Ciąg taki jak e2e4 przedstawia jedno posunięcie. Protokół zawiera również wiele poleceń sterujących silnikiem.
Źródła
- 1.UCI Protocol, Rudolf Huber and Stefan Meyer-Kahlen
- 2.UCI Protocol and Stockfish Commands, Stockfish
