Diferencia entre revisiones de «Usuario:ManuelRomero/NewPHP/B2T1/formularios/practica»

De WikiEducator
Saltar a: navegación, buscar
(Juego de adivinar un número)
(Juego de adivinar un número)
Línea 6: Línea 6:
 
*El usuario pensará un número del 1 al 1024
 
*El usuario pensará un número del 1 al 1024
 
[[image:form_adivina.png]]
 
[[image:form_adivina.png]]
 +
 +
===Adivina un número===
 +
<br />
 +
{{MRM_Actividad|Title=Juego de adivinar números|
 +
*Haz un programa que genere un número aleatorio entre 0 y  1024
 +
*Después deberás de intentar adivinarlo.
 +
*El programa te informará de si el número que aportas es menor, mayor o si lo has acertado
 +
*Tendrás 10 intentos.
 +
*En cualquier momento podrás reiniciar el juego mientras estás jugando
 +
**(Se calculará otro número y tendrás 10 intentos de nuevo)
 +
*Deberás de tener tres fichero:
 +
#index.html que te generará la información
 +
#jugar.php que es es juego
 +
#fin.php cuando termine la partida con la información del juego realizado.<br />
 +
[[imagen:DIAGRAMA NAVEGACIO1.png]]
 +
http://manuel.infenlaces.com/web/T2_adivinar/index.php
 +
 +
}}
 +
 +
*Realizaremos este ejercicio con requisitos
 +
;Requisito 1 pantalla de inicio
 +
#Crear la pantalla de bienvenida con la explicación del juego
 +
#Con una opción que me lleve a un fichero llamado juega.php
 +
#EL fichero de momento solo muestra un mensaje
 +
 +
;Requisito 2 generamos un número aleatorio
 +
#Solo lo genereamos si venimos de index.php
 +
#Tenemos un botón de jugar
 +
#Si apretamos ese botón volvemos a cargar jugar.php, pero sin generear el número
 +
#Podemos probar visualizando el número.
 +
;Requisito 3 solicitamos un número al usuario
 +
;Requisito 4 controlamos las jugadas
 +
;Requisito 5 informamos si es mayor menor el número
 +
;Requisitos 6 podemos reiniciar el juego
 +
;Requisitos 7 Volver al inicio
 +
;Requisitos 8 controlar el final
 +
;Requisitos 9 Ventana de fin
 +
;Requisitos 10 Volver a iniciar la partida desde el final
 +
 +
 +
Si volvemos a cargar la
 +
#Con una opción que me lleve a un fichero llamado juega.php
 +
#EL fichero de momento solo muestra un mensaje
 +
 +
<!--
 +
{{Plegable|hide|juego adivinar: index.html|
 +
<source lang=php>
 +
<!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>
 +
</source>
 +
}}
 +
{{Plegable|hide|jugar.php|
 +
<source lang=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>
 +
</source>
 +
 +
}}
 +
-->
 +
  
 
*Realizaremos esta práctica siguiendo o implementando los siguientes requisitos
 
*Realizaremos esta práctica siguiendo o implementando los siguientes requisitos

Revisión de 23:48 7 oct 2018



Juego de adivinar un número

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 1024

Form adivina.png

Adivina un número



Icon activity.jpg
Juego de adivinar números
  • Haz un programa que genere un número aleatorio entre 0 y 1024
  • Después deberás de intentar adivinarlo.
  • El programa te informará de si el número que aportas es menor, mayor o si lo has acertado
  • Tendrás 10 intentos.
  • En cualquier momento podrás reiniciar el juego mientras estás jugando
**(Se calculará otro número y tendrás 10 intentos de nuevo)
  • Deberás de tener tres fichero:
  1. index.html que te generará la información
  2. jugar.php que es es juego
  3. fin.php cuando termine la partida con la información del juego realizado.

DIAGRAMA NAVEGACIO1.png

http://manuel.infenlaces.com/web/T2_adivinar/index.php




  • Realizaremos este ejercicio con requisitos
Requisito 1 pantalla de inicio
  1. Crear la pantalla de bienvenida con la explicación del juego
  2. Con una opción que me lleve a un fichero llamado juega.php
  3. EL fichero de momento solo muestra un mensaje
Requisito 2 generamos un número aleatorio
  1. Solo lo genereamos si venimos de index.php
  2. Tenemos un botón de jugar
  3. Si apretamos ese botón volvemos a cargar jugar.php, pero sin generear el número
  4. Podemos probar visualizando el número.
Requisito 3 solicitamos un número al usuario
Requisito 4 controlamos las jugadas
Requisito 5 informamos si es mayor menor el número
Requisitos 6 podemos reiniciar el juego
Requisitos 7 Volver al inicio
Requisitos 8 controlar el final
Requisitos 9 Ventana de fin
Requisitos 10 Volver a iniciar la partida desde el final


Si volvemos a cargar la

  1. Con una opción que me lleve a un fichero llamado juega.php
  2. EL fichero de momento solo muestra un mensaje


  • Realizaremos esta práctica siguiendo o implementando los siguientes requisitos
  1. RF1: El fichero index.php me informará del juego
  2. RF2: El mismo fichero index.php me mestrará las opciones (ver imagen anterior)
  3. RF3: El fichero index.php tendrá un botón para empezar el juego
  4. RNF1: Deberemos identificar todas las variables que necesito
    1. Realiza un análisis de juego
    2. Juega directamente y anótate todas las variables que necesitas ($min, $max, $jugada, ...).
  5. RF4 En el primer acceso a jugar.php inicializo las variables
  6. RF5 Establece la estrategia (inputs:hidden) para pasar los valores de las variables
  7. RF6 Actualiza las variables según jugada y apúntales en los hidden para la siguiente jugada
  8. RF7 Controla el fin del juego (exceder el número de jugadas o haber acertado el número )