Programar dado de 100 o d20 con rand() en PHP

Bienvenidos a VerTutoriales, siguiendo con el proyecto de Reinos de Papel, hicimos un pequeño código donde generábamos una tirada de un dado de 100 o de 20, para ello utilizamos la función rand() de PHP.

La función rand(min, max), devuelve un entero que va desde el valor min hasta el valor max.

El código es muy sencillo, pero lo exponemos y luego explicaremos las lineas.

<?php

$mensaje = $_GET[‘txtmensaje’];  //recojo valor del tipo de dado
if ($mensaje != “”) //es la primera vez
{
echo “Estas lanzando un dado de “.$mensaje;
echo ‘<br />’;
}

if ($mensaje==”20”) //según el dado lanza d20 o d100
{
$num=rand(1,20);

echo $num;
echo “<br />”;

}elseif ($mensaje==”100″)
{
$num=rand(1,100);

echo $num;
echo “<br />”;

}

?>

<form id=”form1″ name=”form1″ method=”get” action=”dado.php”>
<label>
<input type=”submit” name=”button” id=”button” value=”Lanzar Dado” />
</label>
<p>
<label>
<select name=”txtmensaje” id=”txtmensaje”>
<option value=”20″>d20</option>
<option value=”100″>d100</option>
</select>
</label>
</p>
</form>

 

Como podeis ver el código no es muy extenso, pero vayamos por partes, lo primero es recojer la opción del dado d20 o d100,  comprueba la opción y “lanza el dado” utilizando la función rand(valor min, valor max) y se guarda en $num para luego mostrarlo en pantalla.

A continuación mostramos el formulario, el botón y un menú desplegable para la selección del dado, una vez hecha la selección pulsa el botón y comenzaría con el código, recojer la opción, realizamos la condicional, lanza el dado y otra vez se muestra el formulario… idem

¿Qué más se os ocurre añadirle?

Te puede interesar:

4 comentarios

  • G20LM commented on 10 julio, 2012 Reply

    y para este probema ???

    una aplicación utilizando HTML y PHP que simule el lanzamiento de un dado 20 veces, la aplicación debe imprimir el número de veces que salió cada cara del dado. Ejemplo:

    Cara 1: 5 veces.
    Cara 2: 2 veces.
    Cara 3: 3 veces.
    Cara 4: 6 veces.
    Cara 5: 3 veces.
    Cara 6: 1 veces.

    Total de lanzamientos: 20.

  • G20LM commented on 10 julio, 2012 Reply

    y el codigo de que forma quedaria??? soy novato en sto

    • VideoTutoriales commented on 11 julio, 2012 Reply

      Si eres novato en HTML y PHP, tendrás que hacer por cambiarlo, y eso con lleva práctica y escritura, mucha escritura de código.

      Las pistas ya te las he dado, pero te lo pongo en lenguaje natural y luego lo pasas a PHP

      Repetir de 1 a 20
      Tira dado
      Si es 1: Tirada1++;
      Si es 2: Tirada2++;
      Si es 3: Tirada3++;
      Si es 4: Tirada4++;
      Si es 5: Tirada5++;
      Si es 6: Tirada6++;
      Fin Repetir

      Imprimir Tirada1;
      Imprimir Tirada2;
      Imprimir Tirada3;
      Imprimir Tirada4;
      Imprimir Tirada5;
      Imprimir Tirada6;

      Con eso tendrías el código listo, se podría optimizar como comenté anteriormente utilizando un array, pero entiendo que aún no has manejado listas ni tablas, así que tampoco quiero liarte más.

      A ver si así lo entiendes mejor 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *