jueves, 24 de julio de 2014

La tournée de un caballo por esos tableros de Dios -- en Java -- . (Knight's tour in Java language, y II)


Dejé la anterior entrada colgada hace ya un año y medio, faltando algunas cosas que, si bien no eran importantes para la interpretación de la resolución, lo eran para presentar el programa para su uso.

     Quisiera dar una excusa del tipo: “Un nutrido grupo de bellezas eslavas – que jamás tal llegara a imaginar el maestro Bécquer – me ha tenido secuestrado y me han usado para satisfacer sus más oscuros deseos y perversiones”. Ojalá.

Eslava anime
Clotilde , eslava anime que, aún insiste en hacer de Calipso


Al fondo , a la derecha
Al fondo, a la derecha
    Pero, dado que el tiempo es cruel para todos, nos conformaremos con un: “La vida es caprichosa , y hago lo imposible por sobrevivir en este infierno" -harto español- .

        Y , citando este chiste de un amigo mío, por “infierno español” se ha de entender aquella demoníaca tarea de pintar de mierda unas paredes en un sitio tal que: cuando hay mierda, no hay cubo; cuando hay cubo, no hay mierda; y, cuando hay cubo y mierda no hay brochas para pintar. 

 
      A buen entendedor , con pocas palabras bastan y quien no, quédese con que, la razón de ésta es  que no encontraba los aseos.


 
  1.       Voy a presentar en imágenes cómo probar en Eclipse el programa de la anterior entrada, el del salto del caballo. Es decir, cómo invocar con parámetros desde Eclipse.
  2.      Después, os presentaré en imágenes cómo generar el archivo .jar ejecutable desde Eclipse y cómo invocarlo sin Eclipse.
  3.      Luego, os colgaré el programa – versionado mínimamente, para que quede clara la autoría – en mi cuenta de Mediafire, para que lo descarguéis y, os haré un par de observaciones.
  4.      Tras ello, cerraré la entrada hablando del potencial de este programa – No quiero entrar en futuras versiones pero, sí, mencionar todo el potencial--.
  5.       Recordaré el apartado de comentarios y correo para dudas y retroalimentación técnica.


    Ya apagado el PC, intentaré fustigarme para, aunque sea 30 minutos  diarios, ir plasmando y publicando todo lo acontecido estos casi 18 meses relativo a informática --  que ha sido "mucho muchísimo" y variado --.



gitana rastro
Google: Rastro gitana. marketing del bueno





¿Sí? 
Pues;  “Amos nenaaaaaa, que me lo quitan de las manos”.

Empecemos.
 



¿Cómo invocar con parámetros desde Eclipse?




En este apartado las fotos lo dicen todo
 
Salto caballo Eclipse ejecuccion con parametros 1
Salto caballo Invocar con parámetros Eclipse paso 2

INvocación parametros eclipse , salto caballo , paso 3Recordar nuestros parámetros
-n numero para casillas por lado de tablero cuadrado
-x numero -y numero para posición de la salida del caballo en el tablero
-t para indicar que quiero traza
-a para indicar quiero todas las soluciones para el tablero y posición.

Una vez hemos escrito los parámetros en "Program Arguments" y le hemos dado a "Aplicar", le damos a "Run". 



Invocar con parametros, Eclipse, salto caballo, paso 4
Si acercamos, tras ello , el cursor al botón rápido de ejecución, veremos un contextual que nos indica si se está ejecutando o no.

Y, si abrimos el archivo generado, cuando finalice su ejecución veremos que está correcto.





¿Dónde está ese archivo? 

      El programa no crea ruta nueva, así que, los archivos resultado de la invocación
¿Dónde me genera el archivo resultado, Eclipse?
Resultados invocacion Eclipselos genera en la carpeta del proyecto. En mi caso,  creé por defecto en Workspace cuando lo empecé.







Archivo resultado invocacion parametros eclipse

Con esto queda resuelto , cómo invocar con parámetros en Eclipse.


¿Cómo generar el archivo .jar ejecutable con Eclipse del proyecto?


Este proyecto no es muy complejo. Los pasos son los siguientes:
Crear archivo jar ejecutable, Eclipse, step 1



Primero: en Archivo -->  Exportar





Crear jar ejecutable, Eclipse , Knight's tour , step 2


      Ahora, en la nueva ventana , seleccionamos con doble clic "Runnable JAR file" y , tras ello, le damos a "Next".




La siguiente fase no es baladí. 
Elegimos en "Launch configuration" , nuestro proyecto.
"Export destine" servirá para dar nombre y ruta dónde dejará Eclipse el jar una vez creado.
"Library handling" , como véis,  lo tengo en "Extract required libraries..."  Así Eclipse se encarga de crear el archivo .jar  con "todo, todo, todito" lo necesario, a falta de un intérprete en una máquina, para ser ejecutado.

Damos Finish.

Quizás, el tema de nombrar el jar no haya quedado claro. Explico:

Si el directorio dónde le hemos dicho envie el .jar a Eclipse no alberga .jar alguno, nos aparece esta ventana para darle el nombre que queramos al jar que Eclipse creará.
Recordad que, el nombre del jar que se va a crear no tiene porque ser el mismo que el de la clase que lleva el Main.  
Ese miedo y precaución de principiante, como véis, está de más. Mi clase con Main es saltocaballo.class sin embargo como veis el jar lo llamo: saltocaballov1s1.
Ya que, a la publicación de la anterior entrada un correo demandando veladamente "un copia pega"   me ha hecho modificar ligeramente el código con una "morcilla" a modo de nombre y tiempo en cada resultado.

¿Cómo invocar el programa, un vez creado el .jar ejecutable?




Desde Ubuntu , basta con:
1.- Abrir un terminal (Ctrl+Alt+T)
 2.- Posicionarse en el directorio del .jar
3.- Invocarlo como expliqué en la anterior entrada y usad los parámetros que más os activen el gusanillo.

Desde Windows... Pues, no os lo vais a creer pero .... hace ya un año y medio que no toco Java con Windows y , desde entonces, con Windows me las he visto sólo en unas contadas clases particulares que dí y donde no tocamos para nada java.
 Así que,  mi sentido común, propone el siguiente método y espero, si alguien encuentra algún problema, me mande un "emilio".
              1º.- Descargado el archivo , comprueba su icono es una taza de café humeante.
                         Ello indicará que Windows tiene lo necesario para interpretar el jar.
                             Si el archivo se ve con el mismo icono que un comprimido, id a la página oficial de java (java.com) y descargaros java. Actilizarlo todo lo posible.
              2º.-
    a) Para ejecutarlo con los parámetros "por defecto" programados -->  bastará hacer doble clic sobre él.
                      ¡Ojo!  La ejecución le lleva un tiempo considerable, por mucho pepino de ordenador que tengáis, como ya indiqué en la anterior entrada.
    b) Para ejecutarlo por consola y con parámetros:
              Abrid  la consola "CMD" , posicionaros en el directorio donde hayáis puesto  mi .jar
                 Ahora ya lo podéis invocar según el patrón de la foto para Ubuntu.


