public static void main(String[] args) { AgentModel ab = new AgentModel(); ab.addAction("Atravessar 2 canibais", new AtravessarDoisCanibais()); ab.addAction("Atravessar 2 missionarios", new AtravessarDoisMissionarios()); ab.addAction("Atravessar 1 canibal", new AtravessarUmCanibal()); ab.addAction("Atravessar 1 missionario", new AtravessarUmMissionario()); ab.addAction("Atravessar 1 missionario e 1 canibal", new AtravessarUmMissionarioUmCanibal()); /** * Cria o estado inicial Com a posição do barco e o numero de canibais e missionarios nas * margens. */ Estado inicial = new Estado(); inicial.setBarcoPosicao(Estado.BARCO_ESQUERDA); inicial.setQtdCanibaisEsquerda(3); inicial.setQtdMissionariosEsquerda(3); ab.setInitState(inicial); Estado objetivo = new Estado(); objetivo.setQtdCanibaisDireita(3); objetivo.setQtdMissionariosDireita(3); objetivo.setBarcoPosicao(Estado.BARCO_DIREITA); ab.addObjective(objetivo); ab.setFunctions(new Funcoes()); ab.setType(IAgent.BREADTH_FIRST_SEARCH); IAgent agente = AgentFactory.createAgent(ab); INode nofinal = null; try { nofinal = agente.function(); } catch (EmptyBorderException e) { // TODO Auto-generated catch block e.printStackTrace(); } // List cam = agente.obterCaminho(nofinal); // agente.exibirGrafico(null); System.out.println(agente); System.out.println(nofinal); System.out.println(agente); System.out.println(nofinal); }