import java.io.File; import java.util.Scanner; import java.util.ArrayList; class Main { // Abre o arquivo e conforme vai lendo cada linha, vai chamando as funções public static void readComandsToStart(String[] args) { try { // Instancia os objetos para leitura de arquivos e captura as linhas Scanner input = new Scanner(System.in); File file = new File(args[0]); input = new Scanner(file); // Inicializa um objeto do tipo GAME // com as configuracoes presentes na primeira linha do arquivo TXT Game gm = new Game(input.nextInt(), input.nextInt()); input.nextLine(); //Limpeza de buffer de quebra de linha // Loop para preencher as peças do tabuleiro for (int linha = 0; linha < gm.getLines(); linha++) { String linhaTabuleiro = input.nextLine(); gm.preencheTabuleiro(linhaTabuleiro, linha); //System.out.println("\nInserindo no tabuleiro na posicao \t" + linha + "\tPecas: \t" + linhaTabuleiro); } // Carregar no jogo os itens adicionais gm.setNumeroItens(Integer.parseInt(input.nextLine())); for(int linha = 0; linha < gm.getNumeroItens(); linha++){ String linhaPecas = input.nextLine(); gm.preencheItens(linhaPecas, linha) ; //System.out.println("\nInserindo item \t" + i + "\tDetalhes: \t" + linhaPecas); } // Carregar a origem -> destino Posicao posicaoInicial = new Posicao(input.nextInt(), input.nextInt()); Posicao posicaoFinal = new Posicao(input.nextInt(), input.nextInt()); // Roda a simulação conforme argumento recebido int criterio = Integer.parseInt(args[1]); Solucao solucaoFinal = gm.play(posicaoInicial, posicaoFinal, criterio); gm.imprimiResultados(solucaoFinal); // Fecha o arquivo input.close(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { for(int i=1; i <= 4; i++){ String simulacao = String.valueOf(i); String[] temp = {"input.txt", simulacao}; readComandsToStart(temp); System.out.println("\n\n ----------- FIM ----> \t Simulacao: " + i + " -----------"); } /* TEMPORARIAMENTE BLOQUEADO, FALTA DESCOBRIR COMO CONFIGURAR OS ARGUMENTOS DE EXECUÇÃO NESSE SITE if (args.length > 1) readComandsToStart(args); // Se os parâmetros foram recebidos, então o processo pode começar else System.out.println("Argumentos invalidos"); */ } }