Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- class Dado:
- def __init__(self, caras=6):
- # Verificar si el número de caras es válido (4, 6, 8, 12, 20)
- if caras in [4, 6, 8, 12, 20]:
- self.caras = caras
- else:
- raise ValueError("Número de caras no permitido. Debe ser uno de los siguientes: 4, 6, 8, 12, 20.")
- def lanzar(self):
- """Método para lanzar el dado y obtener un valor aleatorio."""
- return random.randint(1, self.caras)
- def jugar_dos_jugadores():
- """Función interactiva para que dos jugadores escojan dados y jueguen."""
- print("Jugador 1, elige un dado:")
- dado_jugador1 = elegir_dado()
- print("Jugador 2, elige un dado:")
- dado_jugador2 = elegir_dado()
- # Lanzamiento de cada jugador
- resultado_jugador1 = dado_jugador1.lanzar()
- resultado_jugador2 = dado_jugador2.lanzar()
- # Mostrar los resultados
- print(f"Jugador 1 lanzó el dado de {dado_jugador1.caras} caras y obtuvo: {resultado_jugador1}")
- print(f"Jugador 2 lanzó el dado de {dado_jugador2.caras} caras y obtuvo: {resultado_jugador2}")
- # Determinar el ganador
- if resultado_jugador1 > resultado_jugador2:
- print("¡Jugador 1 es el ganador!")
- elif resultado_jugador1 < resultado_jugador2:
- print("¡Jugador 2 es el ganador!")
- else:
- print("Es un empate.")
- def jugar_contra_maquina():
- """Función interactiva para que el jugador juegue contra la máquina."""
- print("Jugador, elige un dado:")
- dado_jugador = elegir_dado()
- # Dado de la máquina es aleatorio entre 4, 6, 8, 12, 20
- caras_maquina = random.choice([4, 6, 8, 12, 20])
- dado_maquina = Dado(caras_maquina)
- # Lanzamiento del jugador y de la máquina
- resultado_jugador = dado_jugador.lanzar()
- resultado_maquina = dado_maquina.lanzar()
- # Mostrar los resultados
- print(f"El jugador lanzó el dado de {dado_jugador.caras} caras y obtuvo: {resultado_jugador}")
- print(f"La máquina lanzó el dado de {dado_maquina.caras} caras y obtuvo: {resultado_maquina}")
- # Determinar el ganador
- if resultado_jugador > resultado_maquina:
- print("¡El jugador es el ganador!")
- elif resultado_jugador < resultado_maquina:
- print("¡La máquina es la ganadora!")
- else:
- print("Es un empate.")
- def elegir_dado():
- """Función para que el jugador elija el dado con el que quiere jugar."""
- while True:
- print("Elige el número de caras del dado (4, 6, 8, 12, 20):")
- try:
- caras = int(input())
- if caras in [4, 6, 8, 12, 20]:
- return Dado(caras)
- else:
- print("Número de caras no válido. Por favor elige entre 4, 6, 8, 12 o 20.")
- except ValueError:
- print("Entrada no válida. Por favor ingresa un número.")
- def menu_principal():
- """Función para mostrar el menú principal e interactuar con el jugador."""
- while True:
- print("\n--- Juego de Dados ---")
- print("1. Jugar dos jugadores")
- print("2. Jugar contra la máquina")
- print("3. Salir")
- opcion = input("Selecciona una opción: ")
- if opcion == '1':
- jugar_dos_jugadores()
- elif opcion == '2':
- jugar_contra_maquina()
- elif opcion == '3':
- print("¡Gracias por jugar!")
- break
- else:
- print("Opción no válida. Por favor elige entre 1, 2 o 3.")
- # Iniciar el juego mostrando el menú principal
- menu_principal()
Advertisement
Add Comment
Please, Sign In to add comment