Usuario:ManuelRomero/ProgramacionWeb/formularios/practica
De WikiEducator
< Usuario:ManuelRomero
Revisión a fecha de 22:26 12 nov 2020; ManuelRomero (Discusión | contribuciones)
Juego de adivinar un número
puedes probar una posibles solución en http://manuel.infenlaces.com/distancia/dwes/practicas/practica_3/
- Se trata de hacer un juego para que la aplicación adivine un número que tu pienses
- La aplicación me mostrará 3 opciones
- El usuario pensará un número del 1 al mayor número posible según la opción seleccionada
- Una posible pantalla inicial del juego podría ser
**(Se calculará otro número y tendrás 10 intentos de nuevo)
http://manuel.infenlaces.com/
|
juego adivinar: index.html |
---|
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Adivina número</title> </head> <body> <fieldset style="width: 60%;float:left;margin-left: 20%; background: bisque"> <legend><h1>Juego adivina número</h1></legend> <h2> Debes de adivinar un número que yo genero</h2> <h2> El número está entre 0 y 1024</h2> <h2> Cada vez que verifiques yo te diré</h2> <ul> <ol>Si el número buscado es mayor</ol> <ol>Si el número buscado es menor</ol> <ol>Si has aceertado el número</ol> </ul> <h2> Tienes 10 intentos</h2> <h2> Se te indicará el número de intentos que llevas</h2> <form action="jugar.php"><input type="submit" value="Empezar juego"></form> </fieldset> </body> </html> |
jugar.php |
---|
<?php switch ($_POST['enviar']) { case 'jugar': $numero_adivinar = filter_input(INPUT_POST, 'numAdivinar'); $intentos = filter_input(INPUT_POST, 'intentos'); $numero = filter_input(INPUT_POST, 'numero'); $intentos++; $msj = valida($numero_adivinar, $numero); if ($msj === "FIN") terminar(true); if ($intentos === 10) terminar(false); $msj.="<br />Llevas $intentos intentos restan " . (10 - $intentos); $reiniciar = ""; break; case 'volver': header("Location:index.php"); exit(); case 'reiniciar': $numero_adivinar = rand(0, 1024); $msj = "Volvemos a empezar el juego"; $intentos = 0; $reiniciar = "disabled"; break; default: //vengo del index $numero_adivinar = rand(0, 1024); $msj = "Vamos a empezar a jugar, inserta un número"; $reiniciar = "disabled"; $intentos = 0; } function valida($numero_adivinar, $numero) { switch (true) { case ($numero > $numero_adivinar): $msj = "El número $numero es MAYOR que el número buscado"; break; case ($numero < $numero_adivinar): $msj = "El número $numero es MENOR que el número buscado"; break; case ($numero === $numero_adivinar): $msj = "FIN"; break; } return $msj; } function terminar($estado) { global $msj, $numero, $intentos, $numero_adivinar, $reiniciar; if ($estado === true) { $msj = "FELICIDADES,$numero ES EL NÚMERO BUSCADO<br />"; $msj.="Lo has acertado en $intentos intentos"; $reiniciar = disabled; $intentos = 0; } else { $msj = "HAS TERMINADO TUS INTENTOS<br />"; $msj.="El número buscado es $numero_adivinar<br />"; $msj.="Buena suerte para la próxima vez"; $reiniciar = disabled; $intentos = 0; } } ?> <!doctype html> <html lang="en"> <head> <meta char3="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body style="width: 60%;float:left;margin-left: 20%; "> <h3><?php echo $msj ?></h3> <fieldset style="width:30%;background:bisque "> <legend>Empieza el juego</legend> <form action="jugar.php" method="POST" > Escribe un número <input type="text" name="numero" id=""> <hr /> <input type="submit" value="jugar" name="enviar" > <input type="submit" value="reiniciar" name="enviar" <?php echo $reiniciar ?> > <input type="submit" value="volver" name="enviar" > <input type="hidden" value="<?php echo $intentos ?>" name="intentos"> <input type="hidden" value="<?php echo $numero_adivinar ?>" name="numAdivinar"> </form> </fieldset> </body> </html> |
- Realizaremos esta práctica siguiendo o implementando los siguientes requisitos
- RF1: El fichero index.php me informará del juego
- RF2: El mismo fichero index.php me mostrará las opciones (ver imagen anterior)
- RF3: El fichero index.php tendrá un botón para empezar el juego
- RNF1: Deberemos identificar todas las variables que necesito
- Realiza un análisis de juego
- Juega directamente y anótate todas las variables que necesitas ($jugada, $max, $min, $intentos,...').
- RF4 En el primer acceso a jugar.php inicializo las variables
- RF5 Establece la estrategia (inputs:hidden) para pasar los valores de las variables
- RF6 Actualiza las variables según jugada y apúntales en los hidden para la siguiente jugada
- RF7 Controla el fin del juego (exceder el número de jugadas o haber acertado el número)