Esempio n. 1
0
    public int GetValue(int depth, ulong move)
    {
        var killerMove = KillerMove.Parse(move);

        if (killerMove == _killerMoves[depth][0])
        {
            return(2);
        }
        return(killerMove == _killerMoves[depth][1] ? 1 : 0);
    }
Esempio n. 2
0
    public void Update(int depth, ulong move)
    {
        var killerMove = KillerMove.Parse(move);

        if (killerMove == _killerMoves[depth][0])
        {
            return;                                       // Move already is the best killer move.
        }
        // Shift and update killer move.
        _killerMoves[depth][1] = _killerMoves[depth][0];
        _killerMoves[depth][0] = killerMove;
    }