chess-38 Player abstraction
Renaming to indicate clearly the desired state.
chess-38 Player abstraction
Dummy EnginePlayer created.
chess-38 Player abstraction
Exceptional processing of undesired method.
chess-38 Player abstraction
Reduced player interface. However this change made WinboardPlayer not working (it doesn't notify us about the move and crashes NPE). Bad news is that this is only manually test-covered now...
chess-38 Player abstraction
Test-covered user move exception!
Removed usage of NeedToGoListener that caused NPE. However now we won't receive notifications about the game start and actual move.
Established bi-directional relation between 2 players. Now they inform each other about the actions of moves! The application seems working as before.
Removed already unused interface - decision how to react on moves is now taken by the implementor of Player interface himself and not by any external source (however it could be a nice abstraction of teaching... over-projecting anyway so far)
Removed unneeded code accidentally copied from another test.
Fixed NPE: now a player must have an opponent to send moves to.
Test that shows we even don't try processing offer draw from Winboard correctly
First phase of improvement --> call the desired listener.
Informing the opponent about the draw offer from Winboard.
Removed extra code about offer draw. However manual test of draw feature now fail.
Draw offer policy implemented in the simple engine - always accept.
Comment.
Extracted the player to a separate package - it's not in any way related to MainRunner.
Removed unused listener - its functionality is pulled down to the Player interface.
Removed extra ResignListener interface.
Packages refactored according to the new vision: WinBoardPlayer is just an implementation of generic Player interface.
Due to this fact it's not important it's 'gui'-related.