Algo importante es mejorar lo que está hecho. A mí me gusta hacerlo siempre que puedo y más aún en fases tempranas de un proyecto para sentar las bases y que no acabe pareciendo un puñado de parches. Así que como tenía unos minutos le he metido mano al código existente.

Primero he creado un componente para el grid de los juegos que usaba en Home y para el panel de detalle. De esta forma ha quedado bien hecho y lo utilizo igualmente en las tiendas. Sí, con esto ya tengo listas también las tiendas, ya se pueden comprar juegos.

He pasado al mapa y he tocado alguna cosa. Cuando se quiere ir a un punto del mapa se calcula la ruta, y como usamos una API pública hay que esperar 3 segundos para calcular la siguiente ruta. Ahora al pulsar en un punto del mapa si hemos consultado otro saldrá un temporizador y al terminar calculará la ruta. Y también he establecido el punto de Home como si de otra tienda se tratase para que muestre la ruta y nos permita entrar, que lo tenía aún como un botón al margen.

Revisé la fecha y el crédito del jugador. El código estaba un poco hecho de aquella manera, así que lo he cambiado para que funcione como debe. La fecha tenía un bug que hacía que se incrementara incorrectamente o no se incrementara, y en cuanto al crédito he añadido una fecha para que cada n días el jugador cobre un salario.

Hablando de n días, también he creado una tabla para guardar las opciones iniciales. Ahora al iniciar una partida se pueden establecer o dejar las que hay por defecto, y se usan en el resto del código. Por fin se fueron las variables hardcodeadas! Tenemos el crédito inicial, cuánto cobra un jugador y cada cuantos días, a qué velocidad avanza el tiempo en la partida, cuantos juegos se generan en una tienda… habrá más, desde luego.

Y con esto y otros cambios en la lógica de negocio la cosa va mejor. Va siendo hora de meterse a fondo en cosas más serias.