¿Dónde descargarlo?  Observaciones





Conviene observar siempre que:
En absoluto conviene pedir traza --  máxime cuando pedimos una búsqueda exhaustiva de soluciones. Esto puede generar archivos de texto plano de unos 80 MB , casi como mínimo. Hablamos de unos 12000000 de líneas--. 
 Ahora bien, si queréis presumir de "ordenador potente"  y darme en los morricos de pitiminí: Os recomiendo empecéis con una tupla de parámetros  -n 6 -x 2 -y 2 -t 
Esta invocación generará un archivo reciote de unos 96 MB. A ver si podéis presumir de PC potente,  y abrirlo :)
Lo dicho, haced invocaciones buscando una única solución.
 Si el equipo responde rápido: Allá valientes surquen mar en Lepanto que, el límite lo pondréis vosotros.

La traza resulta un lastre inútil
Tranquilo Brutus,  "everybody" alucinará con tu Pegaso.
         Quisiera hacer una segunda observación. Necesaria ,al haber recibido  ya,   un correo de un internauta diciendo que " cuando invoca su . jar creado en eclipse, le sale en consola muchos errores y que no encuentra el no se qué".

       Estimado internauta: Siento aguarle su libre albedrío. La forma de crear el jar desde Eclipse es como ya le indiqué en esta misma entrada --en el apartado correspondiente--. 
       Me reconozco, como Virgo , algo "muy" pinchauvas. También, cándidamente, le concedo a la gente una capacidad de lectura y comprensión grave. Por ello sazono las entradas con comentarios y fotos jocosas a modo de "distracción".
       Pero, lo que escribo más allá de bromas o estilos, tiene su porqué. 
       El problema --veo por internet es bastante común-- , probablemente se debe a que cuando crea el .jar en Eclipse no selecciona su proyecto  en el apartado  Launch Configration
       Esto hace que  el Manifest.MF no se cree correctamente y produzca los errores que me menciona en su correo.
        Mi consejo es que me lea con detenimiento. 

       Como indiqué en el subtitulo "¿Cómo creo el archivo .jar ejecutable?", la ventana al seleccionar "Runneable JAR File" no es baladí.  
       Preste atención a cumplimentarla correctamente. 
      Si no, la  opción "ahora me cabreo y lo hago a mano" es coger los archivos .java y compilarlos con javac sin eclipse; tra ello, con los class generados, hacer el Manifest.MF "a pedal".
      Pero, entonces la pregunta será ¿Para qué ha instalado Eclipse?  
     Gracias, muchas,  por su lectura de mi blog y los elogios. Siga leyéndome y preguntando cuantas dudas le surjan. 
     

¿Qué potencial tiene esto?  

  
Yo sí tengo potencial, nena
      



        El potencial de este programa es increíble. Hablamos  sin salirnos del tablero de ajedrez, resolver posiciones buscando mates. 
Bastaría con crear para cada ficha describiendo sus movimientos. Dotar un mecánica mínima para "comer" y establecer movimientos de "a uno" por bandos. 
La busqueda en profundidad con vuelta atrás  o Backtracking , es lo que tiene.









De salidas


Solución a la crisis española
    Bueno, no era prudente estar más de una hora haciendo esto y al final han sido casi cuatro. Pero, por lo menos, hoy ya, queda liquidado.
    Intentaré mañana empezar a elaborar   sobre otra cosa hecha estos meses y subirla cuanto antes.

    Por desgracia , no voy a sazonar la salida con una tía/tío o similar que quite el hipo.
    Aunque intento, desde mi mala leche, sonreír y hacer chispa, la realidad de este país me supera.
    Así que, hoy, en honor de todos aquellos políticos , representantes sindicales y organizaciones sin ánimo de lucro onanistas a costa de lo ajeno , así como todos aquellos españoles que pisan el mismo suelo que yo pretendiendo sacarme a mi de él les regalo esta  foto.
 Como ven la fémina tiene una delantera que te deja sin respiración. Es toda suya, ¡Disfrútenla, se la han ganado a pulso! Aún la estoy pagando , pero si se van con ella a otro lado y con viento fresco, la inversión habrá valido la pena.


Dudas técnicas y comentarios, ya sabéis , bienvenidos.
Un saludo y
SED BUENOS!