Foros del Web » Programando para Internet » PHP »

Como crear un numero aleatorio una vez

Estas en el tema de Como crear un numero aleatorio una vez en el foro de PHP en Foros del Web. No sabia expresarme con el titulo, estoy aprendiendoa usar php, y un ejercicio que se me ha ocurrido para practicar es hacer un juego donde ...
  #1 (permalink)  
Antiguo 28/07/2011, 11:13
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 13 años
Puntos: 16
Pregunta Como crear un numero aleatorio una vez

No sabia expresarme con el titulo, estoy aprendiendoa usar php, y un ejercicio que se me ha ocurrido para practicar es hacer un juego donde el servidor cree un numero del 1 al 100 y tu lo adivines provando numeros mientras el servidor te dice si tu opcion es mas alta o mas baja. Yo tengo esto:
Código PHP:
<?php

if(!filter_has_var(INPUT_POST"usrnum")){
                   
$num=rand(1,100);
}else{
    
$usrnum filter_input(INPUT_POST"usrnum");
if(
$usrnum == $num){
    print(
"Correcto, has acertado el numero $num!");
    
$num=rand(1,100);
}elseif(
$usrnum $num){
    print(
"Tu numero es muy alto");
}elseif(
$usrnum $num){
    print(
"Tu numero es muy bajo");
}
}
print <<<HERE
    <form action="" method="post">
    <fieldset>
    <input name="usrnum" type="text" value="" />
    <br />
    <input type="submit" value="enviar" />
    </fieldset>
    </form>
HERE;
print(
$num);
?>
Pero estono funciona, podran comprobarlo! Me ayudan?
  #2 (permalink)  
Antiguo 28/07/2011, 11:32
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Como crear un numero aleatorio una vez

Se me ocurre algo así si la diferencia es menor de 25 estuviste cerca sino, no estuviste cerca.

Código PHP:
Ver original
  1. $numRand = rand (1,100);
  2. $num = $_POST['usrnum'];
  3.  
  4. if ($num == $numRand) {
  5.     echo 'Adivinaste el numero';
  6. } elseif (round($num-$numRand) < 25) {
  7.     echo 'Estuviste cerca';
  8. } else {
  9.     echo 'No estuviste ni cerca, sigue intentando.';
  10. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 28/07/2011, 11:33
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Como crear un numero aleatorio una vez

No creo que te funcione porque cada vez que el usuario utilice el submit la pagina sera actualizada, entonces $num=rand(1,100); cambiara, deberás pensar en una forma de almacenar la variable para que pase entre cada submit... tal vez una sesión y cuando el usuario adivine mostrar un botón para resetear la variable de sesión...

Espero te sirva.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #4 (permalink)  
Antiguo 28/07/2011, 11:41
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 13 años
Puntos: 16
Respuesta: Como crear un numero aleatorio una vez

Eso es lo que quiero hacer, usar el comando $_session[""] c¡pero no se como aplicarlo
  #5 (permalink)  
Antiguo 28/07/2011, 11:44
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Como crear un numero aleatorio una vez

las sesiones son fáciles, primero escribe session_start(); en la primera linea de tu código, después creas la variable así:

$_SESSION['nombreVariable'] = unValor;

Y ya esta lista tu variable de sesión.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #6 (permalink)  
Antiguo 28/07/2011, 11:49
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 13 años
Puntos: 16
Respuesta: Como crear un numero aleatorio una vez

<?php

if(!filter_has_var(INPUT_POST, "usrnum")){
$num=rand(1,100);
$_SESSION["num"]=$num;
}else{
$num1=$_SESSION["num"];
$usrnum = filter_input(INPUT_POST, "usrnum");
if($usrnum == $num1){
print("Correcto, has acertado el numero $num!");
$num=rand(1,100);
$_SESSION["num"]=$num;
}elseif($usrnum > $num1){
print("Tu numero es muy alto");
}elseif($usrnum < $num1){
print("Tu numero es muy bajo");
}
}
print <<<HERE
<form action="" method="post">
<fieldset>
<input name="usrnum" type="text" value="" />
<br />
<input type="submit" value="enviar" />
</fieldset>
</form>
HERE;
print($num);
?>

CONSEGUIDO!

P.D. Lo que me referia es que me pusieras un ejemplo, teoria me sobra ya"
  #7 (permalink)  
Antiguo 28/07/2011, 11:54
 
Fecha de Ingreso: mayo-2011
Mensajes: 214
Antigüedad: 13 años
Puntos: 16
Respuesta: Como crear un numero aleatorio una vez

Bien pos ahora que ya he hecho lo facil viene lo dificil, pensarte tu un numero y que el lo adivine segun tu le dices si el suyo es alto o bajo, pos eso al reves, solo se me ha ocurido una forma, y consta de unos 100 condicionales, seguro que se puede hgacer mejor, me ayudan?

Etiquetas: numero, vez, aleatoria
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:22.