PHP - JUEGO CON SESIONES Y COOKIES

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en PHP (en relación al último mes)
Gráfica de PHP

JUEGO CON SESIONES Y COOKIES

Publicado por martina (10 intervenciones) el 30/11/2018 16:54:19
Hola!! Alguien sabe como hacer este juego con sesiones, y lo mismo pero con cookies?

ADIVINA UN NÚMERO DEL 0 AL 100

(Formulario)

Adivina un número

Enviar

Al introducir el número te ponga los intentos que te quedan (son 5)

Te dice también si el número que has introducido es demasiado pequeño o demasiado grande respecto al que tienes que acertar.

Cuando gastes todos los intentos botón de jugar otra vez

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
Imágen de perfil de abzer0x
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

JUEGO CON SESIONES Y COOKIES

Publicado por abzer0x (157 intervenciones) el 01/12/2018 02:47:40
Hola Martina, te dejo un ejemplo muy sencillo y básico el cual claramente pude mejorarse, pero si recién estas iniciándote en php puede servirte.
Tomando como base el mismo puedes realizar la otra versión utilizando cookies en lugar de sesiones.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
session_start();
if (!isset($_SESSION['attempts'])) {
    // Creo las variables de sesión
    $_SESSION['max_attempts'] = 5;
    $_SESSION['attempts'] = 0;
    $_SESSION['number_random'] = random_int(0, 100);
    $_SESSION['correct_answer'] = false;
    $_SESSION['message'] = '';
}
 
if (isset($_POST['number'])) {
    if (!preg_match('/^[0-9]+$/', $_POST['number'])) {
        $_SESSION['message'] = 'El valor ingresado no es valido';
    } else {
        $number_user = (int) $_POST['number'];
        $_SESSION['attempts']++;
        // Evaluo si es un número
        if ($number_user == $_SESSION['number_random']) {
            $_SESSION['message'] = 'Genial adivinaste el número!, lo haz hecho en ' . $_SESSION['attempts'];
            $_SESSION['message'] .= $_SESSION['attempts'] > 1 ? ' intentos' : ' intento';
            $_SESSION['correct_answer'] = true;
            // Compruebo alcanzó el número máximo de intentos
        } elseif ($_SESSION['attempts'] == $_SESSION['max_attempts']) {
            $_SESSION['message'] = 'El número de intentos finalizó, el número era ' . $_SESSION['number_random'];
            // Compruebo si el número es menor que el random
        } elseif ($number_user < $_SESSION['number_random']) {
            $_SESSION['message'] = 'El número es mayor que ' . $number_user;
            // Compruebo si el número es mayor que el random
        } elseif ($number_user > $_SESSION['number_random']) {
            $_SESSION['message'] = 'El número es menor que ' . $number_user;
        }
    }
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Random Number - Sessions</title>
</head>
<body>
    <?php if ($_SESSION['correct_answer'] || $_SESSION['attempts'] == $_SESSION['max_attempts']) {?>
    <p>
<?php
echo $_SESSION['message'];
    session_destroy();
    unset($_SESSION['attempts']);
    unset($_POST);
    ?>
        <a href="">¿Quiere volver a intentarlo?</a>
    </p>
    <?php } else {?>
    <h1>Adivina un número entre 0 - 100</h1>
    <p>Para ello cuentas con 5 intentos</p>
    <p><b>Número de intentos restantes:  </b><?php echo $_SESSION['max_attempts'] - $_SESSION['attempts']; ?></p>
    <p style="color: red;"><?php echo $_SESSION['message']; ?></p>
    <form action="" method="POST">
        <input type="text" name="number" placeholder="Ingresa un número">
        <input type="submit" value="Submit">
    </form>
    <?php }?>
</body>
</html>

Nos comentas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar