⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simuladorwavefront.java

📁 simulador del metodo wavefron para enconctrar trayectorias
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
            comparadorMenosUno = String.valueOf(comparador - 1);            for (int i = 0; i < rows; i++) {                for (int j = 0; j < cols; j++) {                    if (waveFrontjTable.getValueAt(i, j).toString().equals(comparadorMenosUno.toString())) {                        int fila = i;                        int columna = j;                        caso = determinarPosicion(columna, fila);                        marcarValoresMatriz(fila, columna, comparador.toString(), caso);                    }                }            }            comparador++;        }        System.out.println(".:FIN SIMULACION WAVE-FRONT:.");}//GEN-LAST:event_simularWaveFrontjButtonActionPerformed    public boolean validarQs() {        int columnaQs = qStr[0][0];        int filaQs = qStr[0][1];        Integer valorMatrizNorteQs;        Integer valorMatrizSurQs;        Integer valorMatrizOesteQs;        Integer valorMatrizEsteQs;        Integer valorMatrizNoresteQs;        Integer valorMatrizNoroesteQs;        Integer valorMatrizSuroesteQs;        Integer valorMatrizSuresteQs;        casoQs = determinarPosicion(columnaQs, filaQs);        switch (casoQs) {            case 1:                valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString());                valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString());                valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString());                if (valorMatrizEsteQs > 1 || valorMatrizSurQs > 1 || valorMatrizSuresteQs > 1) {                    return true;                }                break;            case 2:                valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString());                valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString());                valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString());                if (valorMatrizOesteQs > 1 || valorMatrizSurQs > 1 || valorMatrizSuroesteQs > 1) {                    return true;                }                break;            case 3:                valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString());                valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString());                valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString());                if (valorMatrizNorteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoresteQs > 1) {                    return true;                }                break;            case 4:                valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString());                valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString());                valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString());                if (valorMatrizNorteQs > 1 || valorMatrizOesteQs > 1 || valorMatrizNoroesteQs > 1) {                    return true;                }                break;            case 5:                valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString());                valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString());                valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString());                valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString());                valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString());                if (valorMatrizSurQs > 1 || valorMatrizOesteQs > 1 || valorMatrizSuroesteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizSuresteQs > 1) {                    return true;                }                break;            case 6:                valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString());                valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString());                valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString());                valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString());                valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString());                if (valorMatrizNorteQs > 1 || valorMatrizOesteQs > 1 || valorMatrizNoroesteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoresteQs > 1) {                    return true;                }                break;            case 7:                valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString());                valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString());                valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString());                valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString());                valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString());                if (valorMatrizNorteQs > 1 || valorMatrizSurQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoresteQs > 1 || valorMatrizSuresteQs > 1) {                    return true;                }                break;            case 8:                valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString());                valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString());                valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString());                valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString());                valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString());                if (valorMatrizNorteQs > 1 || valorMatrizSurQs > 1 || valorMatrizOesteQs > 1 || valorMatrizNoroesteQs > 1 || valorMatrizSuroesteQs > 1) {                    return true;                }                break;            case 9:                valorMatrizNorteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs).toString());                valorMatrizSurQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs).toString());                valorMatrizOesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs - 1).toString());                valorMatrizEsteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs, columnaQs + 1).toString());                valorMatrizNoresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs + 1).toString());                valorMatrizNoroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs - 1, columnaQs - 1).toString());                valorMatrizSuroesteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs - 1).toString());                valorMatrizSuresteQs = Integer.valueOf(waveFrontjTable.getValueAt(filaQs + 1, columnaQs + 1).toString());                if (valorMatrizNorteQs > 1 || valorMatrizSurQs > 1 || valorMatrizOesteQs > 1 || valorMatrizEsteQs > 1 || valorMatrizNoroesteQs > 1 || valorMatrizNoresteQs > 1 || valorMatrizSuroesteQs > 1 || valorMatrizSuresteQs > 1) {                    return true;                }                break;        }        return false;    }    public int determinarPosicion(int columna, int fila) {        if (columna == 0 && fila == 0) {            caso = 1;        } else if (columna == max && fila == 0) {            caso = 2;        } else if (columna == 0 && fila == max) {            caso = 3;        } else if (columna == max && fila == max) {            caso = 4;        } else if (columna > 0 && fila == 0) {            caso = 5;        } else if (columna > 0 && fila == max) {            caso = 6;        } else if (columna == 0 && fila > 0) {            caso = 7;        } else if (columna == max && fila > 0) {            caso = 8;        } else if (columna > 0 && fila > 0) {            caso = 9;        }        return caso;    }    void marcarValoresMatriz(int nRow, int nCol, String comparador, int caso) {        int filaActual = nRow;        int columnaActual = nCol;        switch (caso) {            case 1:                valorMatrizEste = waveFrontjTable.getValueAt(filaActual, columnaActual + 1).toString();                if (valorMatrizEste.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual, columnaActual + 1);                }                valorMatrizSur = waveFrontjTable.getValueAt(filaActual + 1, columnaActual).toString();                if (valorMatrizSur.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual);                }                valorMatrizSureste = waveFrontjTable.getValueAt(filaActual + 1, columnaActual + 1).toString();                if (valorMatrizSureste.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual + 1);                }                break;            case 2:                valorMatrizOeste = waveFrontjTable.getValueAt(filaActual, columnaActual - 1).toString();                if (valorMatrizOeste.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual, columnaActual - 1);                }                valorMatrizSur = waveFrontjTable.getValueAt(filaActual + 1, columnaActual).toString();                if (valorMatrizSur.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual);                }                valorMatrizSuroeste = waveFrontjTable.getValueAt(filaActual + 1, columnaActual - 1).toString();                if (valorMatrizSuroeste.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual + 1, columnaActual - 1);                }                break;            case 3:                valorMatrizNorte = waveFrontjTable.getValueAt(filaActual - 1, columnaActual).toString();                if (valorMatrizNorte.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual - 1, columnaActual);                }                valorMatrizEste = waveFrontjTable.getValueAt(filaActual, columnaActual + 1).toString();                if (valorMatrizEste.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual, columnaActual + 1);                }                valorMatrizNoreste = waveFrontjTable.getValueAt(filaActual - 1, columnaActual + 1).toString();                if (valorMatrizNoreste.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual - 1, columnaActual + 1);                }                break;            case 4:                valorMatrizNorte = waveFrontjTable.getValueAt(filaActual - 1, columnaActual).toString();                if (valorMatrizNorte.equals("0")) {                    waveFrontjTable.setValueAt(Integer.valueOf(comparador), filaActual - 1, columnaActual);                }                valorMatrizOeste = waveFrontjTable.getValueAt(filaActual, columnaActual - 1).toString();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -