- Transposition tables are implemented along with a new draw detection scheme
- There is now a zobrist key field in the Board-class, the key is updated when making and unmaking moves, but can also be generated from scratch with the static getZobristKey-method in the Zobrist-class
- Changed pv search so it is only used if a best move has been found
- Sorting moves is now done with a much faster bubble-sort method
- Changed move generation slightly and added a new filterQuis-method which adds the right values to the captures
- Quiescent search now re-uses the moves generated in the alphaBeta method
- Mediocre is now developed in Eclipse so the folders look a bit different
- The .bat-files now point to "/bin/" so they work as long as they are kept in the original folder (you should not have to update the path in them anymore)
- Sorting methods are completely rewritten, based on orderingValue
- Preliminary orderingValues are added to moves at generation time
- Move-objects now have a orderingValue used in sorting
- Implemented fixed depth search, call Engine.search() with depth>0 to use, call with depth=0 for time control mode
- The line input can now be used to play games with fixed depth (5 for now) if you enter moves on the form "e2e4" etc. It is still very crude and is supposed to be used for testing
- Plus many minor tweaks and changes
Note: Although I have tested this version extensively I am quite sure there is still a bug or two hiding, feel free to report any odd behaviour you might find. Also I wanted to get this out as fast as possible so some of the new code lack comments, and there might be some trace code still left in. Nothing that effects the play though.
Thanks to Casper W. Berg, Mark Lefler and Gary on TalkChess.com who helped me with a few bugs.
I forgot to change the version numbers in the release. This is now fixed.