8-PUZZLE /

Filename Size Date modified Message
Algoritmos
Helper
Marco
TestAndroid
TestWindows
1.7 KB
194.4 KB
1.8 KB
3.9 KB
292.1 KB

README

Resolucion del puzzle-8 para el blog de Delphi Basico Autor: Salvador Jover Fecha: Septiempbre de 2017

El blog de Delphi Básico no tiene ánimo de lucro y su fin es el de colaborar a la divulgación de conocimientos dentro de la comunidad de programadores de Delphi, desde su nacimiento en el año 2003.




EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A GARANTÍAS DE COMERCIALIZACIÓN, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DEL COPYRIGHT SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN UNA ACCIÓN DE CONTRATO, AGRAVIO O CUALQUIER OTRO MOTIVO, QUE SURJA DE O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTRO TIPO DE ACCIONES EN EL SOFTWARE.




Este código complementa la entrada del blog de Delphi Básico:

Un artilugio para experimentar... o algo así. https://delphibasico.wordpress.com/?p=10523&preview=true

Para la discusión del contenido, se ha creado un grupo en la Community

https://community.embarcadero.com/my-groups/viewgroup/580-taller-de-delphi-basico

donde es necesario registrarse para acceder. Dicho grupo es creado tambien sin ánimo de lucro, para la discusión en modo taller del contenido de alguna de las entradas del blog.

Ver video: https://drive.google.com/file/d/0B74jWs5joTMcakpvX0VCeVRMRDA/view?usp=sharing

Funcionalidades que permite el código:

      -Permite mover una casilla o varias (clic en el tablero).
      -Genera movimientos aleatorios para la posición inicial
      -Inicializar la posición inicial.
      -Ejecutar la resolución del problema. (**)
      -Visualizar los pasos que ha seleccionado el algoritmo para la resolucion.

      * No advierte de problema no resoluble puesto que por
      definición siempre tendría solución, dado que los moviemientos
      aleatorios se generan siempre de forma lícita y no es posible
      alterar el tablero a una posición no consistente o irresoluble.

     ** Propuesto algoritmo A* (AStar) para ver de forma separada en un taller del
        blog, abierto al efecto de ampliar y compartir ideas sobre el contenido
        de las entradas del blog y especificamente de esta serie.

El código ha sido compilado con RAD Studio 10.2 Tokyo Update 1, con la libreria FMX, para Windows. Es posible cualquier adaptación a otra plataforma de escritorio o movil de la parte de usabilidad del juego.

Se ha incluido en el repositorio una imagen jpg 'test.jpg', que el proyecto intentará localizar en la ruta del ejecutable. Copiar la imagen o cualquier otra de dimensiones similares en esta localización, para visualizar el ajuste. Dado que no es una version comercial, se ha omitido cualquier rutina de adaptación de tamaño, proporción o búsqueda en directorios de la plataforma en la que se pueda compilar. La imagen se incluye solo a efectos de ilustrar esta posibilidad.

Bibliografia: Inteligencia Artificial de Virginie Mathivet. (*)

(*) Se han tomado algunas ideas del codigo que propone en su libro la autora para el capítulo del libro sobre Busqueda de Rutas. Ver la entrada del blog:
https://delphibasico.com/2017/08/27/tiempo-para-leer-virginie-mathivet/