Hice mi propia versión del juego
Introducción
¡Practiquemos con PHP!
¿Qué es la consola de comandos?
Cómo entrenar tu pensamiento lógico
Conceptos básicos en la práctica
Operadores lógicos con PHP
Operadores aritméticos con PHP
Estructuras de control con PHP
¿Qué son las funciones?
Ejercicios matemáticos con código
Mostrando datos en HTML desde PHP
¡Ponte a prueba!
Microproyecto de lógica
Microproyecto: Juego de ordenamiento de palabras, diseño de flujo y algoritmo
¡Creando nuestro juego!
Mejorando nuestro juego
Finalizando nuestro juego
Ejercicios de práctica
Conclusiones
Code Review del proyecto y buenas prácticas
Cierre del curso
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 17
Preguntas 4
Hice mi propia versión del juego
main.php
analisis.php
Para los que no les funcione el enviar correctamente, en el form hay que renombrar el name por posicion0 , posicion1, posicion2
Espero les ayude.
Interesante como provoco los errores para luego corregirlos, esto pasa muy seguido en la practica…
a ustedes no les pasa?
Les comparto el código de la clase con pequeños ajustes para que se vea un poco mejor, se ve así:
Formulario:
Respuesta:
main.php
<?php
$wordsList = ["sol", "luna", "cielo"];
$scrambledWords = [];
for($i=0; $i < count($wordsList); $i++){
$scrambledWords[$i] = str_shuffle($wordsList[$i]);
echo "Palabra " . ($i+1) . ": $scrambledWords[$i]<br>";
}
echo "
<br>
<h3>Ingresa tus respuestas:</h3>
<form action ='analisis.php'>
<span>1. </span>
<input type='text' name='word0'><br>
<span>2. </span>
<input type='text' name='word1'><br>
<span>3. </span>
<input type='text' name='word2'><br>
<button type='submit'>Enviar</button>
</form>
";
analisis.php
<?php
$wordsList = ["sol", "luna", "cielo"];
if($_REQUEST["word0"] == $wordsList[0]) {
echo "La primera palabra ingresada es correcta<br>";
} else {
echo "La primera palabra ingresada es incorrecta, la palabra correcta es: $wordsList[0]<br>";
}
if($_REQUEST["word1"] == $wordsList[1]) {
echo "La segunda palabra ingresada es correcta<br>";
} else {
echo "La segunda palabra ingresada es incorrecta, la palabra correcta es: $wordsList[1]<br>";
}
if($_REQUEST["word2"] == $wordsList[2]) {
echo "La tercera palabra ingresada es correcta<br>";
} else {
echo "La tercera palabra ingresada es incorrecta, la palabra correcta es: $wordsList[2]<br>";
}
Noté que puede suceder que al momento de utilizar str_shuffle nuestra palabra desordenada podría quedar en el orden correcto, así que modifiqué el codigo para evitarlo.
$palabras = array("sol", "luna", "cielo");
$palabrasDesordenadas= array();
for($i=0; $i<count($palabras); $i++){
do{
$palabrasDesordenadas[$i]=str_shuffle($palabras[$i]);
}while($palabrasDesordenadas[$i]==$palabras[$i]);
}
Mejorando mi código anterior con lo aprendido:
<?php
$palabras=["enredadera","sombra","hoja","pasto","edificio","gatos"];
$retos = [];
foreach($palabras as $palabra) {
$retos[] = str_shuffle($palabra);
}
if($_REQUEST) {
$indice = 0;
foreach($_REQUEST as $respuesta) {
$correcta=$palabras[$indice++];
if($respuesta == $correcta) {
echo "<strong>$respuesta:</strong> ¡Respuesta correcta! <strong>:)</strong> <br><br>";
}else {
echo "<strong>$respuesta:</strong> ¡Incorrecto! <strong>:(</strong><br>La respuesta es: <strong>" . $correcta . "</strong><br><br>";
}
}
echo "<input type='button' value='Volver a jugar' onClick='history.go(-1);'>";
exit();
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Juego</title>
</head>
<body>
<h1>Adivina la palabra</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<?php
$i=0;
foreach($retos as $reto) {
echo "<p><strong>$reto</strong> <input type='text' name='respuesta" . ++$i ."' autocomplete='off'></p>";
}
?>
<button type="submit">Enviar</button>
</form>
</body>
</html>
Pense que era mucho mas dificil obtener las respuestas que se envian del html
Asi escribi el analisis
<?php
print_r($_REQUEST);
echo "<br>";
for ($i = 0; $i < 3; $i++) {
switch ($_REQUEST['palabra'.$i]) {
case 'sol' : echo "<br>Palabra correcta<br>"; break;
case 'luna' : echo "<br>Palabra correcta<br>"; break;
case 'cielo' : echo "<br>Palabra correcta<br>"; break;
default: echo "<br>Palabra incorrecta<br>";
}
}
main.php
<?php
$palabras = ["Limon","Manzana", "Pera"];
$palabrasDesordenadas = array();
for($i = 0; $i < count($palabras); $i++){
$palabrasDesordenadas[$i] = str_shuffle($palabras[$i]);
}
print_r($palabrasDesordenadas); // imprimimos el array con print_r()
echo "
<form action='validar.php'>
<label> Palabra en la posicion 0 </label> <input type = 'text' name = 'valorPosicion0'> <br>
<label> Palabra en la posicion 1 </label> <input type = 'text' name = 'valorPosicion1'> <br>
<label> Palabra en la posicion 2 </label> <input type = 'text' name = 'valorPosicion2'> <br>
<button type='submit'>Enviar</button>
</form>
";
Validar. php
<?php
print_r($_REQUEST);
$palabras = ["Limon","Manzana", "Pera"];
if($_REQUEST['valorPosicion0'] == $palabras[0]){
echo "La palabras que escribiste es correcta ";
}
else{
echo " La palabra que escribiste es incorrecta, vuelve a intentarlo ";
}
if($_REQUEST['valorPosicion1'] == $palabras[1]){
echo "La palabras que escribiste es correcta ";
}
else{
echo " La palabra que escribiste es incorrecta, vuelve a intentarlo ";
}
if($_REQUEST['valorPosicion2'] == $palabras[2]){
echo "La palabras que escribiste es correcta ";
}
else{
echo " La palabra que escribiste es incorrecta, vuelve a intentarlo ";
}
<?php
$palabras=["enredadera","sombra","hoja"];
$retos=["endararede","brosam","ahjo"];
$envio = $_REQUEST;
$contador = 0;
foreach($envio as $a){
if($a == $palabras[$contador]){
echo "<br>La palabra ".$a." es correcta<br>";
}
else{
echo "<br>La palabra ".$a." es incorrecta<br>";
}
$contador += 1;
}
?>
Muy confuso el video, no explica como se añaden los elementos a la array $palabrasDesordenadas. Lo tuve que detener y mirar varias veces para entenderlo, y no me considero tonto
Mi aporte de analisis.php
<?php
print_r($_REQUEST);
$palabras = [
"hola",
"mundo",
"auto"
];
echo "<br>";
for($i=0; $i<3 ; $i++) {
if ($palabras[$i] == $_REQUEST["palabra".$i]) {
echo "la palabra $palabras[$i] es correcta <br>";
} else {
echo "la palabra " . $_REQUEST['palabra'.$i] . " es in-correcta <br>";
}
}
Me encanta la positividad con la que resuelve el error
analisis.php
// print_r($_REQUEST);
$palabras = array(“sol”, “luna”, “cielo”);
if($_REQUEST[“palabra0”] == $palabras[0]){
echo “La palabra ingresada es correcta” ."<br>";
} else {
echo “La palabra ingresada es incorrecta, la palabra correcta es: " .$palabras[0] .”<br>";
}
if($_REQUEST[“palabra1”] == $palabras[1]){
echo “La palabra ingresada es correcta” ."<br>";
} else {
echo “La palabra ingresada es incorrecta, la palabra correcta es: " .$palabras[1] .”<br>";
}
if($_REQUEST[“palabra2”] == $palabras[2]){
echo “La palabra ingresada es correcta” ."<br>";
} else {
echo “La palabra ingresada es incorrecta, la palabra correcta es: " .$palabras[2] .”<br>";
}
index.php
$palabras = array(“sol”, “luna”, “cielo”);
$palabrasDesordenadas = array();
for($i = 0; $i < 3; $i++){
$palabrasDesordenadas[$i]= str_shuffle($palabras[$i]);
}
print_r($palabrasDesordenadas);
echo “
<form action=‘analisis.php’>
<input type=‘text’ name=‘palabra0’>
<input type=‘text’ name=‘palabra1’>
<input type=‘text’ name=‘palabra2’>
<button type=‘submit’>Enviar</button>
</form>
”;
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.