Con unos 2500 millones de aficionados, el cricket es uno de los deportes más importantes y populares del mundo. Solo en India, el cricket vale la friolera de 5.300 millones de dólares. Sachin Tendulkar, Donald Bradman, Brian Lara y MS Dhoni son solo algunas leyendas cuyos nombres viven en los corazones de millones.
No sorprende que el cricket haya encontrado su camino hacia la realidad virtual, los videojuegos y otras variaciones como el cricket de libro y mano. Lleve este juego un paso más allá creando un juego de cricket manual usando Python.
¿Qué es el grillo de mano?
El cricket de mano es un juego en el que dos jugadores compiten entre sí usando los dedos. En cada turno, ambos jugadores muestran un número usando sus dedos al mismo tiempo. Si los puntajes coinciden, el bateador queda eliminado; de lo contrario, ganan su número como carreras. Finalmente, el jugador que anota más gana el juego.
Puedes construir este juego y jugarlo contra una computadora también. En lugar de extender los dedos para representar la partitura, la ingresa en el programa. Python es uno de los lenguajes más fáciles y convenientes de usar. Si no tiene experiencia previa en el uso de Python, puede ponerse al día con cualquiera de estos Cursos gratuitos de Python en línea para principiantes.
Una vez que aprenda los fundamentos, es una buena idea crear miniproyectos y juegos para solidificar su aprendizaje. Puede comenzar construyendo un reloj digital, tirando dados, cuestionarios o un contador de palabras. También puede inspirarse en estos Ideas de proyectos de Python para principiantes.
Cómo construir un juego de cricket manual usando Python
Puede encontrar el código fuente de Hand Cricket usando Python en este GitHub repositorio.
Importe la biblioteca aleatoria, requerida para el lanzamiento inicial y las elecciones de la computadora. Defina una función llamada núm_entrada que acepta dos argumentos, min y máximo respectivamente para validar la entrada del usuario. Utilizando el aporte() función, almacena el número que el usuario ingresa en la variable número, y convertirlo desde el tipo predeterminado String a Integer usando En t().
Si el número que ingresa el usuario es mayor que el límite máximo o menor que el límite mínimo, solicite al usuario que ingrese una opción válida llamando a la función recursivamente. Si el número está dentro del rango, devuélvelo.
importar aleatorio
definitivamentenúm_entrada(mínimo máximo):
número = int (entrada())
si número > máx. o número < min:
imprimir("Ingrese una opción válida")
devolver número_entrada (mín., máx.)
demás:
devolver número
Definir una función entrada que acepta el bateador actual y las carreras para perseguir como argumentos de entrada. Pídale al usuario que ingrese números dentro del rango de uno a seis. De acuerdo con las reglas del cricket manual, si tanto el usuario como la computadora eligen el mismo número, el bateador actual queda eliminado.
Inicializar una variable total para almacenar el total de carreras anotadas por un bateador y ponerlo a cero. Comienza un infinito mientras bucle y llamar al número_entrada() función para almacenar y validar la entrada del usuario. Usa el módulo aleatorio aleatorio() función para elegir un número aleatorio entre uno y seis para la computadora.
Muestre las elecciones de ambos jugadores, luego verifique si son iguales. Si es así, muestre que el bateador está fuera y devuelva el total de carreras que anotó en esa entrada.
De lo contrario, verifique quién está bateando y agregue el valor apropiado al puntaje total, ya sea pnum o cnum. Muestra la puntuación actual del bateador.
En el caso de las segundas entradas, desea verificar si el bateador ya ha superado la puntuación de su oponente. Para ello, compruebe si el para perseguir el valor no está vacío y si la puntuación del bateador es mayor. Si es así, devuelva su puntuación ganadora.
definitivamenteentrada(bateador, perseguir):
imprimir("Ingrese números entre 1 y 6. Si ambos eligen el mismo número, entonces " + bateador + " Está fuera")
totales = 0mientrasVerdadero:
pnum = input_num(1, 6)
cnum = random.randint(1, 6)imprimir("El usuario eligió", número)
imprimir("La computadora eligió", cnum)
si pnum == cnum:
imprimir (bateador + " Está fuera")
devolver total
demás:
total = total + (núm si bateador == "Usuario"demás cnum)
imprimir (bateador + "la puntuación es", total)
si para perseguir esnoNingunoy total > a_perseguir:
devolver total
Muestre el mensaje para tirar y valide la elección del usuario usando el número_entrada() función. Tirar la moneda y guardar el resultado en la variable moneda. Inicialice el valor predeterminado de jugador_bowls a falso Si el lanzamiento de la moneda coincide con la elección del usuario, el usuario gana el sorteo y elige entre batear y lanzar.
Tome la elección del usuario y verifique si ha ingresado una. En caso afirmativo, evalúe la expresión como verdadera y guárdela en el jugador_bowls variable. Mostrar la elección del usuario. Por otro lado, si la computadora ganó el sorteo, ejecute aleatorio() y evaluar el valor apropiado para jugador_bowls.
Muestre la elección de la computadora y comience las entradas.
imprimir("Hora del lanzamiento, ingrese 0 para cara y 1 para cruz")
elección = input_num(0, 1)
moneda = random.randint(0, 1)
jugador_bowls = FALSOsi moneda == elección:
imprimir("Has ganado el sorteo")
imprimir("Seleccione 0 para batear, 1 para lanzar")
jugador_cuencos = input_num(0, 1) == 1si jugador_bowls:
imprimir("Tú elegiste jugar a los bolos")
demás:
imprimir("Tú elegiste batear")
demás:
imprimir("La computadora ganó el sorteo")
jugador_cuencos = aleatorio.randint(0, 1) == 1
si jugador_bowls:
imprimir("La computadora eligió batear")
demás:
imprimir("La computadora eligió jugar a los bolos")
Si jugador_bowls Es cierto, la computadora golpea primero y viceversa. Calcule las carreras anotadas en una entrada usando la función que definió anteriormente. La función requiere el nombre del bateador actual y las carreras a perseguir. A medida que el primer bateador establece la puntuación, conviértalo en un parámetro opcional y pase Ninguno. Para las segundas entradas, pase la anotación del bateador que fijó la diana.
si jugador_bowls:
comp_score = entradas ("Computadora", Ninguno)
user_score = entradas ("Usuario", puntuación_comp)
demás:
user_score = entradas ("Usuario", Ninguno)
comp_score = entradas ("Computadora", puntuación_usuario)
Si la computadora puntúa menos que el usuario, el usuario gana y viceversa. En caso de que los puntajes sean iguales, muestre un empate.
si puntuación_comp < puntuación_usuario:
imprimir("El usuario gana")
elif puntuación_usuario < puntuación_comp:
imprimir("La computadora gana")
demás:
imprimir("Empate del partido")
Reúna todo el código y prepárese para jugar cricket de mano en cualquier momento y en cualquier lugar al alcance de su mano.
La salida de Hand Cricket usando Python
Puede ver la salida de un juego de cricket de mano usando Python de la siguiente manera:
Cuando ejecuta el programa, el programa le pide que elija una opción para el lanzamiento y le asigna el resultado apropiado. Si ganas, puedes decidir si quieres batear o jugar a los bolos; de lo contrario, la computadora tomará una decisión. Cada entrada continúa hasta que los números coinciden y uno queda fuera. Al final, la computadora compara la puntuación final y declara al ganador.
Juegos basados en terminales en Python
La construcción de juegos es una forma increíble de aprender Python y es muy divertida. No es necesario ser un experto para comenzar a codificar y experimentar en Python. Con los fundamentos correctos, puede crear algunos juegos de terminal asombrosos.
Comienza construyendo Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator y Number Guessing Game. A medida que avance, explore la biblioteca de PyGame para crear también sus propios videojuegos gráficos.