![ojotes](http://static.forosdelweb.com/fdwtheme/images/smilies/ojotes.png)
No habia más respuestas a este tema??... juraria que leí por ahí la propuesta de hacerlo en una sola pag... Pués bien, no soy experto, ando en proceso de aprendizaje y me pareció buen ejercicio. He aquí mi propuesta
Código PHP:
<?php
$intentos_maximos = 5; // Definimos el maximo de intentos...
// Si no esta definina $_POST, lo tomamos como juego nuevo
if(!isset($_POST['adivina'])) {
setcookie('numero', rand(0,100), time()+600);
setcookie('intentos', '1', time()+600);
// Iniciamos con un intento porque desde el inicio se pide introducir el número.
echo "<center><b>Bienvenido a este sencillo juego</b><br> El objetivo es adivinar un número dado al azar en un rango del 0 al 100 en menos de 5 intentos<br>Para ello se te darán una serie de pistas<br><b>S U E R T E ! ! </b>"; //babosadas, lo sé...
// Ni modos.. a imprimir el form...
?>
<form name="adivina" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>Tú número:
<input type="text" name="adivina">
</p>
<p>
<input type="submit" value="SUERTE!!!">
</p>
</form>
</center>
<?php
} else {
// Estamos en juego... empezamos a sumar intentos y checar oportunidades...
setcookie('intentos', $_COOKIE['intentos']+1, time()+600);
if ($_COOKIE['intentos'] >= $intentos_maximos) {
// Si revazó el número de oportunidades, salimos...
echo "<br><b>Ups! No lograste adivinar el número secreto (".$_COOKIE['numero'].").</b><br>No te des por vencido, vuelve a intentarlo!!!. Solo da click <a href=\"".$_SERVER['PHP_SELF']."\">aquí</a></center>";
} else {
// Inicio la busqueda de si se encontró el número deseado.
// Si se encontró.. finalizamos...
if ($_POST['adivina'] == $_COOKIE['numero']) {
echo "<br><b>FELICIDADES!!!</b><br>Haz adivinado el número... :-D . Ojalá y te haya gustado este pequeño juego<br><br>Para volver a jugar solo da click <a href=\"".$_SERVER['PHP_SELF']."\">aquí</a></center>"; // Más babosadas... repito, lo sé.
} else {
// Si aún no es igual... imprimimos los diferentes casos como ayuda... y después el form
$restan = 5 - $_COOKIE['intentos'];
if ($_POST['adivina'] < $_COOKIE['numero']) {
echo "</center><br>Tu número: ".$_POST['adivina']."<br><i><b>El número buscado es MAYOR</i></b><br>Te quedan ".$restan." intentos.";
} elseif ($_POST['adivina'] > $_COOKIE['numero']) {
echo "</center><br>Tu número: ".$_POST['adivina']."<br><i><b>El número buscado es MENOR</i></b><br>Te quedan ".$restan." intentos.";
} else {
echo "<br><b>ERROR!: NO DEBERIA EXISTIR ESTA CONDICIÓN</center></b>";
}
// Inicia el form
?>
<center>
<form name="adivina" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<p>Tú número:
<input type="text" name="adivina">
</p>
<p>
<input type="submit" value="ADIVINA!!!">
</p>
</form>
</center>
<?php
// cerramos...
}
}
}
?>
![Neurótico](http://static.forosdelweb.com/fdwtheme/images/smilies/scared.png)
puf! que lio... haber qué arreglos me puedes segerir...
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
Se que está lioso "la presentación" del código... pero fue de a rapido... Algo que no me gusta es el hecho de poner 2 veces en el código el form: 1 para la primera vez y otra para cuando se sigue jugando... no hayé una mejor forma... quizá con includes pero se trata de que quede en una sola pag...
Bueno.. lo que hace el ocio...