Foros del Web » Programando para Internet » PHP »

Juego Calculo mental en PHP

Estas en el tema de Juego Calculo mental en PHP en el foro de PHP en Foros del Web. Hola a todos, Estoy practicando PHP por mi cuenta y me está costando realizar un juego sencillo. El juego consiste en que PHP gener 2 ...
  #1 (permalink)  
Antiguo 09/03/2012, 16:41
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta Juego Calculo mental en PHP

Hola a todos,

Estoy practicando PHP por mi cuenta y me está costando realizar un juego sencillo. El juego consiste en que PHP gener 2 número aleatorios y pida al usuario cual es el resultado de la suma de los 2. Si el resultado que da el usuario es el mismo que la suma de esos 2 número, dará un mensaje de enhorabuena, sino, que de un mensaje de que ha fallado. Lo que me sucede es que al enviar el formulario, hay una variable que al estar en otro archivo no consigo que la coja... Os copio el código de cada archivo.

index.php:

Código PHP:
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title></title>
    </head>
    <body>
        <div align="center">
            <?php
        
        mt_srand
(time());
        
        
$valor1mt_rand(0,9);
                
$valor2mt_rand(0,9);
        
        
$suma$valor1+$valor2;
        
        echo 
"¿Cuánto es ".$valor1." + ".$valor2."?";

        
        
?>
        </div>
        
        <div align="center"><form metoh="POST" action="resultado.php">
            <table>
                <tr>
                  <td align="right">Es:</td>
                    <td align="right"><input type="text" size="5" name="respuesta"></td>
                </tr>
                <tr>
                  <td><input type="submit"></td>
                    <td><div align="center"><input type="button" value="Reiniciar juego" onClick="window.location.reload()"></div></td>
                </tr>
            </table>
        </form>
            </div>

    </body>
</html>
Y el resultado.php:

Código PHP:
        <?php
        
                
if ($resultado == $suma){
            echo  
"Correcto. <a href=\"index.php\"> &iquest;Otra partida?</a>";
        }
        
        else {
            echo 
"Has fallado. El resultado es: ".$suma;
        }
        
        
?>

¿Saben como podría hacerlo?
  #2 (permalink)  
Antiguo 09/03/2012, 16:51
 
Fecha de Ingreso: septiembre-2011
Ubicación: DF
Mensajes: 26
Antigüedad: 13 años, 2 meses
Puntos: 6
Respuesta: Juego Calculo mental en PHP

Hola que tal

Puedes hacer algo asi


en index.php agregar un campo oculto en donde almacenes la suma de tus dos cantidades

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<div align="center">
<?php

mt_srand(time());

$valor1= mt_rand(0,9);
$valor2= mt_rand(0,9);

$suma= $valor1+$valor2;

echo "¿Cuánto es ".$valor1." + ".$valor2."?";


?>
</div>

<div align="center"><form metoh="POST" action="resultado.php">
<table>
<tr>
<td align="right">Es:</td>
<td align="right"><input type="text" size="5" name="respuesta">
<input type="hidden" size="5" name="suma" value="<?php echo $suma; ?>">

</td>
</tr>
<tr>
<td><input type="submit"></td>
<td><div align="center"><input type="button" value="Reiniciar juego" onClick="window.location.reload()"></div></td>
</tr>
</table>
</form>
</div>

</body>
</html>


y luego en resultado.php comparas el post de la respuesta y el campo oculto en donde tienes el resultado de la suma y lo comparas asi:


<?php
$resultado=$_POST['resultado'];
$suma=$_POST['suma'];


if ($resultado == $suma){
echo "Correcto. <a href=\"index.php\"> &iquest;Otra partida?</a>";
}

else {
echo "Has fallado. El resultado es: ".$suma;
}

?>


Saludos
  #3 (permalink)  
Antiguo 09/03/2012, 16:53
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 9 meses
Puntos: 53
Respuesta: Juego Calculo mental en PHP

en ese codigo envias la respuesta y para recibirla en elotro formulario seria algo asi

Código PHP:
Ver original
  1. $respuesta=$_POST['respuesta'];
te faltaria tener la variable suma

si la envias desde el archivo index debes colocarla en un hidden
Código PHP:
Ver original
  1. echo "<input type='hidden' name='suma' value='$suma'/>";

y en tu archivo resultado .php yuapodrias hacer la comparacion

Código PHP:
Ver original
  1. $respuesta=$_POST['respuesta'];
  2. $suma=$_POST['suma'];
  3. if($suma==$respuesta)
  4. {
  5. echo "Exito";
  6. }
  7. else
  8. {
  9. echo "Fallo";
  10. }
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #4 (permalink)  
Antiguo 09/03/2012, 17:22
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Juego Calculo mental en PHP

Me sale el siguiente error:

Notice: Undefined index: respuesta in G:\xampp\htdocs\Juegocalculomental\resultado.php on line 2

Notice: Undefined index: suma in G:\xampp\htdocs\Juegocalculomental\resultado.php on line 3
Correcto. ¿Otra partida?


Os dejo como están ambos archivos tras leer vuestros comentarios:

index.php:

Código PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<div align="center">
<?php

mt_srand
(time());

$valor1mt_rand(0,9);
$valor2mt_rand(0,9);

$suma=$valor1+$valor2;
    
/* @var $valor2 type */
echo "¿Cuánto es ".$valor1." + ".$valor2."?";


?>
</div>

<div align="center"><form metoh="POST" action="resultado.php">
<table>
<tr>
<td align="right">Es:</td>
<td align="right"><input type="text" size="5" name="respuesta">
<input type="hidden" size="5" name="suma" value="<?php echo $suma?>">

</td>
</tr>
<tr>
<td><input type="submit"></td>
<td><div align="center"><input type="button" value="Reiniciar juego" onClick="window.location.reload()"></div></td>
</tr>
</table>
</form>
</div>

</body>
</html>
resultado.php:

Código PHP:
<?php
$resultado 
$_POST['respuesta'];
$suma $_POST['suma'];


if (
$resultado == $suma){
echo 
"Correcto. <a href=\"index.php\"> &iquest;Otra partida?</a>";
}

else {
echo 
"Has fallado. El resultado es: ".$suma;
}

?>
  #5 (permalink)  
Antiguo 09/03/2012, 17:29
 
Fecha de Ingreso: septiembre-2011
Ubicación: DF
Mensajes: 26
Antigüedad: 13 años, 2 meses
Puntos: 6
Respuesta: Juego Calculo mental en PHP

Hola de nuevo

en tu formulario tienes escrito <form metoh="....


tiene que ser <form method="....


Saludos
  #6 (permalink)  
Antiguo 09/03/2012, 17:33
 
Fecha de Ingreso: mayo-2010
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Juego Calculo mental en PHP

Cita:
Iniciado por Bish0p Ver Mensaje
Hola de nuevo

en tu formulario tienes escrito <form metoh="....


tiene que ser <form method="....


Saludos
Que fallo más tonto por dios... ¡Gracias! Era eso. Y gracias a los demás por ayudarme, ya he aprendido algo más :D

Etiquetas: calculo, juego, mental, variables
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 04:03.