Thursday, April 26, 2007

Sudoku en Delphi...


José Luis Calderón es un alumno de la asignatura de Proyectos II, en la Universidad Iberoamericana. Debido a que es muy dedicado y aplicado, le dejé de proyecto final que escribiera un programa para crear Sudoku. Cabe señalar que desde que puse un mensaje al respecto, aquí en este mismo blog (véase aquí), tuvimos en clase, con algunos alumnos avanzados, una larga discusión sobre la manera de crear este tipo de acertijos. En primera instancia, me parecía que era muy simple, bastaba con generar permutaciones de nueve objetos. Sin embargo, encontré que si genero una primera fila de 9 números diferentes, ya la segunda fila no es una mera permutación más, sino que además, debe cumplir con que no se repitan los números en la fila de abajo.

Por ejemplo, si la primera fila es
1 2 3 4 5 6 7 8 9

entonces la segunda fila no puede ser esta permutación:

1 2 3 4 5 6 7 9 8

pues la primera columna (para empezar) se repite el 1.

De esta manera, la conclusión es que no es un simple problema de permutaciones.

Calderón entonces empezó su proyecto buscando información sobre Sudokus en Delphi. Después de mucho batallar encontró un código de un alemán que decidió "destripar" hasta entenderlo. Entonces re-escribió las partes fundamentales de nuevo y en unas 15 horas de trabajo llegó a un modelito que trabaja muy bien.

El programa de Calderón permite no sólo crear Sudokus, incluso con diferente grado de dificultad, sino que además puede solucionarlos. Una interesante opción extra es que puede resolver los Sudokus que se publican en los diferentes medios. Ahora habré de estudiar un poco el código para ver cómo diablos se generan estos acertijos.

4 comments:

Juan Carlos said...

Ojalá pudieran compartir aunque sea el ejecutable, sin los fuentes. Saludos.

Morsa said...

Tngo que pedirle permiso al autor. te aviso.
saludos
La_Morsa

Jorge said...

He aquí un buen código de un Sudoku hecho como no, también en Delphi, que encontré en un blog de un programador .
Sudoku en Delphi"

marilu said...

He encontrado una web con animaciones muy chulas donde se pueden bajar gratis unas tablas de sudoku, killer y futoshiki el sitio es el siguiente
http://wwwsudokumegastar.com