int alphaBeta(NodeLVL1 node, int alpha, int beta, int player, int depth) 
            throws RuntimeException, Exception{
        if (stopped) {
            stopped = false;
            //throw new RuntimeException("Stopped Alpha-beta.");
            System.out.println("I don't care :(");
        }
        count++;
        DraughtsState state = node.getState();
        if (depth == 0){
            return player * node.getValue(node.getState());
        }
        for (Move move : state.getMoves()){
            state.doMove(move);
            alpha = max(alpha, -alphaBeta(new NodeLVL1(state.clone()), 
                    -beta, -alpha, -(player), depth - 1));
            state.undoMove(move);
            if (beta >= alpha){
                return alpha;
            }
        }
        return alpha;
    }