Implement Kyoto Shogi
authorH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 10 Apr 2018 17:25:24 +0000 (19:25 +0200)
committerH.G.Muller <hgm@hgm-xboard.(none)>
Tue, 10 Apr 2018 17:25:24 +0000 (19:25 +0200)
commitce081b5204aa8e7deea2cc321277c77e11a1a88b
tree817d41765ae955b1ef77cf7dc537d530ec9e9c3a
parent0c6f316855a573034b0bd08fbe5d3518d7f461c9
Implement Kyoto Shogi

Previous commits have created all infra-structure needed to handle
Kyoto Shogi. This patch adds Kyoto Shogi to the list of variants,
plus the required info (setup FEN, piece IDs and moves, pieceToCharTable).
The strongest member of each alternating pair is defined as the promoted
piece, so that P, L and N will be subjected to the drop restrictions
(applied only to unpromoted pieces). As usual P and L will be piece 0 and 1,
while N will be the last unpromoted piece. A compacted version of the
piece-square data is included as initialized data, as the non-ergodic pieces
require very unusual and specific tables. This data is used to create a
separate PST for each piece type. (Two 5x5 tables packed into one normal
11x11 space to not exceed the normal number of tables.) The (common) promoGain
of all hand pieces had to be set to a non-zero value in order to prevent
overflow in the had PST, as the difference between hand value and value of
the unpromoted piece is unusually large (as promoted dropping is possible).
dropper.c