Implement castling
authorH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 28 Dec 2016 16:40:27 +0000 (17:40 +0100)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Wed, 28 Dec 2016 16:50:53 +0000 (17:50 +0100)
commit188d3f8efde66d94b32eade3dc5063578afeb435
tree447f56aff069ccbe56fa0779f519de85b1cb215b
parentd5930321138c6673e69d8aca9e9d5c2b99e0d28d
Implement castling

MoveGen() now also generates castlings. Legality is tested by the kludge
of replacing the Rook by a second King during the (early) move generation
in the next ply. MakeMove() is refactored to make sure both King and Rook
victim are saved. In addition promotion is now implemented by OR'ing the
promoInc into the piece code,tomake the engine resistent to promoting an
already-promoted piece (e.g. due to hash-move mixup).
dropper.c