Que onda amigos de Steemit me alegra mucho volver a compartir una vez más con ustedes y esta vez les traigo un super post que los divertirá mucho y los pondrá a pensar un poco con un juego interactivo que he preparado para ustedes, la programación en python se caracteriza por ser bastante limpia y sencilla de aprender, con este juego podremos ver como se proyecta la lógica de python y verán lo sencillo que es, a la final de eso se trata la programación de hacerlo lo más simple posible y que el usuario lo disfrute.
El programa o juego consiste en que el ejecutable va a seleccionar una serie de números, que llamaremos código y que el usuario tiene que adivinar, con la dificultad vamos a elegir hasta cuantos números queremos que seleccione el programa, el nivel más fácil es un serie de 3 números, el nivel medio es de 4 números y el nivel más difícil (o hardcore jaja) es de 5 números, una vez que el programa seleccione los números al azar y que por supuesto no se repita, vamos a pedirle al usuario que ingrese su primer propuesta, tratando de adivinar el código, dependiendo de la dificultad el usuario tiene que ingresar esa cantidad de dígitos y luego de un enter el programa le dirá cuantos números están en el orden correcto, es decir cuantos aciertos tiene y a la vez le dirá cuantas coincidencias tiene, es decir, cuantos números si se encuentran en el código pero que no están en el orden correcto, una vez que haya acertado a todo el código lo vamos a felicitar y le diremos al usuario en cuantos intentos lo logro para finalmente preguntarle si finalmente desea jugar de nuevo o no, a continuación voy a proceder a explicarles como es esto posible, es un juego bastante divertido y sano para el cerebro.
Bien lo primero que vamos a hacer es importar un modulo que en este caso se llama random que contiene la función necesaria para seleccionar números de manera aleatoria.
Después como vamos a preguntarle al usuario si quiere volver a jugar debemos poner el cuerpo de nuestro código dentro de una estructura while que nos permitirá realizar esta operación, así que realizamos lo siguiente:
Hemos creado una variable que le asignamos el valor 1, ya que 1 significará seguir jugando y 0 dejar de jugar, pero si queremos que entre al juego la primera vez que lo ejecutamos debemos dejarlo en 1. Ahora bien, entremos al ciclo while, como lo dije anteriormente, si todo lo dejaremos dentro de este ciclo vamos a realizar el cuerpo del código dentro de el, empezamos con un mensaje de bienvenida y enseguida le preguntamos al usuario que dificultad quiere que tenga el juego. Luego la respuesta del usuario la guardamos en una variable que llame dificultad.
Para que el juego se procese al nivel seleccionado debemos aclarar de cuantos números se juega en cada nivel, para esto realizamos lo siguiente:
con las estructuras if, elif hemos asignado la cantidad de dígitos para cada dificultad, ahora el siguiente paso es hacer que el programa almacene un código de manera aleatoria con la cantidad de dígitos que el usuario haya elegido en el paso anterior, de su respectiva dificultad, para ello realizaremos lo siguiente:
Con una tupla le hemos indicado al programa cuales son los símbolos validos que puede almacenar el código, tratamos los números como cadena de caracteres por eso lo colocamos entre comillas, después vamos a declarar una variable donde el código se ira almacenando, en este caso la variable código con una cadena vacía.
Ahora vamos a seleccionar números, todo comenzara con un ciclo for, donde i que automáticamente inicia desde 0 irá hasta la cantidad de dígitos que el usuario haya escogido en la dificultad, y vamos a definir una variable en la cual le asignaremos lo que en el modulo random con su función elija de nuestra tupla previamente creada. En nuestra variable código que en un principio no tenia nada irá almacenando los números elegidos, si se pueden fijar hemos tomado los números como cadenas, eso es porque a la hora de realizar la función en la variable código no queremos que python nos realice una suma de esos valores sino mas bien ir concatenando un número al lado del otro para formar una cifra de n dígitos.
Ahora en una variable llamada intentos comenzará siendo 1, ya que acaba de dar su primer propuesta y le iremos incrementando acorde se haga más intentos, ahora realizamos un bucle while donde comparamos la propuesta del usuario y mientras la propuesta sea diferente de código incrementamos la variable intentos y luego declaramos una variable aciertos que comienza siendo 0 y coincidencias tambien, luego dentro del while agregamos un ciclo for igual al anterior y dentro del for ingresamos una estructura if (cabe destacar que la manera de acceder a una tupla es mediante su indice, depende del número de este es la posición a la que queremos acceder)
Luego de hacer las respectivas comparaciones, imprimimos un mensaje diciéndole al usuario que la propuesta tiene n aciertos con n coincidencias. Ahora le pediremos que haga otra propuesta para seguir jugando. Una vez que haya acertado todo el código imprimimos el mensaje de felicitaciones y le preguntamos si desea seguir jugando de la siguiente manera:
ESTO SERIA TODO! con respecto al código, teniendo todo esto listo ya podemos probar nuestro jueguito rompe cabezas, vamos a probarlo y echar una partida:
Al iniciar nuestro juego digitaremos el nivel de dificultad en este caso le pondremos 1 para el nivel fácil
Como podemos ver mi código tuvo solo una coincidencia, no tuve mucho éxito jeje, pero sigamos probando para descubrir en que posición esa coincidencia debe estar.
Genial, he descubierto que en mi código el 7 es el numero con posición correcta, sigamos descubriendo el resto del código
Muy bien ya tengo 2 aciertos falta poco, por lo visto el 7 y el 2 están posicionados correctamente falta descubrir cual es el primer número de el código, pero se los dejaré como tarea para que ustedes también se diviertan jeje
Bueno chicos esto ha sido todo espero que les haya gustado este post de verdad es un juego bastante entretenido y sano para el cerebro, si gustan pueden mejorarlo son libres de ello, nos vemos en una próxima oportunidad.
Excelente tutorial @greylml, este post ha sido propuesto para ser votado por la cuenta @Cervantes.
¡Saludos! :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
OHHH! Muchas gracias por tomarme en cuenta :)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@originalworks
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
The @OriginalWorks bot has determined this post by @greylml to be original material and upvoted it!
To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Muy interesante, sigue asi ;)
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
gracias, asi será
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Excelente post!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
gracias :3 <3
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Muy educativo y te felicito por usar Python, Ya de di Upvote y te estoy siguiendo.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit