假设GUI促进了人类用户和引擎之间的匹配。假设用户以开始
e2e4。然后,命令将类似于:
// GUI: tell the engine to use the UCI protocoluci// ENGINE: identify id name Chess Engineid author John Smith// ENGINE: send the options that can be changed// in this case the hash size can have a value from 1 to 128 MBoption name Hash type spin default 1 min 1 max 128// ENGINE: sent all parameters and is readyuciok// GUI: set hash to 32 MBsetoption name Hash value 32// GUI: waiting for the engine to finish initializingisready// ENGINE: finished setting up the internal values and is ready to startreadyok// GUI: let the engine know if starting a new gameucinewgame// GUI: tell the engine the position to searchposition startpos moves e2e4// GUI: tell the engine to start searching// in this case give it the timing information in millisecondsgo wtime 122000 btime 120000 winc 2000 binc 2000// ENGINE: send search information continuously during search// this includes depth, search value, time, nodes, speed, and pv lineinfo depth 1 score cp -1 time 10 nodes 26 nps 633 pv e7e6info depth 2 score cp -38 time 22 nodes 132 nps 2659 pv e7e6 e2e4info depth 3 score cp -6 time 31 nodes 533 nps 10690 pv d7d5 e2e3 e7e6info depth 4 score cp -30 time 55 nodes 1292 nps 25606 pv d7d5 e2e3 e7e6 g1f3// ENGINE: return the best move foundbestmove d7d5
我简化了交互的许多方面。一个功能齐全的GUI必须支持许多其他命令,您可以在UCI规范中找到该命令(另一个来源)。您还可以查看现有GUI的工作方式。例如,如果您使用Arena,则可以按F4键以查看命令交互的日志,



