Hola...
Hacer una "traducción" de
AS2 a
Delphi no es tan simple. Muchas de las cosas que se pueden hacer en
AS2, no son tan sencillas de realizar en
Delphi, un ejemplo es la asignación de valores a un arreglo, en
AS2 al hacer:
Código:
a = [];
a[10] = 534;
AS2 automáticamente agrega los elementos del 0 al 9 para completar el arreglo, cosa que con
Delphi no se puede y te produce un error de
Índice fuera de rango.
Dicho lo anterior, adjunto un archivo comprimido con dos clases, una unidad y un archivo .txt que es el código "traducido" de las dos funciones de
AS2.
Las dos clases son
TSudokuGenerator y
TSudokuSolver, y como su nombre los indican, una se usa para generar los
Sudokus y la otra para resolverlos.
La clase
TSudokuGenerator contiene un método público
Generate(const Level: Integer) al cual se le pasa como parámetro el nivel del
Sudoku que se desea generar y al finalizar la ejecución de este método, en la propiedad
Sudoku se puede acceder al
Sudoku generado.
La clase
TSudokuSolver se usa para resolver
Sudokus y contiene un método
Solve(const ASudoku: String) que recibe el
Sudoku generado por la clase anterior y devuelve en la propiedad
Sudoku el
Sudoku ya resuelto.
Un par de capturas de pantalla:
Saludos...