Changes

Jump to: navigation, search

User Interface

12 bytes added, 19:08, 23 May 2018
m
no edit summary
''see main article [[GUI|Graphical User Interface]]''.
With the advent of operating systems with [https://en.wikipedia.org/wiki/Graphical_user_interface graphical user interfaces], also encouraged by additional input devices such as a [https://en.wikipedia.org/wiki/Mouse_%28computing%29 computer mouse] for asynchronous user interaction, the embedding of a chess engine with a classical CLI inside the [https://en.wikipedia.org/wiki/Event-driven_architecture event-driven architecture] of a graphical user interface became more difficult. Today, most programmers rely on an external event driven [[GUI|graphical user interface]] applications using [https://en.wikipedia.org/wiki/Standard_streams standard streams] or [https://en.wikipedia.org/wiki/Pipeline_%28Unix%29 pipelines] to communicate with the GUI via [[Protocols|protocols]] such as the [[Chess Engine Communication Protocol]] and the [[UCI|Universal Chess Interface]]. The external GUI application constitutes the MVC view and controller, and more or less even parts of a (redundant) game model (or even multi-game model), to make the GUI aware of its own game states to even make decisions on behalf of the engine, such as move selection from opening books and [[Endgame Tablebases|endgame tablebases]], draw claims and offers and to finally declare the game over. These game interacting features of the external GUI application in conjunction with certain protocols such as UCI by far exceeds what a pure chess user interface was initially designed for - controller and view only, enter legal moves and render the state of the game, which has become disputed issue in playing official [[Tournamentsand Matches|tournament]] games.
=UI Topics=

Navigation menu