Advertisement
LaCaraDeLaVerga

Funcion Camino( Explicada ) + trucos para Dragon Ball GT

Apr 27th, 2016
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.68 KB | None | 0 0
  1. Tuplacaminos  caminoMinimoProbable(){
  2. //****************************************DECLARO VARIABLES *************************** ************************************************ PRIMERO ANALIZAMOS QUE HACE CADA UNA  
  3.    
  4.     ArrayList<Barco> ret0 = new ArrayList<Barco>(); //lista de espejo 0
  5.     ArrayList<Barco> ret1 = new ArrayList<Barco>(); //lista de espejo 1
  6.     Tuplacaminos  ret = new Tuplacaminos();         //creo una tupla de caminos
  7.    
  8.     Integer _min = Integer.MAX_VALUE ;              //_min con un valor maximo int
  9.     Integer _barcoOrigen = 0;                       //barco actual
  10.     Integer _cantBarcos = 1;                        //contador de barcos
  11.  
  12.    
  13. //***********ACA ARRANCA*********************PRIMERO CON EL ESPEJO 0******************************************************************
  14.     // barco mas cercano al espejo
  15.     for (int i = 0; i< distanciaEspejo.length; i++){ //ciclo para buscar barco mas cercano a espejo 0
  16.         if (distanciaEspejo[i][0] < _min){
  17.             _min = distanciaEspejo[i][0];
  18.             _barcoOrigen = i;
  19.         }
  20.     }
  21.    
  22.     int [] quemado = new int [barcos.length];       //lista de barcos quemados
  23.     quemado[_barcoOrigen] = 1;                      //quemo primer barco
  24.     ret0.add(barcos[_barcoOrigen]);                 //agrego a barco quemado a camino de espejo 0
  25.  
  26.     Barco _barcoMasCercana = barcos[_barcoOrigen]; //guardo el barco que quemé en otra variable
  27.    
  28.    
  29. //********************************AHORA COMIENZA CICLO************** AHORA LE TOCA A ESPEJO 1 ******************************************************************  
  30.    
  31.     while (_cantBarcos < barcos.length ){   //comparo hasta q haya contado todos los barcos
  32.        
  33.        
  34. //*************************************PARTE DE CICLO PARA ESPEJO 1*******************************************************************    
  35.         _cantBarcos++;                    
  36.  
  37. //incremento cada vez q paso por un espejo ATENCION! DUPLIQUE ESTA INSTRUCCION. DOS VECES EN EL WHILE PORQUE PASAN DOS ESPEJOS.. QUEMO DOS BARCOS... POR LO TANTO EL CONTADOR AUMENTA DOS VECES.
  38.  
  39.         _barcoMasCercana = barcoMasCercano(ret0.get(ret0.size()-1).id, quemado);  //LEER ABAJO
  40.        
  41.         /*                                 ¿¿¿¿QUE HICE?                    
  42.           ACTUALIZO A "_barcoMasCercana" ( O SEA EL BARCO ACTUAL) CON EL BARCO MAS CERCANO,
  43.           LLAMANDO A LA FUNCION "barcoMasCercano".
  44.          
  45.                                         ¿¿¿QUE LE INGRESO???
  46.           EL BARCO QUE ACABÒ DE QUEMAR EL ESPEJO 1 ( ret0.get(ret0.size()-1).id ) QUE ESTÀ EN SU LISTA
  47.           Y LA LISTA DE QUEMADOS    
  48.          */
  49.    
  50.         //                                  LISTO! TENGO EL NUEVO BARCO.
  51.        
  52.         quemado[_barcoMasCercana.id] = 1;    //lo quemo
  53.        
  54.         //                                AHORA LO AGREGO A LA LISTA DEL ESPEJO 1
  55.         ret1.add(_barcoMasCercana);   //cambiè ret0.add(_barcoMasCercana)  por:  ret1.add(_barcoMasCercana)
  56.    
  57.        
  58.        
  59.         //                          ¿¿¿Y AHORA???? LE TOCA AL ESPEJO 0 OTRA VEZ
  60.  
  61.        
  62.        
  63. //**********************************PARTE DEL CICLO PARA ESPEJO 0***************************************************
  64.        
  65.         _cantBarcos++;                     //incremento cada vez q paso por un espejo
  66.        
  67.         _barcoMasCercana = barcoMasCercano(ret0.get(ret0.size()-1).id, quemado);
  68.        
  69.                                                 //ACA CAMBIÈ ALGO
  70.        
  71.         // PRIMERO EXPLICO QUE HACE:  busco el basco mas cercano al barco actual con la funcion barco mas cercano
  72.         //     le ingreso la id del ultimo barco que quemé con espejo cero y la lista de quemados
  73.         //me devuelve el barco mas cercano al barco ingresado y que no esta quemado
  74.        
  75.         /*                          ¿¿¿¿QUE CAMBIE???
  76.          *
  77.          * CUANDO INGRESO EN LA FUNCION barcoMasCercano LA ID DEL ULTIMO BARCO QUE QUEMÉ Y LA LISTA DE QUEMADOS
  78.         *  TENGO QUE INGRESAR LA ID DEL ULTIMO BARCO QUE QUEMÉ PERO... ¿¿CON QUE ESPEJO LO QUEME??
  79.         *  
  80.         *                                           CON ESPEJO 1!!
  81.         *                                          
  82.         *                 POR LO TANTO TENGO QUE INGRESAR LA LISTA DE BARCOS DE ESPEJO 1
  83.         *                
  84.         *                 ASI LA FUNCION barcoMasCercano BUSCA EL BARCO MAS CERCANO DEL ULTIMO BARCO QUEMADO
  85.         *                
  86.         *                 ENTONCES:
  87.         *                
  88.         *                A _barcoMasCercana = barcoMasCercano(ret0.get(ret0.size()-1).id, quemado);
  89.         *                
  90.         *                LO CAMBIO POR
  91.         *                
  92.         *                _barcoMasCercana = barcoMasCercano(ret1.get(ret1.size()-1).id, quemado);
  93.         */
  94.        
  95.         quemado[_barcoMasCercana.id] = 1;   //quemo el nuevo barco
  96.         ret0.add(_barcoMasCercana);         //agrego el barco que queme a la lista del espejo
  97.        
  98. //*********************************************************************************************************    
  99.        
  100.     }
  101.                                             //termina ciclo
  102.     ret.setC1(ret0);                        //agrego camino a la tupla
  103.  
  104.     ret.setC2(ret1);        // UNA VEZ IMPLEMENTADO.  PUEDO AGREGAR LA LISTA DEL ESPEJO 1 AL OBJETO TUPLA
  105.    
  106.     //ANTES ESTABA ret.setC1(ret1);  y pasó a ret.setC2(ret1);
  107.    
  108.     return ret;
  109. }
  110.  
  111.  
  112. /*
  113. Para desbloquear 6 Personajes bonus:
  114.  
  115. Sobre la barra de titulos pulsa:
  116.  
  117. adelante, atras, abajo, arriba, adelante, atras, abajo, arriba, triangulo, triangulo, triangulo, triangulo, ciruclo, ciruclo, ciruclo, ciruclo, X.
  118.  
  119.  
  120. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement