CursosEmpresasBlogLiveConfPrecios

¡Hagamos un juego con PHP!

Clase 21 de 25 • Curso de PHP: Arreglos, Funciones y Estructuras de Control

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    ¿Ya conoces los fundamentos de PHP?

    ¿Ya conoces los fundamentos de PHP?

    02:26
Arreglos
  • 2
    ¿Qué son los arreglos?

    ¿Qué son los arreglos?

    07:36
  • 3
    Arreglos asociativos

    Arreglos asociativos

    13:46
  • 4
    Manipulando arreglos

    Manipulando arreglos

    13:43
  • 5
    Reto: escuela de michis

    Reto: escuela de michis

    11:50
Condicionales
  • 6
    Aprende a tomar decisiones con if y else

    Aprende a tomar decisiones con if y else

    10:20
  • 7
    Cómo organizar tu código con switch

    Cómo organizar tu código con switch

    09:58
  • 8
    Reto: ¿puedo retirar mis donaciones de Twitch?

    Reto: ¿puedo retirar mis donaciones de Twitch?

    05:35
Bucles
  • 9
    Ciclo while

    Ciclo while

    11:37
  • 10
    ¿Do... While?

    ¿Do... While?

    07:08
  • 11
    Ciclo for

    Ciclo for

    10:17
  • 12
    Ciclo foreach

    Ciclo foreach

    13:57
  • 13
    Reto: ¿cuántos caminos hay para llegar al mismo punto?

    Reto: ¿cuántos caminos hay para llegar al mismo punto?

    21:13
Funciones
  • 14
    Aprende a reutilizar tu código: funciones

    Aprende a reutilizar tu código: funciones

    09:55
  • 15
    Parámetros en las funciones

    Parámetros en las funciones

    09:06
  • 16
    Profundicemos en los parámetros

    Profundicemos en los parámetros

    14:30
  • 17
    Uso de return

    Uso de return

    07:57
  • 18
    Operador de nave espacial

    Operador de nave espacial

    07:49
  • 19
    ¡Expande tu arsenal de funciones!

    ¡Expande tu arsenal de funciones!

    05:07
  • 20
    Reto: completa el código

    Reto: completa el código

    04:46
Proyecto: juego del ahorcado con PHP
  • 21
    ¡Hagamos un juego con PHP!

    ¡Hagamos un juego con PHP!

    12:01
  • 22
    Validando las letras de los usuarios

    Validando las letras de los usuarios

    10:54
  • 23
    Terminando de programar el juego

    Terminando de programar el juego

    12:21
Bonus: HTML con esteroides
  • 24
    Cómo interactúa PHP con HTML

    Cómo interactúa PHP con HTML

    08:13
Próximos pasos
  • 25
    Toma el Curso Práctico de PHP

    Toma el Curso Práctico de PHP

    02:35
    Matías Torezani

    Matías Torezani

    student•
    hace 4 años

    Es un capo el profesor Retax Master, un placer haber hecho éstos cursos.

    Jimmy Buriticá Londoño

    Jimmy Buriticá Londoño

    student•
    hace 4 años

    Consejo

    Una mejora al código es, no contar a mano las palabras que están en el arreglo, sino contarlas usando una función de PHP así:

    $choosen_word = $possible_words[ rand(0, count($possible_words) -1) ];
      Marcos Sar Lo

      Marcos Sar Lo

      student•
      hace 3 años

      excelente consejo, gracias Jimmy.

      Andres Salazar

      Andres Salazar

      student•
      hace 3 años

      Eso que dices es esencial, no la función, sino como resolviste el problema, automatizando!. y debo decir que lo hiciste de modo limpio, y claro. Iba a sugerir que count($possible_words) -1 se guardara en una variable, pero ese mismo número dificilmente se requiere de nuevo y no afecta en nada como lo escribiste! Gracias por compartirlo.

    Jhony Cepeda

    Jhony Cepeda

    student•
    hace 4 años

    Sí estas aquí, felicidades, ya casi terminas el curso, no pares!

      Luis Alberto Rodríguez Arellano

      Luis Alberto Rodríguez Arellano

      student•
      hace 4 años

      A pesar de ser un curso ameno y claro, sí se me ha hecho pesado no sé porque... xD

    José Samuel Mena Reyes

    José Samuel Mena Reyes

    student•
    hace 3 años

    Emojis

    Si están en Windows, creo que desde la versión 10, si ustedes presionan las combinaciones:

    Windows + .

    Es decir, la tecla windows y luego punto: . Les aparecerá un panel de emojis, pueden ver más acá.

    Por cierto una muy buena clase.

      Paula Melo

      Paula Melo

      student•
      hace 3 años

      😱😱😱😱😱😱😱

    Guadalupe Monge Barale

    Guadalupe Monge Barale

    student•
    hace 4 años

    Para insertar emojis en VCode tengo la extensión Emoji Snippets

    1. La instalas

    2. Escribes : en tu código

    3. Buscas el emoji que deseas (lo puedes hacer por palabra)

    4. Le das enter

    " cat 🐈 cat-face 🐱 cat-face-with-tears-of-joy 😹 "
      kleber Aguilar

      kleber Aguilar

      student•
      hace 3 años

      Yo no se que nomas de esa extensión pero en Windows yo presiono Windows + . y tengo los emojis en cualquier lugar.

    Gonzalo Giampaolo

    Gonzalo Giampaolo

    student•
    hace 3 años

    Yo use la lista de palabras del desafío de “ahorcado” del curso de Python.

    Y para leer las palabras y pasarlas a un array:

    $filename = "./data.txt"; $handle = fopen($filename,"r"); $possible_words = fread($handle,filesize($filename)); fclose($handle); $possible_words = explode("\n",$possible_words);```
    Luis Humberto Osorio Quiceno

    Luis Humberto Osorio Quiceno

    student•
    hace 4 años

    Un saludo. Que mas juegos tiene en su cabeza? Animo, demos ideas, sirven para la practica Gracias.

      Andres Salazar

      Andres Salazar

      student•
      hace 3 años

      A mi se me ocurrio el juego de pasar 3 misioneros y 3 caniblaes en una balsa por un rio donde no se puede dejar que el numero de misioneros sea menor al de canibales en cualquier orilla y la canoa solo puede transportar 2 personas.

    Antonio Javier Colmenarez Gonzalez

    Antonio Javier Colmenarez Gonzalez

    student•
    hace 3 años

    Como hago para ver el readline() desde xamp en window

      Carlos Eduardo Gomez García

      Carlos Eduardo Gomez García

      teacher•
      hace 3 años

      ¡Hola! No se puede, ya que Xampp es un servidor web. readline() solo funciona para la terminal, para web debemos usar inputs de HTML, pero eso no está en el alcance de este curso (tranquilo, eso se los enseño luego en el Curso de Integración de PHP con HTML) :D

      Para este curso te recomiendo seguirme en la terminal

    Santiago Velásquez Serna

    Santiago Velásquez Serna

    student•
    hace 2 años

    Tambien existe la funcion de array_rand para elegir un valor aleatorio del array

     $chosenWord=$possibleWords[array_rand( $possibleWords )]; No importa que tan grande sea el array, funcionará

    Joel Dominguez Merino

    Joel Dominguez Merino

    student•
    hace 3 años

    Ya tenemos la base del juego, ahora tocará implementar un poco de lógica para determinar si la palabra contiene la letra que el usuario eligio. Lo que puedo ver es que en efecto, PHP tiene demasiadas funciones de las cuales hacer uso. El detalle es que conozco apenas un par jaja Por eso me estoy apoyando de tú código aunque en un futuro volveré a hacer la implementación por mi cuenta para ver si se me ocurre algo nuevo. De momento comparto el código de la clase. .

    code.png

    Thomas Restrepo

    Thomas Restrepo

    student•
    hace 8 meses
    ###Intente hacerlo sin ver la clase y esta fue mi slución $words = ["avance", "pendulo", "cuadrado", "desarrollo"]; $word_game = $words[array_rand($words, 1)]; $points = 5; $correct_letters = []; while (true){ $advance_word = show_word_advance($correct_letters, $word_game); echo "Your balance score is: {$points} \n"; if($points < 1){ echo "Ahorcadito :( LOST ALL POINTS"; break; } $options = readline("Do you wanna said the word? 1 = yes 2 = no: "); if($options == "yes"){ echo "\n"; $user_word = readline("The word is: "); echo "\n"; if($user_word == $word_game){ echo "CONGRATULATIONS $user_word is the correct word \n"; break; } else { echo "You failed :( the word was: $word_game \n"; break; } } else { print_r("Ok lets go to discover the letters \n"); $letter = readline("What letter do you choose?: "); echo "\n"; $search = (str_contains($word_game, $letter)); if ($search == false){ echo "{$letter} isnt in the {$word_game} \n"; $points--; } else { array_push($correct_letters, $letter); echo "Correct {$letter} is in the {$word_game} \n"; } } } function show_word_advance($array, $word_game){ $word_game_array = str_split($word_game); foreach($word_game_array as $key){ if(!in_array($key, $array)){ $word_game_array = str_replace($key, "x", $word_game_array); } } $advance_in_string = implode("", $word_game_array); var_dump($advance_in_string . "\n"); print_r("Your actual word is: " . $advance_in_string . "\n"); return $advance_in_string; }
    Camilo Ramírez Melo

    Camilo Ramírez Melo

    student•
    hace 10 meses

    Genial, con este ejemplo pude revisar la documentación de los casos en que se usa define o const para definir una constante.

    Mariana Gil

    Mariana Gil

    student•
    hace 10 meses

    Retax... no me había dado cuenta de que te gustaban los gatitos, jaja! A mí también...

    Johan Sebastian Jimenez Molina

    Johan Sebastian Jimenez Molina

    student•
    hace 2 años
    <?php // Palabras para el juego $palabras = array("gato", "perro", "elefante", "jirafa", "leon"); // se crea el array palabras con las palabras para el juego // Seleccionar una palabra al azar $palabra = $palabras[array_rand($palabras)]; // se crea la variable palabra que obtiene una palabra al azar del array palabras // Número de intentos permitidos $intentosMaximos = 6; // se crea la variable intentosMaximos con el valor 6 // Letras adivinadas $letrasAdivinadas = array(); // se crea el array letrasAdivinadas donde se guardarán las letras adivinadas // Número de intentos realizados $intentosRealizados = 0; // se crea la variable intentosRealizados con el valor 0 donde se guardarán los intentos realizados // Función para mostrar la palabra oculta function mostrarPalabraOculta($palabra, $letrasAdivinadas) // se crea la función mostrarPalabraOculta con los parámetros palabra y letrasAdivinadas { $oculta = ""; // se crea la variable oculta con el valor vacío foreach (str_split($palabra) as $letra) { // se crea un ciclo foreach que recorre cada letra de la palabra con la función str_split que convierte la palabra en un array if (in_array($letra, $letrasAdivinadas)) { // se crea un condicional que verifica si la letra está en el array letrasAdivinadas con la función in_array que verifica si un valor existe en un array $oculta .= $letra; // si la letra está en el array letrasAdivinadas, se agrega la letra a la variable oculta } else { // si la letra no está en el array letrasAdivinadas $oculta .= "_"; // se agrega un guión bajo a la variable oculta } } return $oculta; // se retorna la variable oculta } // Función para mostrar las letras adivinadas function mostrarLetrasAdivinadas($letrasAdivinadas) // se crea la función mostrarLetrasAdivinadas con el parámetro letrasAdivinadas { return implode(", ", $letrasAdivinadas); // se retorna el array letrasAdivinadas con las letras separadas por una coma y un espacio } // Juego del ahorcado while ($intentosRealizados < $intentosMaximos) { // se crea un ciclo while que se ejecuta mientras los intentos realizados sean menores que los intentos máximos // Mostrar la palabra oculta y las letras adivinadas echo "Palabra: " . mostrarPalabraOculta($palabra, $letrasAdivinadas) . "\n"; // se muestra la palabra oculta y las letras adivinadas echo "Letras adivinadas: " . mostrarLetrasAdivinadas($letrasAdivinadas) . "\n"; // se muestra las letras adivinadas // Solicitar una letra al usuario $letra = readline("Ingresa una letra: "); // se crea la variable letra que obtiene la letra ingresada por el usuario // Validar la letra ingresada if (strlen($letra) != 1 || !ctype_alpha($letra)) { // se crea un condicional que verifica si la letra ingresada es válida echo "Por favor, ingresa una letra válida.\n"; // si la letra no es válida, se muestra un mensaje continue; // se reinicia el ciclo } // Verificar si la letra ya fue adivinada if (in_array($letra, $letrasAdivinadas)) { // se crea un condicional que verifica si la letra ya fue adivinada echo "Ya has adivinado esa letra.\n"; // si la letra ya fue adivinada, se muestra un mensaje continue; // se reinicia el ciclo } // Agregar la letra a las letras adivinadas $letrasAdivinadas[] = $letra; // se agrega la letra al array letrasAdivinadas // Verificar si la letra está en la palabra if (strpos($palabra, $letra) === false) { // se crea un condicional que verifica si la letra está en la palabra echo "La letra no está en la palabra.\n"; // si la letra no está en la palabra, se muestra un mensaje $intentosRealizados++; // se aumenta en 1 el valor de la variable intentosRealizados } // Verificar si se adivinaron todas las letras if (mostrarPalabraOculta($palabra, $letrasAdivinadas) == $palabra) { // se crea un condicional que verifica si se adivinaron todas las letras echo "¡Felicidades! Has adivinado la palabra.\n"; // si se adivinaron todas las letras, se muestra un mensaje break; // se termina el ciclo } } // Mostrar el resultado del juego if ($intentosRealizados == $intentosMaximos) { // se crea un condicional que verifica si los intentos realizados son iguales a los intentos máximos echo "Lo siento, has perdido. La palabra era: " . $palabra . "\n"; // si los intentos realizados son iguales a los intentos máximos, se muestra un mensaje } // Fin del juego ```\<?php// Palabras para el juego$palabras = array("gato", "perro", "elefante", "jirafa", "leon"); // se crea el array palabras con las palabras para el juego // Seleccionar una palabra al azar$palabra = $palabras\[array\_rand($palabras)]; // se crea la variable palabra que obtiene una palabra al azar del array palabras // Número de intentos permitidos$intentosMaximos = 6; // se crea la variable intentosMaximos con el valor 6 // Letras adivinadas$letrasAdivinadas = array(); // se crea el array letrasAdivinadas donde se guardarán las letras adivinadas&#x20; // Número de intentos realizados$intentosRealizados = 0; // se crea la variable intentosRealizados con el valor 0 donde se guardarán los intentos realizados // Función para mostrar la palabra ocultafunction mostrarPalabraOculta($palabra, $letrasAdivinadas) // se crea la función mostrarPalabraOculta con los parámetros palabra y letrasAdivinadas{    $oculta = ""; // se crea la variable oculta con el valor vacío    foreach (str\_split($palabra) as $letra) { // se crea un ciclo foreach  que recorre cada letra de la palabra con la función str\_split que convierte la palabra en un array        if (in\_array($letra, $letrasAdivinadas)) { // se crea un condicional que verifica si la letra está en el array letrasAdivinadas con la función in\_array que verifica si un valor existe en un array            $oculta .= $letra; //   si la letra está en el array letrasAdivinadas, se agrega la letra a la variable oculta        } else { // si la letra no está en el array letrasAdivinadas            $oculta .= "\_"; //  se agrega un guión bajo a la variable oculta        }    }    return $oculta; // se retorna la variable oculta} // Función para mostrar las letras adivinadasfunction mostrarLetrasAdivinadas($letrasAdivinadas) // se crea la función mostrarLetrasAdivinadas con el parámetro letrasAdivinadas{    return implode(", ", $letrasAdivinadas); // se retorna el array letrasAdivinadas con las letras separadas por una coma y un espacio} // Juego del ahorcadowhile ($intentosRealizados < $intentosMaximos) { // se crea un ciclo while que se ejecuta mientras los intentos realizados sean menores que los intentos máximos    // Mostrar la palabra oculta y las letras adivinadas    echo "Palabra: " . mostrarPalabraOculta($palabra, $letrasAdivinadas) . "\n"; // se muestra la palabra oculta y las letras adivinadas    echo "Letras adivinadas: " . mostrarLetrasAdivinadas($letrasAdivinadas) . "\n"; // se muestra las letras adivinadas    // Solicitar una letra al usuario    $letra = readline("Ingresa una letra: "); // se crea la variable letra que obtiene la letra ingresada por el usuario     // Validar la letra ingresada    if (strlen($letra) != 1 || !ctype\_alpha($letra)) { // se crea un condicional que verifica si la letra ingresada es válida        echo "Por favor, ingresa una letra válida.\n"; // si la letra no es válida, se muestra un mensaje        continue; // se reinicia el ciclo    }     // Verificar si la letra ya fue adivinada    if (in\_array($letra, $letrasAdivinadas)) { // se crea un condicional que verifica si la letra ya fue adivinada        echo "Ya has adivinado esa letra.\n"; // si la letra ya fue adivinada, se muestra un mensaje        continue; // se reinicia el ciclo    }     // Agregar la letra a las letras adivinadas    $letrasAdivinadas\[] = $letra; // se agrega la letra al array letrasAdivinadas     // Verificar si la letra está en la palabra    if (strpos($palabra, $letra) === false) { // se crea un condicional que verifica si la letra está en la palabra        echo "La letra no está en la palabra.\n"; // si la letra no está en la palabra, se muestra un mensaje        $intentosRealizados++; // se aumenta en 1 el valor de la variable intentosRealizados    }     // Verificar si se adivinaron todas las letras    if (mostrarPalabraOculta($palabra, $letrasAdivinadas) == $palabra) { // se crea un condicional que verifica si se adivinaron todas las letras        echo "¡Felicidades! Has adivinado la palabra.\n"; // si se adivinaron todas las letras, se muestra un mensaje        break; // se termina el ciclo    }} // Mostrar el resultado del juegoif ($intentosRealizados == $intentosMaximos) { // se crea un condicional que verifica si los intentos realizados son iguales a los intentos máximos    echo "Lo siento, has perdido. La palabra era: " . $palabra . "\n"; // si los intentos realizados son iguales a los intentos máximos, se muestra un mensaje} // Fin del juego
    Santiago Andres Alvarez Cuadros

    Santiago Andres Alvarez Cuadros

    student•
    hace 3 años

    Retándome a mí mismo de terminar de crear el juego, así me quedó la versión final:

    <?php $possible_words = ["Bebida", "Prisma", "Ala", "Dolor", "Piloto", "Baldosa", "Terremoto", "Asteroide", "Gallo", "Platzi"]; const MAX_ATTEMPTS = 10; echo "Juego del ahorcado" . PHP_EOL; // Inicializamos el juego $selectedWord = strtolower($possible_words[rand(0, 9)]); $word_length = strlen($selectedWord); $discoveredLetters = str_pad("", $word_length, "_"); echo "La palabra contiene $word_length letras: " . PHP_EOL; echo $discoveredLetters . PHP_EOL; $attemptsLeft = MAX_ATTEMPTS; do { /* creamos un arreglo que guarde las posiciones de las letras que coincidan con $selectedWord */ $lettersIndex = []; // quitamos espacios y convertimos a minúsculas $insertedLetter = trim(strtolower(readline("\nIngresa una letra: "))); // validamos la entrada del usuario if (strlen($insertedLetter) !== 1) { echo "Debes ingresar solamente una letra" . PHP_EOL; continue; } else if (preg_match('/[^a-z]/', $insertedLetter)) { echo "Solamente puedes ingresar letras de la A a la Z" . PHP_EOL; continue; } // si $insertedLetter coincide con alguna letra en $selectedWord if (str_contains($selectedWord, $insertedLetter)) { /* iteramos para obtener todas las posiciones de las letras que coincidan dentro de $selectedWord y las guardamos en $lettersIndex */ for ($i = 0; $i < $word_length; $i++) { if ($selectedWord[$i] === $insertedLetter) { array_push($lettersIndex, $i); } } /* ya obtenidas las posiciones, iteramos $lettersIndex para reemplazar los guiones en $discoveredLetters por la letra en $insertedLetter */ foreach ($lettersIndex as $value) { $discoveredLetters[$value] = $insertedLetter; } } else { // si no se encuentran coincidencias, restamos un intento $attemptsLeft--; } if ($selectedWord === $discoveredLetters) { echo "$discoveredLetters" . PHP_EOL; echo "Ganaste!" . PHP_EOL; echo "\n"; break; } echo $discoveredLetters . PHP_EOL; echo "Te quedan $attemptsLeft intentos" . PHP_EOL; echo "\n"; } while (str_contains($discoveredLetters, "_") && $attemptsLeft > 0); if ($selectedWord !== $discoveredLetters) { echo "La palabra era $selectedWord, lo siento :(" . PHP_EOL; echo "\n"; }
    Jose Alejandro Pantoja Giraldo

    Jose Alejandro Pantoja Giraldo

    student•
    hace 3 años

    dejen la entrada del usuario en una sola letra.

    $player_letter = strtolower( readline("Escribe una letra: ") );
    Hallking Quesada Medina

    Hallking Quesada Medina

    student•
    hace 3 años

    no se que también este, pero este es mi juego.

    function getPalabra(){ $palabras = ["bebida", "prisma", "ala", "dolor", "piloto", "baldosa", "terremoto", "asteroide"]; $palbara = $palabras[array_rand($palabras, 1)]; return $palbara = str_split($palbara); } function getCantidaLetras($palabra){ return count($palabra); } function setCoincidencia($palabra, $Letra, $coincidencia){ var_dump($coincidencia); echo "\n\n"; var_dump($coincidencia); } $getPlabra = ["p","r","i","s","m","a"]; $palabra = $getPlabra; //getPalabra(); echo "Bienvenido al juego del ahorcado, La pabra que te toco tiene " . getCantidaLetras($palabra) . " Letras e Intentos \nLisot para jugar \n\n"; $coincidencia = []; $ahorcado = []; for ($i=0; $i < getCantidaLetras($palabra); $i++) { array_push($coincidencia, " - "); echo $coincidencia[$i]; } $intentos = (int) 11; do{ echo "\n\n"; $Letra = readline("Ingresa la primera letra: "); $error = 0; if(strlen($Letra) == 1){ foreach ($palabra as $key => $value) { if($value == $Letra) { $coincidencia[$key] = " ".$Letra." "; } else { $error++; } } foreach ($coincidencia as $value) { echo $value; } if($error == getCantidaLetras($palabra)) $intentos = ($intentos-1); switch ($intentos) { case '10': echo "\n\n"; echo " ________|\n"; echo " |________|\n"; break; case '9': echo "\n\n"; echo " |\n"; echo " |\n"; echo " |\n"; echo " |\n"; echo " ________|\n"; echo " |________|\n"; break; case '8': echo "\n\n"; echo " _______\n"; echo " |\n"; echo " |\n"; echo " |\n"; echo " |\n"; echo " ________|\n"; echo " |________|\n"; break; case '7': echo "\n\n"; echo " _______\n"; echo " | |\n"; echo " |\n"; echo " |\n"; echo " |\n"; echo " ________|\n"; echo " |________|\n"; break; case '6': echo "\n\n"; echo " _______\n"; echo " | |\n"; echo " 0 |\n"; echo " |\n"; echo " |\n"; echo " ________|\n"; echo " |________|\n"; break; case '5': echo "\n\n"; echo " _______\n"; echo " | |\n"; echo " 0 |\n"; echo " | |\n"; echo " |\n"; echo " ________|\n"; echo " |________|\n"; break; case '4': echo "\n\n"; echo " _______\n"; echo " | |\n"; echo " 0 |\n"; echo " |\ |\n"; echo " |\n"; echo " ________|\n"; echo " |________|\n"; break; case '3': echo "\n\n"; echo " _______\n"; echo " | |\n"; echo " 0 |\n"; echo " /|\ |\n"; echo " |\n"; echo " ________|\n"; echo " |________|\n"; break; case '2': echo "\n\n"; echo " _______\n"; echo " | |\n"; echo " 0 |\n"; echo " /|\ |\n"; echo " \ |\n"; echo " ________|\n"; echo " |________|\n"; break; case '1': echo "\n\n"; echo " _______\n"; echo " | |\n"; echo " 0 |\n"; echo " /|\ |\n"; echo " / \ |\n"; echo " ________|\n"; echo " |________|\n"; echo "\n Has perdido \n"; break; default: echo ""; break; } } else{ echo "Solo puede ingresar una letra a la vez\n"; } } while ($intentos > 0);
    Luis Enrique Jiménez Trejo

    Luis Enrique Jiménez Trejo

    student•
    hace 3 años

    Desarrollé el juego antes de ver el video, aceptó retro colegas! 😁

    <?php # Arreglo que me almacenara las letras acertadas $encontrados = array(); # Arreglo que me almacenara los valores que haya intentado el usuario $intentados = array(); # Arreglo que me almacenara las letras de la palabra $caracteresCorrectos = array(); # Se ingresa la palabra que tendra que adivinar el usuario // $palabraEscondida = strtolower(readline("Ingresa la palabra escondida: ")); #Se puede cambiar Ferrocarril por cualquier palabra $palabraEscondida = strtolower("Ferrocarril"); $aux = ""; # Definimos el numero de intentos que le otorgamos al usuario $intentos = 5; # Se imprime la longitud de la palabra como pista echo "Longitud de la palabra: ".strlen($palabraEscondida)."\t"; # En este for almacenamos en un arreglo todas las letras que conforman a la palabra # y le aplicamos el array_unique para evitar tener alguna letra duplicada en el arreglo. for($i = 0; $i<strlen($palabraEscondida); $i++){ echo "_ "; array_push($caracteresCorrectos, $palabraEscondida[$i]); $caracteresCorrectos = array_unique($caracteresCorrectos); $aux .= "_"; } echo "\n"; # Mientras el usuario tenga intentos se estará ejecutando el while while ($intentos > 0) { # Le pedimos que nos diga una letra $letra = readline("Teclea una letra: "); # Validamos que NO haya intentado esa letra antes buscandola en un # arreglo que almacena sus intentos y si ya existe le restamos una vida # y le mostramos la advertencia de que ha perdido un intento if(in_array($letra,$intentados)){ echo "Ya haz intentado con esa...\n"; $intentos--; echo "Te quedan $intentos intentos\n"; }else{ # Si pasa la primera validación entonces entra a la validación donde pregunta si la letra dada # se encuentra dentro de la palabra secreta if(strstr($palabraEscondida,$letra)){ echo "Haz acertado una letra de la palabra escondida\n"; # Almacenamos el acierto en el arreglo de las letras encontradas y en # el arreglo de los intentos array_push($encontrados, $letra); array_push($intentados, $letra); # En este for se analiza la letra dada y se reemplaza en los "_" for($i=0; $i<strlen($palabraEscondida); $i++){ if($letra==$palabraEscondida[$i]){ $aux[$i] = $letra; } } # Si el arreglo de las letras contenidas es igual a de los # encontrados entonces se rompe el while y asi se gana el juego de ahorcado if(count($caracteresCorrectos)==count($encontrados)){ echo "Felicidades haz hallado todas las letras contenidas en la palabra\nGANADOR!!!\n\nSolucion: $palabraEscondida"; break; } }else{ #Si la letra dada no está contenida en la palabra secreta el usuario pierde una vida echo "Intento erroneo...\n"; array_push($intentados, $letra); $intentos--; echo "Te quedan $intentos intentos\n"; } } echo $aux."\n"; }
    kleber Aguilar

    kleber Aguilar

    student•
    hace 3 años

    Asi vamos en esta clase 💚

    <?php // *Juego del ahorcado // *Palabras a usar $possible_word = ["Bebida","Prisma", "Ala", "Dolor", "Piloto ", "Baldosa", "Terremoto", "Asteroide", "Gallo", " Platzi"]; //* Numero de intentos define("MAX_ATTEMPTS", 6); echo "🐱 Juego del ahorcado\n\n"; // *Inicioalizamos el juego // *Elegimos las palabra aleatoriamente $chossen_word = $possible_word [rand(0, 9)]; // *Convertir de mayusculas a minusculas $chossen_word = strtolower($chossen_word); // *Medir las logitud del las palabras $word_length = strlen($chossen_word); // *Cambiamos las palabras iniciales guiones $discovered_letters = str_pad("", $word_length,"_"); $attempts = 0; echo "Palabra de $word_length letras \n\n"; echo $discovered_letters . "\n\n"; // *Pedimos la respuesta $player_letter = readline("Escribe una letra: "); $player_letter = strtolower($player_letter); echo "\n"; ?>
    Emilio Salvatore Ampuero Sepúlveda

    Emilio Salvatore Ampuero Sepúlveda

    student•
    hace 3 años

    Otra forma de agregar emojis es presionando tecla windows + .

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads