public void start(Engine engine, Side side) { sideOfAI = side; // init move Evaluator moveEvaluator.setAISide(side); moveEvaluator.setEngine(engine); moveEvaluator.setHaltingCondition( new IHaltingCondition() { @Override public void isTimeLimitReached() throws SoftTimeLimitException { if (resourceManager.timeLimitReached() || resourceManager.memoryLimitReached()) { throw new SoftTimeLimitException(); } } }); // init heuristics heuristics.setSide(side); heuristics.setEngine(engine); heuristics.setMode(IHeuristics.Mode.aggressive); heuristics.init(); }