Refactoring of material-draws adjudication code
authorH.G. Muller <h.g.muller@hccnet.nl>
Sun, 11 Jul 2010 09:06:27 +0000 (11:06 +0200)
committerArun Persaud <arun@nubati.net>
Wed, 14 Jul 2010 04:25:39 +0000 (21:25 -0700)
commitabb44738f4b07bf3e1bab525d91cad6d6dc5eada
treedb671bba5763c3d38906857d4135088080c50e04
parent75c82871211daf66c50935b39427e78922d20a5e
Refactoring of material-draws adjudication code

Insufficient mating material is now determined per side individually, by
testing for MatingPotential of each side. If both lack mating potential
the game is adjudicated as draw (if the -materialDraws option is set).

This way MatingPotential() can later also be used to correct losses by
forfeit to draws (which currently is only done when the opponent has a
bare King).

The accuracy of this type of adjudication in Xiangqi has been highly
improved.
backend.c