Nota: Me salté la entrada de la semana pasada y esto debería haberse publicado ayer. En este registro describo el trabajo en Tribulaciones Caballerescas y cómo resolví los retos técnicos que surgieron.
Trabajo realizado: He estado desarrollando Knights Travails, implementando primero un objeto Chessboard y un objeto Knight para representar el estado del caballo con su posición actual y sus movimientos posibles. Creé un método getPossibleMoves que calcula todas las jugadas válidas desde la casilla actual y empecé a probar diferentes estructuras para gestionar el flujo del juego.
Problemas encontrados: Al inicio no sabía por dónde empezar con la arquitectura, y al experimentar me di cuenta de que no había separado correctamente el estado del juego del control del mismo. Hice algo de lectura para recordar una estructura que ya había visto en el curso y tardé un poco en reorganizar el código. Llegué a encolar los movimientos iniciales en un array y a añadir movimientos derivados de jugadas previas, pero no sabía cómo hacer seguimiento ni cómo enlazar los nodos entre sí, así que pedí ayuda. Fue una buena decisión porque la solución correcta consistió en anotar el parent o padre de cada movimiento, marcar las casillas como visitadas y usar la estructura de datos adecuada para almacenar esa información.
Implementación y errores: Comprendí que necesitaba un bucle en la función runGame que iterara hasta cumplir una condición como alcanzar la casilla final. Al principio olvidé el propósito de la propiedad visited en el tablero y acabé con un bucle infinito por volver a encolar casillas ya visitadas. Tras detectar el problema lo corregí marcando las casillas al generar el movimiento y evitando reenqueos innecesarios.
Lo que salió bien: Para calcular los movimientos relativos en coordenadas x e y me ayudé con inteligencia artificial en tareas puntuales de cálculo y verificación geométrica. No utilizo IA para que escriba código completo, pero sí la aproveché para agilizar la comprobación de combinaciones de movimientos, lo que resultó muy útil.
Aprendizajes y próximos pasos: He reforzado la importancia de separar estado y control, de modelar relaciones parentales entre movimientos y de marcar casillas visitadas para evitar bucles. La próxima semana continuaré con Knights Travails, optimizando la búsqueda y añadiendo seguimiento de rutas óptimas hasta la casilla objetivo.
Sobre Q2BSTUDIO: En Q2BSTUDIO somos una empresa de desarrollo de software especializada en crear soluciones a medida y aplicaciones que se adaptan a las necesidades de cada cliente. Ofrecemos servicios que incluyen software a medida, aplicaciones a medida, inteligencia artificial para empresas, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y herramientas como power bi. Si buscas desarrollar una solución personalizada visita nuestra página de aplicaciones a medida o conoce nuestras capacidades en inteligencia artificial para empresas y agentes IA. También brindamos servicios de ciberseguridad y pentesting y consultoría en servicios inteligencia de negocio para ayudar a transformar datos en decisiones.
Palabras clave integradas: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws, azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Si te interesa colaborar o necesitas una consultoría inicial, en Q2BSTUDIO combinamos experiencia técnica y enfoque práctico para llevar tu proyecto del prototipo a producción.