// Searches for a new best move public override Move getInput(Board B) { MinMax minMaxSearch = new MinMax(); Move bestMove; put(0); bestMove = minMaxSearch.runMinMax(B, colour, getSearchDepth(B), true, MinMax.MINIMUM, MinMax.MAXIMUM, put).Item1; if (bestMove != null) { if (bestMove.Equals(secondToLastMove)) { repetitionMod += 1; } else { repetitionMod = 0; } secondToLastMove = lastMove; lastMove = bestMove; return bestMove; } else { repetitionMod += 1; return new Move(); } }
public AiAgent(string col, uint diff, MinMax.putScore put) : base(col) { this.put = put; difficulty = diff; }