Artículo creado en 2005.
Resolver Sokoban
El Sokoban es un juego de mecánica muy simple, entretenido si te gustan los rompecabezas, pero (al menos para mi) exasperante cuando te quedas atascado con alguno. Hubo uno especialmente c.br.n (seamos francos), de estos que a primera vista no parecen muy complicados (estos son los peores) y del que lo único que saque fué un brutal calentón de cabeza, vamos, que no lo resolví (no es que los resuelva todos, ya me gustaría, pero es que este...) en fin, que sólo por encontrar la solución de ese Sokoban realicé este simple (simple por bruto) Solver (en castellano sería algo como Resolvedor) que dado un Sokoban te dice si hay solución y los pasos (mínimos) a seguir. Siento si el interface no es muy amigable, de sobras hizo su función.
Debes tener:
- Sokoban.Exe es el programa que resuelve los tableros, la secuencia de botones que tienes que pulsar son:
- Cargar carga el tablero especificado en el archivo Tablero.txt que debe estar en el directorio actual.
- BIni que inicializa el Solver.
- BTodo que inicia el proceso de búsqueda exhaustiva, cuando encuentra una solución se detiene y te lo dice; si no encuentra ninguna también.
- Como va si se toma su tiempo, puedes pulsar este botón para ver en la barra de título como va la búsqueda.
- Paso pulsando sucesivamente este botón se muestra los pasos que se deben darse para resolver el Sokoban.
- Tablero.txt en este archivo debes dar los datos del tablero, su estructura son (en líneas) la siguiente:
- Primera línea cualquier comentario, no se usará para nada esta línea, que será ignorada.
- Segunda línea dos números enteros (separados por un espacio o tabulador) que representan el número de casillas de anchura y de altura del tablero.
- Siguientes líneas por filas y sin separaciones, los dígitos en hexadecimal que indican el contenido de cada casilla (deberá haber tantas líneas como altura tenga el tablero y cada línea tendrá exactamente tantos dígitos como celdas de ancho tenga el tablero). Cada dígito en hexadecimal es la suma de los siguientes valores según se desee "meter" en esa casilla los siguientes elementos (el valor 0 indica que la casilla está vacía):
- 1 indica que la casilla es un muro, se debería rodear todo el tablero con muros.
- 2 indica que es la casilla en la que inicialmente está el cursor, sólo debería indicarse una vez.
- 4 indica que en esa casilla hay una caja que debe ajustarse.
- 8 indica que esa casilla es una de las casillas objetivo de caja. Deberá haber (en caso contrario no habrá solución) al menos tantas casillas objetivo como cajas a ajustar.
La aplicación está programada en Visual C++ usando las MFC.
descargar ejecutable de Resolver Sokoban.
descargar código fuente de Resolver Sokoban.
Opinado el 14/02/10 18:42, valoración excelente
Opinado el 05/01/11 14:20, valoración Esta muy bueno, gracias, pero lamentablemente no tiene la posibilidad de crear un tablero con una de las cajas ya sobre un objetivo. juliocesarch@gmail.com
Opinado el 05/01/11 14:48, valoración ¿Como que no Julio?, puedes poner las cajas allí donde desees.
Opinado el 06/01/11 04:03, valoración una pregunta: como se hace para indicar en el text, que una caja ya esta en un objetivo al empezar el juego ?
Opinado el 17/03/11 22:54, valoración Excelente el solver. Se coloca C para indicar que el objetivo y la caja están en el mismo lugar. Una A indica que el cursor y un objetivo están en le mismo lugar.
Opinado el 07/04/11 19:52, valoración Esta bueno pero no pude hacer que ande, ya que lo dejé una semana encendida a la pc, paso los 2 millones pero no me encontró ninguna solución...
Opinado el 27/04/11 02:08, valoración Excelente programa, lo probe con un puzzle que no podia pasar y en solo minutos me dio el resultado.
Opinado el 19/08/11 05:37, valoración Excelente juego me gusta mucho y me entretengo aparte de que exploto mi intelecto, felicidades al creador del juego.
Opinado el 02/11/11 19:08, valoración Una web muy conseguida y los temas tambien
Opinado el 27/02/12 02:51, valoración FASCINANTE HEMOTIVO Y AYUDA A DESARROYAR LA HABILI
Opinado el 29/04/12 01:11, valoración como se crea el tablero txt
edimar-39@hotmail.com
Opinado el 18/06/12 14:04, valoración ¿Dónde coloco los archivos? per010994@hotmail.com
Opinado el 19/11/12 16:35, valoración frhfhdshdhjfhjfhgvjfhfhfdhdsjdjufhdedudibjben 10 d
Opinado el 03/12/12 02:21, valoración pon tambien ejemplos de tableros. muy buen program
Opinado el 29/01/13 17:04, valoración Funciona!! super la creatividad en programacion
Opinado el 08/02/13 16:21, valoración donde pongo el tablero.txt luis.ldn@live.com
Opinado el 21/03/13 19:24, valoración bravo!!!!!
Opinado el 25/12/13 06:29, valoración me encanta el juego para pensar
Opinado el 04/07/14 18:18, valoración
Opinado el 22/07/14 22:32, valoración FULL NOTA
Opinado el 05/05/15 00:19, valoración ya no esta disponible las descargas.
Opinado el 12/06/15 09:22, valoración oye estará disponible de nuevo
Opinado el 13/07/15 05:18, valoración como resolver este nivel 8
Opinado el 15/08/15 12:14, valoración rafapastorin@yahoo.es
no lo veo disponible ???
Opinado el 07/04/16 02:07, valoración
Opinado el 02/06/16 16:38, valoración hola, me pone no disponible
Opinado el 14/09/16 03:08, valoración no sirven los enlaces subanlos de nuevo por favor
Opinado el 06/05/17 19:00, valoración muy bueno pero faltan niveles
Opinado el 25/07/18 02:06, valoración No se puede resolver
Easy c número 60
Opinado el 29/10/18 01:52, valoración de nuevo no está para descargar, gracias
Opinado el 21/07/19 19:02, valoración Hola, no esta el código. Compartelo porfavor
Opinado el 17/04/20 14:16, valoración Alguien puede postear de nuevo el exe y el fuente?
¿Te ha gustado? ¡aporta tu opinión!