Changes

Jump to: navigation, search

GUI

12 bytes added, 19:08, 23 May 2018
no edit summary
=Chess GUI Issues=
Today, most programmers rely on external event driven GUI 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]] or the [[UCI|Universal Chess Interface]]. The external GUI application constitutes the [https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller 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. Sharing code of external GUIs, with potential game decisive move selection, time allocation and draw claiming, by multiple engines in official [[Tournamentsand Matches|tournaments]] is a heavily discussed topic <ref>[http://www.talkchess.com/forum/viewtopic.php?t=21168 What's the role of the GUI?] by Zlatnik, [[CCC]], May 15, 2008</ref> .
=Front End=

Navigation menu