Para facilitar la realización de los ejercicios, se proporcionan unas plantillas de los ejercicios Tragaperras (Sesiones). Sólo se incluyen las plantillas para los dos primeros ejercicios, ya que se recomienda hacer cada ejercicio a partir del anterior.
En cada enunciado de ejercicio hay un apartado de Ayuda, con comentarios sobre elementos a incluir en los programas.
En la página de ayuda se pueden consultar ejemplos de código que corresponden a los comentarios de cada enunciado.
Tragaperras 1
Escriba un programa que muestre tres imágenes de frutas, que cambien de forma aleatoria al actualizar la página.
Ayuda
Genere aleatoriamente tres variables con números del 1 al 8 (yo las he llamado $fruta1, $fruta2, $fruta3). Esos números se utilizan para generar el nombre de las imágenes (que se llaman 1.svg, 2.svg, etc.).
Tragaperras 2
Añada al programa anterior un contador de monedas que se pueda incrementar mediante un botón de formulario.
Ayuda
Añada a la primera página un formulario que llame a una segunda página.
Las dos páginas pertenecerán a la misma sesión.
Añada en el formulario un botón "Meter moneda" que represente el haber metido una moneda en la máquina tragaperras y que envíe el formulario.
Cada vez que se mete una moneda, en la segunda página la cantidad de monedas aumenta en 1.
La segunda página guarda la cantidad de monedas en una variable de sesión (por ejemplo, $_SESSION["monedas"]).
La segunda página redirige finalmente a la primera página.
Cuando se vuelve a la primera página cada vez que se mete una moneda, se renueva la combinación de frutas.
En el formulario, muestre la cantidad de monedas introducidas.
Si al acceder a cualquiera de las dos páginas no está definida la variable de sesión, se le debe dar el valor 0. Para no tener que repetir la definición de las variables de sesión en cada página, en la primera página se puede redirigir a la segunda página si las variables de sesión no están definidas.
Tragaperras 3
Añada al programa anterior un botón para jugar, que renueva la combinación de frutas y reduce la cantidad de monedas de una en una.
Ayuda
Añada un botón "Jugar" que renueve la combinación de frutas.
Sólo se debe renovar la combinación de frutas cuando se juega, no cuando se mete una moneda. Para ello, las frutas a mostrar se guardarán en variables de sesión, no en variables "normales" y se cambiarán en la segunda página.
Cada vez que se juega, se pierde una moneda.
Sólo se puede jugar si el contador de monedas es distinto de cero.
Las tres frutas se deben guardar como variables de sesión.
Tragaperras 4
Añada al programa anterior la capacidad de detectar que se ha ganado un premio.
Los premios son los siguientes (no tienen por qué comprobarse en este orden):
Si sale una cereza, se gana una moneda.
Si salen dos cerezas, se ganan cuatro monedas.
Si salen tres cerezas, se ganan diez monedas.
Si salen dos frutas iguales que no sean cerezas, se ganan dos monedas.
Si salen tres frutas iguales que no sean cerezas, se ganan cinco monedas.
Si sale una cereza y dos frutas iguales, se ganan tres monedas.
En el resto de casos, se pierde una moneda.
Nota: Empiece comprobando un par de casos (por ejemplo, el de una cereza y el de una cereza y dos frutas iguales) y una vez hecho el resto del ejercicio, complete todos los casos de premios.
Ayuda
Cuando se añaden monedas o al empezar, la cara es neutra (imagen face-plain.svg).
Añada al contador de monedas el premio obtenido.
Asigne la cara triste si se pierde y la alegre si se gana.
Muestre el premio obtenido (el número de veces que se gana la apuesta) y la cara, triste (imagen face-sad.svg) o alegre (imagen face-smile.svg) correspondiente.
El premio obtenido y la cara a mostrar se deben guardar como variables de sesión.
Tragaperras 5
Añada al programa anterior la capacidad de apostar más de una moneda.
Ayuda
Añada un botón "Aumentar apuesta" que aumente un contador de monedas apostadas.
Al apostar una moneda más, se debe disminuir el contador de monedas.
Los premios se multiplican por el número de monedas apostadas
La cantidad apostada se pierde siempre.
Si se meten monedas o se aumenta la apuesta, muestre una cara indiferente.
La apuesta se debe guardar como variables de sesión.