Adivina el Número

Adivina el Número
¿Que tan rápido puedes adivinar el número?

Desarrolla Juegos con Coldfusion

Aprendamos la lógica necesaria para construir juegos simples o complejos utilizando las excelentes capacidades backend de Coldfusion junto con otras herramientas de front-end.

Este tutorial específico "Adivina el número" te enseñará la lógica necesaria y algunos snippets de código para programar el juego clásico en el que debes adivinar un número en la menor cantidad de intentos posibles mediante pistas de tus intentos anteriores.

Antes de comenzar, echemos un vistazo a cómo se juega este juego. Si no lo has visto en acción, aquí está: http://coldfusion.games/demos/1_NumberGuess/

Ten en cuenta que estamos enseñando habilidades de lógica y programación básica, por lo tanto, el diseño gráfico siempre será muy básico para mantener el código simple y enfocado.

Nuestro objetivo es centrarnos en los bloques de construcción que necesitas para desarrollar por tu cuenta y extender la interfaz de usuario a tu gusto más adelante.

Si requieres un video guiado paso a paso sobre este y muchos otros juegos, así como la descarga completa del código, te recomiendo mucho que eches un vistazo a mi curso de Udemy: https://www.udemy.com/course/domina-coldfusion-con-apps-y-juegos-pack-1/

¿Cómo empezar?

Lo primero es pensar en el "motor". Siempre que desarrolles juegos piensa en que se trata de procesos iterativos. El "motor" va cambiando los valores de las variables en función de la información que tenga en cada ciclo.

En nuestro caso manejaremos un "objeto" que realmente es una estructura que contiene estas variables. Los valores relevantes son:

local.game representa las variables que cambiaran de valor en cada iteracion
el "número secreto" es realmente un simple número aleatorio desde 0 hasta un maximo según el nivel de dificultad.

¿Y El juego?

Una vez que tenemos el objeto "game" con nuestras variables, sencillamente tenemos que "regresar" con cada nuevo intento un "tip" que ayude al usuario.

Si es menor, mayor o exacto se lo dice y actualiza el estado.
Es recomendable agregar cada número a un historial. Esto permitirá "descartar" números ya usados.

¿Y La interfaz?

Asi de fácil tenemos la lógica del Backend construida en Coldfusion. Para la interfaz usaremos simple HTML y CSS. Lo realmente importante es cómo determinar que hacer y en que momento.

La página, idealmente desarrollada en CFML necesita determinar si existe en memoria o en variables de sesión, típicamente gestionada con "cookies" el objeto de "GAME" que contiene las variables que necesitamos.

Esto puede ser un simple IF.

Esta es la vista principal que muestra un selector de niveles o un selector de númerossegún la información que esté disponible.

¿Y La Iteración?

Finalmente tenemos que establecer el mecanismo para permitir que el historial se llene y el sistema evalue. Dado que nuestra interface son simples links, podemos trabajar con "URL's". Basta saber que parámetros recibimos para saber que funciones invocamos.

Si existe dificultad, se trata de un juego nuevo. Guardar la data en memoria.
Si ya existe el objeto, y además existe un "número adivinado"Sencillamente pido la evaluacion para actualizar la data.Esta es la función principal del juego.
Adicional a las opciones, el usuario puede "darse por vecido"Sencillamente borra la sesión y esto "forza" la selección de Nivel.

¡Listo!

¿Pudiste hacerlo? te toca implementar y mejorar!
Recuerda ver nuestro curso paso a paso, en:
https://www.udemy.com/course/domina-coldfusion-con-apps-y-juegos-pack-1/