PHP - funcion php sencilla

 
Vista:

funcion php sencilla

Publicado por Fer (3 intervenciones) el 01/05/2018 19:54:11
su menú tiene 3 opciones:

primer Jugador: Lanzar 2 dados
dos Jugadores: Lanzar 1 dado
dos Jugadores: Lanzar 2 dados.

1º opción juega una sola persona que “lanza” 2 dados al azar. Gana si ambos dados muestran el mismo resultado.

2º opción cada jugador lanza 1 solo dado. Gana el jugador que obtenga el valor más alto (si ambos dados obtienen el mismo valor, empatan)

3º opción , cada jugador lanza 2 dados a la vez. El programa determina quién ha ganado según las siguientes reglas:

Si los dados de un jugador muestran igual resultado, pero no así los del otro, gana el primero.

Si en ambos jugadores sus dados muestran el mismo resultado, gana el jugador en el que éste sea más alto (si son iguales, empatan)

Si para ambos jugadores sus dados muestran resultados diferentes, gana el jugador en el que la suma de los puntos de sus 2 dados sea más alta (si las sumas son iguales, empatan)

tiene que mostrar el lanzamiento de los dados y el resultado

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

funcion php sencilla

Publicado por abzerox (157 intervenciones) el 02/05/2018 08:40:31
Hola , hice un pequeño código quizas te sirva. Es bien básico, con un poco de javascript y css y alguna optimización puede mejorarse, pero a modo de ejemplo sirve.

index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!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>Juego de dados</title>
</head>
<body>
    <form action="proccess.php" method="post">
        <select name="option" required>
            <option value="">Selecciona una opción</option>
            <option value="0">1 Jugador - 2 dados</option>
            <option value="1">2 Jugadores - 1 dado</option>
            <option value="2">2 Jugadores - 2 dados.</option>
        </select>
        <input type="submit" name="" value="Enviar">
    </form>
</body>
</html>

proccess.php
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
67
68
69
70
71
72
73
74
75
76
77
78
<?php
 
$opts = array(
    ['players' => 1, 'dices' => 2],
    ['players' => 2, 'dices' => 1],
    ['players' => 2, 'dices' => 2],
);
 
function throw_dices($players=1, $dices=1) {
    $values = array();
    for ($i=0; $i < $players; $i++) {
        $values[$i] = [];
        for ($j=0; $j < $dices; $j++) {
            $values[$i][$j] = random_int(1, 6);
        }
    }
    return $values;
}
 
function equals($array) {
    return count(array_count_values($array)) == 1;
}
 
if (isset($_POST['option']) && $_POST['option'] >= 0 && $_POST['option'] <= 2) {
    $option = $_POST['option'];
    $options_values = $opts[$option];
 
    // Lanzó los dados
    $values = throw_dices($options_values['players'], $options_values['dices']);
    $result = '';
 
    // Dependiendo de la opción, evaluo los valores obtenidos luego del lanzamiento
    // y determino el resultado final.
    if ($option == 0) {
        // 1º opción juega una sola persona que “lanza” 2 dados al azar. Gana si ambos dados muestran el mismo resultado.
        $result = $values[0][0] == $values[0][1] ? 'GANASTE!!!' : 'PERDISTE :(';
    } else if ($option == 1) {
        // 2º opción cada jugador lanza 1 solo dado. Gana el jugador que obtenga el
        // valor más alto (si ambos dados obtienen el mismo valor, empatan)
        $result = 'Gana jugador 1';
        if ($values[0] > $values[1]) {
            $result = 'Gana jugador 2';
        } else {
            $result = 'Empate';
        }
    } else if ($option == 2) {
        if (equals($values[0]) && !equals($values[1])) {
            $result = 'Gana jugador 1';
        } else if (!equals($values[0]) && equals($values[1])) {
            $result = 'Gana jugador 2';
        } else if ((equals($values[0]) && equals($values[1])) ||
            (!equals($values[0]) && !equals($values[1]))) {
            $points_player_1 = array_sum($values[0]);
            $points_player_2 = array_sum($values[1]);
            $result = 'Gana jugador 1';
 
            if ($points_player_2 > $points_player_1) {
                $result = 'Gana jugador 2';
            } else if ($points_player_1 == $points_player_2) {
                $result = 'Empate';
            }
        }
    }
 
    echo "<h1>Resultado Final: $result</h1>";
    echo "<table style='border-collapse: collapse;'>";
    echo "<tr><td style='border: 1px solid #000;'><b>N° Jugador</b></td>";
    echo "<td style='border: 1px solid #000;'><b>Lanzamientos</b></td></tr>";
    foreach ($values as $key => $value) {
        echo "<tr><td style='border: 1px solid #000;'>",$key + 1,"</td>";
        echo '<td style="border: 1px solid #000;">'.join(' - ', $value);
        echo "$points</td></tr>";
    }
    echo "</table>";
 
} else {
    echo 'La opción ingresada no es valida';
}

Comentanos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

funcion php sencilla

Publicado por Fer (3 intervenciones) el 02/05/2018 13:25:42
Está bien te lo agradezco mucho,pero solamente era codigo html y PHP. ¿Como podria quitar javascript y sustituir por PHP?.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de abzerox
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

funcion php sencilla

Publicado por abzerox (157 intervenciones) el 02/05/2018 13:32:07
Pero.... si hay unicamente código php y html.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

funcion php sencilla

Publicado por Fer (3 intervenciones) el 02/05/2018 13:38:06
me habias dicho esto : " Es bien básico, con un poco de javascript y css y alguna optimización puede mejorarse".

Gracias me sirve y funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar