-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Nick Slerts edited this page Dec 30, 2015
·
28 revisions
####PLAN
- Will: enough to run engine in gui: main, uci
- Nick:
####TODO Nick
- breakdown
- board rep.
- generating moves
- pawns
- en passant
- promotions
- sliding pieces
- bishops
- rooks
- queens
- knights (just needs to be typed)
- king (just needs to be typed)
- castling
- white/black differences (just needs to be typed)
- pawns
- search eval
- minimax + alpha-beta
- iterative deepening
- heuristic function
- transposition tables
- zobrist keys
####TODO Will
- main, class Player
- class Thinker
- constructor, init engine
- run method. Main engine code starts here
- bestMove. returns the best move available
- class UCI
- go
- stop
- position
- newgame
- isReady
- setOptions?
- parse rest of line
####NOTES
- Player creates separate thread (object thinker) for engine searching, keeps watching input.
- All output: use System.out.println
- final implementation:
- Windows 64bit - for optimum bitboard implementation
- Launch4j - wrap .jar file into .exe to use with any chess GUI
- java 8.x - for unsigned long integer support
- bundled with Chess Arena