Foros del Web » Programando para Internet » PHP »

juego de varialbes

Estas en el tema de juego de varialbes en el foro de PHP en Foros del Web. Ayuda en php porfa. La idea es crear un juego con las siguientes caracteristicas: Página Inicial Comenzando el Juego. Caso en que el jugador no ...
  #1 (permalink)  
Antiguo 03/04/2011, 19:19
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Exclamación juego de varialbes

Ayuda en php porfa.
La idea es crear un juego con las siguientes caracteristicas:
Página Inicial
Comenzando el Juego.
Caso en que el jugador no ha adivinado
Caso en que el jugador ha ganado
Caso en que las variables no fueron definidas y no permiten la ejecución del juego. Por ejemplo ingresar directo a la segunda página.
Caso en que el jugador completó el máximo de intentos (4).

Lo que yo tengo es esto EN UN ARCHIVO.

<form action="apuesta.php" method="get">
<?php
if(isset($_REQUEST["dado"])){
$dado = $_REQUEST["dado"];
if(isset($_REQUEST["apuestaUser"])&& $_REQUEST["apuestaUser"]==$dado){?>
"<p>¡Felicitaciones,has ganado! Vuelve a intentarlo.</p> <a href =\"ejemplotipo.php\"> Volver</a>";?>
<?php
}
elseif (!isset($_REQUEST["apuestaUser"])){
echo "Escriba un numero en el cuadro y presione apostar.";?><br />
<input type="text" name="apuestaUser">
<input type="submit" value="Apostar">
<?php
}

else{
echo"<p>Lo siento no has adivinado, vuelve a intentarlo</p>";?>
<input type="text" name="apuestaUser">
<input type="submit" value="Apostar">
<?php
}
}

else{
echo "<p> Se ha producido un error. Vuelve a intentarlo</p> <a href =\"ejemplotipo.php\"> Volver</a>";
}

?>
</form>

EN OTRO TENGO

<h1>Juego de Dados</h1>
<p>¡Atrevete a apostar en el juego!</p>
<form action="apuesta.php" method="get">
<input type="hidden" name="dado" value="<?php rand(1,6);?>">
<input type="submit" value="Jugar">
</form>.

Y TENGO UN CONTADOR
<html>
<form action="ejemplocontador.php" method="get">
<?php

if(isset($_REQUEST["contador"])){
$contador = $_REQUEST["contador"];
$contador++; //Esto es lo mismo que escribir contador = contador + 1
}
else {
$contador = 0;
}
?>
<p>El contador va en <?php echo $contador?>.</p>
<input type="hidden" value="<?php echo $contador;?>" name="contador">
<input type="submit" value="Seguir Contando">
</form>
</html>

MI PROBLEMA ES Q EN LA PRIMERA PARTE ME ABRE LA PANTALLA DE INICIO, PUEDO HACER LA APUESTA. PERO CUANDO PONGO UN NUMERO ME DIRECCIONA ALTIRO AL ERROR.
Y NO SE COMO PONERLE EL LIMITE PARA Q LLEGUE A 4.
HABER SI ALGUIEN PUEDE AYUDARME.
GRACIAS
  #2 (permalink)  
Antiguo 04/04/2011, 04:34
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: juego de varialbes

Buenas

Parece que más o menos está todo bien, sólo que lo tienes separado por páginas. Prueba a hacer algo así, en una sola página (a no ser que necesites a propósito tenerlo separado).

Está comprobado y funciona correctamente, pero como ya te he dicho, todo en una página:

Código PHP:
<?php
if(isset($_REQUEST["contador"])){
    
$contador $_REQUEST["contador"];
    
$contador++; //Esto es lo mismo que escribir contador = contador + 1
}else{
    
$contador 1;
}
if(isset(
$_REQUEST["dado"])){ // Si hay jugada (dado)
    // Verificamos que el contador es menor de 4 intentos
    
if($contador<4){ // Si aún no ha tirado 3 veces
        
$dado $_REQUEST["dado"];
        if(isset(
$_REQUEST["apuestaUser"])&& $_REQUEST["apuestaUser"]==$dado){ // Ha acertado
            
?><p>¡Felicitaciones, has ganado! Vuelve a intentarlo.</p> <a href ="apuesta.php"> Volver</a><?php
        
}elseif (!isset($_REQUEST["apuestaUser"])){ // Aún no ha enviado una apuesta
            
?>
            <form action="apuesta.php" method="get">
            Escriba un numero en el cuadro y presione apostar.<br />
            <input type="hidden" name="dado" value="<?php echo $dado;?>">
            <input type="hidden" name="contador" value="<?php echo $contador;?>">
            <input type="text" name="apuestaUser">
            <input type="submit" value="Apostar">
            </form>
            <?php
        
}else{ // No ha acertado la apuesta
            
?>
            <form action="apuesta.php" method="get">
            <p>Lo siento no has adivinado, vuelve a intentarlo (Quedan <?php echo (4-$contador);?> intentos)</p>
            <input type="hidden" name="dado" value="<?php echo $dado;?>">
            <input type="hidden" name="contador" value="<?php echo $contador;?>">
            <input type="text" name="apuestaUser">
            <input type="submit" value="Apostar">
            </form>
            <?php
        
}
    }else{ 
// Si el contador es igual o superior a 4 veces
        
?><p>Lo siento, no has adivinado en 3 intentos.</p> <a href ="apuesta.php"> Volver</a><?php
    
}
}else{ 
// Si no hay jugada (dado) carga la página principal
    
?>
    <h1>Juego de Dados</h1>
    <p>¡Atrevete a apostar en el juego!</p>
    <form action="apuesta.php" method="get">
        <input type="hidden" name="dado" value="<?php echo rand(1,6);?>">
        <input type="submit" value="Jugar">
    </form>
    <?php
}
Así de fallos que haya visto, la variable dado no recogía nada porque te faltaba el echo en <?php echo rand(1,6);?>.

Luego tienes que tener en cuenta que sólo pasabas un hidden del dado en el primer formulario y luego nada. Es decir, la primera vez que pulsas jugar, le mandabas el "dado" como hidden, pero luego al meter la apuesta en el siguiente formulario, ya no ponías el "dado" como hidden y éste se perdía, así que siempre comparaba la apuesta con "nada". Hay que ir pasando los hiddens en cada formulario si quieres mantenerlos.

Creo que eso era todo. Espero que te sirva.
Saludos!

Etiquetas: norpool1, patriarka
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 14:09.