Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda para Implementar el sudoku (https://www.clubdelphi.com/foros/showthread.php?t=53592)

gulder 25-02-2008 00:08:02

ayuda para Implementar el sudoku
 
Hola foro como andan espero y bien tengo una duda y es para que me ayuden a afrontar un problema que me colocaron en la U, resulta y pasa que me toca implementar el sudoku, pero el inconveniente que tengo es como hago para la colocación de los números, me explico siempre que algún usuario trata de iniciar un juego, el juego debe mostrar unos números para empezar pero para colocar estos números como hago, necesito que me explique como hacer esta parte si es utilizando alguna formula matemática, con números randon no se no tengo idea si alguien ya tubo la oportunidad de realizar algo parecido le agradecería una breve explicación, no trato de que me lo hagan, lo quiero es que me expliquen como colocar estos números gracias de antemano gulder saludos.

rauros 25-02-2008 07:22:37

Formula matemática no tiene. Yo pienso que tendrás que añadir la primera fila random y el resto con muchos muchísimos if. Por ejemplo, si llenas la primera fila random:

159736482

Luego tendrás que llenar la segunda fila random, pero con:

Código Delphi [-]
If numero_random = num111 then begin
numero_random:=otro numero random

No sé si me explico bien. Yo nunca he usado números random. Pero num111 es el primer número de la primera fila y el primer cuadrado. Las coordenadas podrías ponerlas después del num. Ejemplo:

123456789
987654321

El 4 será num142 (fila 1, columna 4, cuadrado 2)
y el 3 será num273 (fila 2, columna 7, cuadrado 3)

Para que te hagas una idea, no deben coincidir nunca dos números iguales en una fila, en una columna, ni en un cuadrado.

José Luis Garcí 25-02-2008 08:55:19

Hola gulder, si no recuerdo mal, hay un ejemplo de Sudoku del maestro Seone, busca en los foros y seguro que te servira de guia para implementar en tu proyecto y podras aclarar tus dudas

Crandel 25-02-2008 13:53:21

Por lo que entiendo tu primer problema es generar un nuevo tablero a resolver. Esto por si es una tecnica tanto como el de resolverlo.

Tienes dos opciones, una generarla y la facil, es tener una base de datos de unos cuantos tableros a resolver.

para generarla (nunca lo hice), pero lo que se me ocurre es que podrias ir agregando numeros al azar e intentar resolver el soduko, y asi sucesivamente hasta que para un inicio dado tengas solucion.

Posiblemente existan otras formas de generar mejores, abria que buscar un poco en internet para ver que existe.

Igualmente para empezar, tomaria un par de tableros ya exitentes, y empezaria por el algoritmo de reolucion.

Suerte y contanos como vas

seoane 25-02-2008 14:55:57

Hola,

http://delphi.jmrds.com/?q=node/19

y también para linux

http://delphi.jmrds.com/?q=node/16

gulder 25-02-2008 17:37:24

hombre señores foristas disculpen la demora al contestar, buen rauros gracias por tu explicacion, boy a ver si lo intento por qui, José Luis Garcí tambien buscare el ejemplo que mencionas, gracias Crandel muy buen la idea de tener una base de datos con algunos tableros, y por ultimo seoane gracias vero lo que traen tus link muy pronto estare ecribiendo como me ha ido saludos gulder


La franja horaria es GMT +2. Ahora son las 05:02:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi