mirror of
https://github.com/peterosterlund2/droidfish.git
synced 2025-12-15 10:22:40 +01:00
DroidFish: Don't try to perform syzygy probes for illegal positions.
This commit is contained in:
@@ -20,11 +20,13 @@ package org.petero.droidfish.tb;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.petero.droidfish.gamelogic.ChessParseError;
|
||||||
import org.petero.droidfish.gamelogic.Move;
|
import org.petero.droidfish.gamelogic.Move;
|
||||||
import org.petero.droidfish.gamelogic.MoveGen;
|
import org.petero.droidfish.gamelogic.MoveGen;
|
||||||
import org.petero.droidfish.gamelogic.Pair;
|
import org.petero.droidfish.gamelogic.Pair;
|
||||||
import org.petero.droidfish.gamelogic.Piece;
|
import org.petero.droidfish.gamelogic.Piece;
|
||||||
import org.petero.droidfish.gamelogic.Position;
|
import org.petero.droidfish.gamelogic.Position;
|
||||||
|
import org.petero.droidfish.gamelogic.TextIO;
|
||||||
import org.petero.droidfish.gamelogic.UndoInfo;
|
import org.petero.droidfish.gamelogic.UndoInfo;
|
||||||
|
|
||||||
/** Interface between Position class and GTB/RTB probing code. */
|
/** Interface between Position class and GTB/RTB probing code. */
|
||||||
@@ -217,6 +219,13 @@ public class Probe {
|
|||||||
if (pos.nPieces() > 6)
|
if (pos.nPieces() > 6)
|
||||||
return new ProbeResult(ProbeResult.Type.NONE, 0, 0);
|
return new ProbeResult(ProbeResult.Type.NONE, 0, 0);
|
||||||
|
|
||||||
|
// Make sure position is valid. Required by native move generation code.
|
||||||
|
try {
|
||||||
|
TextIO.readFEN(TextIO.toFEN(pos));
|
||||||
|
} catch (ChessParseError ex) {
|
||||||
|
return new ProbeResult(ProbeResult.Type.NONE, 0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
rtb.initIfNeeded();
|
rtb.initIfNeeded();
|
||||||
|
|
||||||
byte[] squares = new byte[64];
|
byte[] squares = new byte[64];
|
||||||
|
|||||||
Reference in New Issue
Block a user