xboard is a candidate because it supports the Chess Engine Communication Protocol. At the moment only a subset of commands is used thus this is a good chance to get experience in GUI programming by creating a tool on its own.
For the GUI there are three parts of interest.
a representation of a chess position (chess board)
a text field with a possibility to describe the current position
a history of plys in combination with a preview of moves, maybe also evaluations
The first step is a dump display that reacts only on input by a program and realizes only the first item: the chess board representation. The only actions to be performed by that GUI is to minimize/maximize the main frame and to close that frame.
The GUI has to react on setting up a chess position, to place to or to remove a piece from a location of the chess position representation. The GUI is completely controlled by an application.
Last edit: Jörg Dippel 2013-01-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The idea of a history of plys in combination with a preview of moves is a kind of a stack. If you have got a position you have a history of plys and a proposal for a continuation of a game. The current position gets pinned and you can select a position in that chained list of plys.
For each position you can also select the direct related best preview or a ply from a subset of valid moves. A selection - only if it is not identity - causes the redefinition of the chess position.
An easy way to implement this is a two-dimensional representation with buttons.
An alternative would be a kind of a mind map.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is need of a GUI.
xboard is a candidate because it supports the Chess Engine Communication Protocol. At the moment only a subset of commands is used thus this is a good chance to get experience in GUI programming by creating a tool on its own.
For the GUI there are three parts of interest.
The first step is a dump display that reacts only on input by a program and realizes only the first item: the chess board representation. The only actions to be performed by that GUI is to minimize/maximize the main frame and to close that frame.
The GUI has to react on setting up a chess position, to place to or to remove a piece from a location of the chess position representation. The GUI is completely controlled by an application.
Last edit: Jörg Dippel 2013-01-20
The idea of a history of plys in combination with a preview of moves is a kind of a stack. If you have got a position you have a history of plys and a proposal for a continuation of a game. The current position gets pinned and you can select a position in that chained list of plys.
For each position you can also select the direct related best preview or a ply from a subset of valid moves. A selection - only if it is not identity - causes the redefinition of the chess position.
An easy way to implement this is a two-dimensional representation with buttons.
An alternative would be a kind of a mind map.