Como va ese CySudoku, cuando estara el generador de sudokus? estara para reyes?
Es que andaba pensando regalarle la cybiko a mi novia con el sudoku, y claro el dia 6 esta cerca.
Hasta el día 2 de Enero estoy de vacaciones
Ya estoy liado con el algoritmo para generar los sudokus. Hay que remarcar que generará sudokus con una dificultad directamente proporcional a los sudokus que puede resolver. Es decir, que cuantas más reglas de resolución tenga implementadas, mayor podrán ser la dificultad de los puzzles a resolver. Espero que efectivamente este para reyes pero no quiero prometer nada, porque aunque el algoritmo esta más o menos diseñado, falta ver como va al intentar implementarlo y compilarlo en la Cybiko.
Bueno, lo intentaré explicar lo menos técnicamente posible. De momento hay 2 avances en el tema:
1) He separado en dos partes el código del programa para poderlo hacerlo lo más portable posible. Por una parte esta todo el código de los sudokus (resolución, generar, etc.) y por otra la interficie del programa. De esta manera cambiando la interficie se conseguirá tener el mismo programa para Cybiko, GP32 y GP2X.
2) De momento se ha conseguido generar sudokus terminados totalmente aleatorios. Ahora hay que des-resolverlos para obtener el puzzle que ha de resolver el usuario. Digamos que el algoritmo de generación de sudokus se basa en eso: tienes un sudoku "terminado" y uno en blanco, pones un numero del terminado al vacio y miras si se puede resolver con unas reglas. Si no se puede añades un numero más. Las reglas que apliques definen el nivel de dificultad del sudoku. Yo tengo las reglas implementadas y la generación del sudoku "terminado" solo me queda el bucle del medio, pero ahora con el curro que tengo del trabajo llego a casa bastante estresado y hay pocas ganas :S
Resumiendo: le queda poquito, lo que pasa es que soy muy perro, y si quereis y estais interesados se podria hacer una versión para las GP (los 2 modelos).
Esta chulo el cysudoku
Solo una pequeña sugerencia:
Podrias hacer algo para que en vez de pulsar la tecla "Fn+num" solo haya que pulsar "num"
no se si me explico
Gracias por tu trabajo
El problema esta en que cada modelo de Cybiko tiene el teclado un poco diferente. La Classic tiene los números accesibles directamente y en cambio, la Xtreme los has de pulsar con FN. Yo al hacer el programa estuve depurandolo con la Classic y no ha sido hasta que probé la compatibilidad con la Xtreme hasta que no me he dado cuenta.
Tomo nota de la suguerencia y mirare de solucionarlo con un selector según la máquina o con una solución algo más a saco xD
Bien, veo que sigue esto en pie
PD: No veais el juego que da una Cybiko
La ignorancia es lo que tiene, que es atrevida.
Pues la pregunta de siempre: ¿como va el tema?
La ignorancia es lo que tiene, que es atrevida.
Después de un tiempecillo ya me he puesto con el programa y ya casi he terminado, únicamente estoy a la espera de probar unos cambios y hacer unos retoques.
Ahora mismo el programa ya tiene su menú de opciones y le quiero implementar que cambie el teclado según si se trata de una Cybiko Classic o de una Xtreme. El motivo es que en las Classic puedes pulsar los números facilmente, pero en la Xtreme es más incómodo porque has de ir dandole a Fn y luego al número.
Si las pruebas van bien, espero colgar la versión definitiva en un par de días máximo.
Ahora mismo estoy en mi ex curro haciendo unas cositas, esta tarde tengo que mirar de arreglar el fallo que tenía. Aunque para ser sinceros, el fallo es del SDK que tiene una implementación de la función random() que va como el cvlo.
Random(valor_maximo) te devuelve un número, teóricamente, entre 0 y valor_maximo-1. Pues la implementación de random hay un momento que peta y da valores superiores a valor_maximo Vamos, una chapuza...
Básicamente esto hacía que los sudokus tardase siglos en generarlos o saliesen muy complicados de resolver (con muy pocos números). Estoy mirando de arreglarlo lo antes posible. La solución que me han aconsejado es usar
random(valor_maximo) % (valor_maximo-1)
para asegurarme que el valor obtenido esta dentro del rango que necesito.
< - >El problema con la función random() lo he podido arreglar con la chapucilla que he explicado antes. Ahora queda que los sudokus que generan no sean tan chungos
Última edición por Malenko; 16/05/2006 a las 00:28 Razón: Edición automática anti doble-post.
Que bien
La ignorancia es lo que tiene, que es atrevida.
A ver si consigo "mejorar" el algoritmo de generación, hago un par de cosillas más y cuelgo la primera versión.
Eso sí, programar para la cybiko puede ser un calvario, entre que el sdk y el compilador que hacen un poco lo que le dan la gana
Marcadores