public static ImmutableList<Player> makePlayers(GameOptions options) throws IOException {
		
        PrologRunner plRunner = null;
        File plFile = null;
        if(options.getPlayerOneType() == PlayerType.prolog || options.getPlayerTwoType() == PlayerType.prolog) {
            // Extract the prolog source to a temp file...
            plFile = Utils.extractResourceToTempFile(Utils.DOTS_AND_BOXES_PROLOG_FILE);
		
            //O executavel, ex: swipl
            File prologExecutable;
            if("swipl".contains(SystemUtils.FILE_SEPARATOR))
                
                prologExecutable = new File("swipl");
            else {
                prologExecutable = Utils.findProgramOnPath("swipl");
                if(prologExecutable == null) {
                    System.err.println("Could not find program in the search path: " + "swipl");
                    System.exit(1);
                }
            }
			

            plRunner = new PrologRunner(prologExecutable);
        }
		
        return ImmutableList.of(
            makePlayerOne(options, plRunner, plFile),
            makePlayerTwo(options, plRunner, plFile));
	}