package modelPatricia; import java.util.ArrayList; import java.util.Random; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import modelPatricia.ReadingXMLGraphs.SaxHandler; import sim.engine.SimState; import sim.engine.Stoppable; import sim.field.grid.SparseGrid2D; public class Models extends SimState{ private static final String Geometry = null; public static int array [][]= new int [3][2]; int [][] arrayNuevoreceive; //int [][] valores = null; // public SparseGrid2D obstacles = new SparseGrid2D(Constants.GRID_WIDTH, Constants.GRID_HEIGHT); //public SparseGrid2D exit = new SparseGrid2D(Constants.GRID_WIDTH, Constants.GRID_HEIGHT); //public SparseGrid2D agent = new SparseGrid2D(Constants.GRID_WIDTH*Constants.ESCALA, Constants.GRID_HEIGHT*Constants.ESCALA); public SparseGrid2D obstacles2 = new SparseGrid2D(Constants.GRID_WIDTH, Constants.GRID_HEIGHT); //int [][] arrayObstaculos2 = null; int [][] arrayObstaculos = { {0,0},{4,0},{5,0},{6,0},{7,0},{8,0},{9,0},{10,0},{11,0},{12,0},{13,0},{14,0},{15,0},{16,0},{17,0},{18,0},{19,0},{20,0},{21,0},{22,0},{23,0},{24,0},{25,0},{26,0},{27,0},{28,0},{29,0}, {0,1},{4,1},{5,1},{6,1},{7,1},{8,1},{9,1},{10,1},{11,1},{12,1},{13,1},{14,1},{15,1},{16,1},{17,1},{18,1},{19,1},{20,1},{21,1},{22,1},{23,1},{24,1},{25,1},{26,1},{27,1},{28,1},{29,1}, {0,2},{4,2},{5,2},{6,2},{7,2},{8,2},{9,2},{10,2},{11,2},{12,2},{13,2},{14,2},{15,2},{16,2},{17,2},{18,2},{19,2},{20,2},{21,2},{22,2},{23,2},{24,2},{25,2},{26,2},{27,2},{28,2},{29,2}, {0,3},{28,3},{29,3}, {0,4},{28,4},{29,4}, {0,5},{3,5},{4,5},{5,5},{6,5},{7,5},{8,5},{9,5},{10,5},{13,5},{14,5},{15,5},{16,5},{19,5},{20,5},{21,5},{22,5},{23,5},{24,5},{25,5},{28,5},{29,5}, {0,6},{3,6},{4,6},{5,6},{6,6},{7,6},{8,6},{9,6},{10,6},{13,6},{14,6},{15,6},{16,6},{19,6},{20,6},{21,6},{22,6},{23,6},{24,6},{25,6},{28,6},{29,6}, {0,7},{3,7},{4,7},{5,7},{6,7},{7,7},{8,7},{9,7},{10,7},{13,7},{14,7},{15,7},{16,7},{19,7},{20,7},{21,7},{22,7},{23,7},{24,7},{25,7},{28,7},{29,7}, {0,8},{3,8},{4,8},{5,8},{6,8},{7,8},{8,8},{9,8},{10,8},{13,8},{14,8},{15,8},{16,8},{19,8},{20,8},{21,8},{22,8},{23,8},{24,8},{25,8},{28,8},{29,8}, {0,9},{13,9},{14,9},{15,9},{16,9}, {0,10},{13,10},{14,10},{15,10},{16,10}, {0,11},{3,11},{4,11},{5,11},{6,11},{7,11},{8,11},{9,11},{10,11},{13,11},{14,11},{15,11},{16,11},{19,11},{20,11},{21,11},{22,11},{23,11},{24,11},{25,11},{28,11},{29,11}, {0,12},{3,12},{4,12},{5,12},{6,12},{7,12},{8,12},{9,12},{10,12},{13,12},{14,12},{15,12},{16,12},{19,12},{20,12},{21,12},{22,12},{23,12},{24,12},{25,12},{28,12},{29,12}, {0,13},{3,13},{4,13},{5,13},{6,13},{7,13},{8,13},{9,13},{10,13},{13,13},{14,13},{15,13},{16,13},{19,13},{20,13},{21,13},{22,13},{23,13},{24,13},{25,13},{28,13},{29,13}, {0,14},{3,14},{4,14},{5,14},{6,14},{7,14},{8,14},{9,14},{10,14},{13,14},{14,14},{15,14},{16,14},{19,14},{20,14},{21,14},{22,14},{23,14},{24,14},{25,14},{28,14},{29,14}, {0,15},{28,15},{29,15}, {0,16},{28,16},{29,16}, {0,17},{4,17},{5,17},{6,17},{7,17},{8,17},{9,17},{10,17},{11,17},{12,17},{16,17},{17,17},{18,17},{19,17},{20,17},{21,17},{22,17},{23,17},{24,17},{25,17},{26,17},{27,17},{28,17},{29,17}, {0,18},{4,18},{5,18},{6,18},{7,18},{8,18},{9,18},{10,18},{11,18},{12,18},{16,18},{17,18},{18,18},{19,18},{20,18},{21,18},{22,18},{23,18},{24,18},{25,18},{26,18},{27,18},{28,18},{29,18}, {0,19},{1,19},{2,19},{3,19},{4,19},{5,19},{6,19},{7,19},{8,19},{9,19},{10,19},{11,19},{12,19},{16,19},{17,19},{18,19},{19,19},{20,19},{21,19},{22,19},{23,19},{24,19},{25,19},{26,19},{27,19},{28,19},{29,19}, }; int [][] arraySalidas = { {1,0},{2,0},{3,0}, {29,9}, {29,10}, {13,19},{14,19},{15,19} }; int [][] arrayAgentes; public Models(long seed){ super(seed); } private int convirtiendo [][]= new int [100][100]; private Attributes attrs; String pruebac = null; double[][] tryingArray = new SaxHandler().getSaveXMLdata(); { SaxHandler prueba = new SaxHandler(); try { prueba.startElement(null, null, Geometry, null); prueba.getSaveXMLdata(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } int [][] conEnteros = new int [100][100]; for(int i=0; i<100;i++) { for(int j=0; j<100;j++) { convirtiendo[i][j] = (int)Math.round(conEnteros[i][j]); System.out.println(tryingArray[0][0]); } } } /*public void reciveMason ( int [][] arrayNuevo ) { //for (int i=0; i<2; i++){ //arrayNuevoreceive[0][0]=arrayNuevo[0][0]; //arrayNuevoreceive[0][1]=arrayNuevo[0][1]; //System.out.println("jasdf"); arrayNuevoreceive = arrayNuevo; //System.out.println("Coordenada x: " + arrayNuevoreceive[0][0]+ "Coordenada y: " + arrayNuevoreceive[0][1]); //System.out.println("Coordenada x: " + arrayNuevoreceive[1][0]+ "Coordenada y: " + arrayNuevoreceive[1][1]); //System.out.println("Coordenada x: " + arrayNuevoreceive[2][0]+ "Coordenada y: " + arrayNuevoreceive[2][1]); //System.out.println("Coordenada x: " + arrayNuevoreceive[0][0]+ "Coordenada y: " + arrayNuevoreceive[0][1]); } */ public void start() { super.start(); // clear out the schedule // make new grids /* int [][] arrayObstaculos = { {0,0},{1,0},{2,0},{3,0},{4,0},{5,0},{6,0},{7,0},{8,0},{9,0},{10,0},{11,0},{12,0},{13,0},{14,0},{15,0},{16,0},{17,0},{18,0},{19,0},{20,0},{21,0},{22,0},{23,0},{24,0},{25,0},{26,0},{27,0},{28,0},{29,0}, {0,1},{1,1},{2,1},{3,1},{4,1},{5,1},{6,1},{7,1},{8,1},{9,1},{10,1},{11,1},{12,1},{13,1},{14,1},{15,1},{16,1},{17,1},{18,1},{19,1},{20,1},{21,1},{22,1},{23,1},{24,1},{25,1},{26,1},{27,1},{28,1},{29,1}, {0,2},{1,2},{2,2},{3,2},{4,2},{5,2},{6,2},{7,2},{8,2},{9,2},{10,2},{11,2},{12,2},{13,2},{14,2},{15,2},{16,2},{17,2},{18,2},{19,2},{20,2},{21,2},{22,2},{23,2},{24,2},{25,2},{26,2},{27,2},{28,2},{29,2}, {0,3},{1,3},{2,3},{3,3},{4,3},{5,3},{6,3},{7,3},{8,3},{9,3},{10,3},{11,3},{12,3},{13,3},{14,3},{15,3},{16,3},{17,3},{18,3},{19,3},{20,3},{21,3},{22,3},{23,3},{24,3},{25,3},{26,3},{27,3},{28,3},{29,3}, {0,4},{1,4},{2,4},{3,4},{4,4},{5,4},{6,4},{7,4},{8,4},{9,4},{10,4},{11,4},{12,4},{13,4},{14,4},{15,4},{16,4},{17,4},{18,4},{19,4},{20,4},{21,4},{22,4},{23,4},{24,4},{25,4},{26,4},{27,4},{28,4},{29,4}, {0,5},{1,5},{2,5},{3,5},{4,5},{5,5},{6,5},{7,5},{8,5},{9,5},{10,5},{11,5},{12,5},{13,5},{14,5},{15,5},{16,5},{17,5},{18,5},{19,5},{20,5},{21,5},{22,5},{23,5},{24,5},{25,5},{26,5},{27,5},{28,5},{29,5}, {0,6},{1,6},{2,6},{3,6},{4,6},{5,6},{6,6},{7,6},{8,6},{9,6},{10,6},{11,6},{12,6},{13,6},{14,6},{15,6},{16,6},{17,6},{18,6},{19,6},{20,6},{21,6},{22,6},{23,6},{24,6},{25,6},{26,6},{27,6},{28,6},{29,6}, {0,7},{1,7},{2,7},{3,7},{4,7},{5,7},{6,7},{7,7},{8,7},{9,7},{10,7},{11,7},{12,7},{13,7},{14,7},{15,7},{16,7},{17,7},{18,7},{19,7},{20,7},{21,7},{22,7},{23,7},{24,7},{25,7},{26,7},{27,7},{28,7},{29,7}, {0,8},{1,8},{2,8},{3,8},{4,8},{5,8},{6,8},{7,8},{8,8},{9,8},{10,8},{11,8},{12,8},{13,8},{14,8},{15,8},{16,8},{17,8},{18,8},{19,8},{20,8},{21,8},{22,8},{23,8},{24,8},{25,8},{26,8},{27,8},{28,8},{29,8}, {0,9},{1,9},{2,9},{3,9},{4,9},{5,9},{6,9},{7,9},{8,9},{9,9},{10,9},{11,9},{12,9},{13,9},{14,9},{15,9},{16,9},{17,9},{18,9},{19,9},{20,9},{21,9},{22,9},{23,9},{24,9},{25,9},{26,9},{27,9},{28,9},{29,9}, {0,10},{1,10},{2,10},{3,10},{4,10},{5,10},{6,10},{7,10},{8,10},{9,10},{10,10},{11,10},{12,10},{13,10},{14,10},{15,10},{16,10},{17,10},{18,10},{19,10},{20,10},{21,10},{22,10},{23,10},{24,10},{25,10},{26,10},{27,10},{28,10},{29,10}, {0,11},{1,11},{2,11},{3,11},{4,11},{5,11},{6,11},{7,11},{8,11},{9,11},{10,11},{11,11},{12,11},{13,11},{14,11},{15,11},{16,11},{17,11},{18,11},{19,11},{20,11},{21,11},{22,11},{23,11},{24,11},{25,11},{26,11},{27,11},{28,11},{29,11}, {0,12},{1,12},{2,12},{3,12},{4,12},{5,12},{6,12},{7,12},{8,12},{9,12},{10,12},{11,12},{12,12},{13,12},{14,12},{15,12},{16,12},{17,12},{18,12},{19,12},{20,12},{21,12},{22,12},{23,12},{24,12},{25,12},{26,12},{27,12},{28,12},{29,12}, {0,13},{1,13},{2,13},{3,13},{4,13},{5,13},{6,13},{7,13},{8,13},{9,13},{10,13},{11,13},{12,13},{13,13},{14,13},{15,13},{16,13},{17,13},{18,13},{19,13},{20,13},{21,13},{22,13},{23,13},{24,13},{25,13},{26,13},{27,13},{28,13},{29,13}, {0,14},{1,14},{2,14},{3,14},{4,14},{5,14},{6,14},{7,14},{8,14},{9,14},{10,14},{11,14},{12,14},{13,14},{14,14},{15,14},{16,14},{17,14},{18,14},{19,14},{20,14},{21,14},{22,14},{23,14},{24,14},{25,14},{26,14},{27,14},{28,14},{29,14}, {0,15},{1,15},{2,15},{3,15},{4,15},{5,15},{6,15},{7,15},{8,15},{9,15},{10,15},{11,15},{12,15},{13,15},{14,15},{15,15},{16,15},{17,15},{18,15},{19,15},{20,15},{21,15},{22,15},{23,15},{24,15},{25,15},{26,15},{27,15},{28,15},{29,15}, {0,16},{1,16},{2,16},{3,16},{4,16},{5,16},{6,16},{7,16},{8,16},{9,16},{10,16},{11,16},{12,16},{13,16},{14,16},{15,16},{16,16},{17,16},{18,16},{19,16},{20,16},{21,16},{22,16},{23,16},{24,16},{25,16},{26,16},{27,16},{28,16},{29,16}, {0,17},{1,17},{2,17},{3,17},{4,17},{5,17},{6,17},{7,17},{8,17},{9,17},{10,17},{11,17},{12,17},{13,17},{14,17},{15,17},{16,17},{17,17},{18,17},{19,17},{20,17},{21,17},{22,17},{23,17},{24,17},{25,17},{26,17},{27,17},{28,17},{29,17}, {0,18},{1,18},{2,18},{3,18},{4,18},{5,18},{6,18},{7,18},{8,18},{9,18},{10,18},{11,18},{12,18},{13,18},{14,18},{15,18},{16,18},{17,18},{18,18},{19,18},{20,18},{21,18},{22,18},{23,18},{24,18},{25,18},{26,18},{27,18},{28,18},{29,18}, {0,19},{1,19},{2,19},{3,19},{4,19},{5,19},{6,19},{7,19},{8,19},{9,19},{10,19},{11,19},{12,19},{13,19},{14,19},{15,19},{16,19},{17,19},{18,19},{19,19},{20,19},{21,19},{22,19},{23,19},{24,19},{25,19},{26,19},{27,19},{28,19},{29,19}, };*/ /* for(int i = 0; i< arrayObstaculos.length; i++){ Model a = new Model(); this.obstacles.setObjectLocation(a,arrayObstaculos[i][0], arrayObstaculos[i][1]); } */ for(int i = 0; i< arrayNuevoreceive.length; i++){ Model a = new Model(); System.out.println("Coordenada x: " + arrayNuevoreceive[0][0]+ "Coordenada y: " + arrayNuevoreceive[0][1]); this.obstacles2.setObjectLocation(a,arrayNuevoreceive[i][0], arrayNuevoreceive [i][1]); } /* for(int i = 0; i< arraySalidas.length; i++){ Model a = new Model(); this.exit.setObjectLocation(a,arraySalidas[i][0], arraySalidas[i][1]); } arrayAgentes = new int[Constants.NUMERO_AGENTES][2]; for(int i = 0; i < arrayAgentes.length; i++){ int x; int y; Random n = new Random(); do{ y = n.nextInt(Constants.GRID_WIDTH); x = n.nextInt(Constants.GRID_HEIGHT); }while(!(getElement(x, y) == Constants.ELEMENTO_VACIO)); arrayAgentes[i][0] = x*Constants.ESCALA; arrayAgentes[i][1] = y*Constants.ESCALA; } //Vemos el elemento visual de un agente, despues esto cambia, solo es una prueba. for(int i = 0; i< arrayAgentes.length; i++){ System.out.println("agente"); Agent a = new Agent(); Stoppable s = schedule.scheduleRepeating(a); a.fixStoppable(s); this.agent.setObjectLocation(a,arrayAgentes[i][0], arrayAgentes[i][1]); }*/ } /* public int getElement(int x, int y){ System.out.println("Elemento: "+ x + ", " + y); if(busquedaElemento(arraySalidas, x, y) == true){ return Constants.ELEMENTO_SALIDA; } if(busquedaElemento(arrayObstaculos, x, y) == true){ return Constants.ELEMENTO_INSUPERABLE; } return Constants.ELEMENTO_VACIO; } public boolean busquedaElemento(int[][] array, int x, int y){ for(int i = 0; i< array.length; i++){ if(array[i][0] == x && array[i][1] == y){ return true; } } return false; } */ }