int MonteCarloPluginAdministration::selectRandomMoveCoordinate(PointSet emptyPoints/*, List<MoveFilter> filterList*/) { assert(_illegalStack.isEmpty()); while (emptyPoints.getSize()!=0) { int xy = emptyPoints.get(RANDOM.nextInt(emptyPoints.getSize())); if (!isVerboten(xy/*,filterList*/) && isLegal(xy)) { while (!_illegalStack.isEmpty()) emptyPoints.add(_illegalStack.pop()); return xy; } emptyPoints.remove(xy); _illegalStack.push(xy); } while (!_illegalStack.isEmpty()) emptyPoints.add(_illegalStack.pop()); return PASS; }