-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
106 lines (85 loc) · 3.36 KB
/
main.py
File metadata and controls
106 lines (85 loc) · 3.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
import random
def imprimir_titulo(texto):
print("\n" + "=" * 40)
print(f"{texto.center(40)}")
print("=" * 40 + "\n")
# Configuración inicial
imprimir_titulo("CONFIGURACIÓN DEL JUEGO")
num_equipos = 4
equipos = []
for i in range(num_equipos):
nombre = input(f"Introduce el nombre del Equipo {i + 1}: ").strip()
while True:
try:
saldo = int(input(f"Introduce el dinero inicial para {nombre}: "))
if saldo <= 0:
print("El dinero inicial debe ser mayor que 0.")
continue
break
except ValueError:
print("Introduce un número válido.")
equipos.append({"nombre": nombre, "saldo": saldo})
palos = ["diamantes", "picas", "treboles", "corazones"]
ronda = 1
while True:
activos = [eq for eq in equipos if eq["saldo"] > 0]
if len(activos) <= 1:
break
imprimir_titulo(f"RONDA {ronda}")
# Apuestas de cada equipo
for eq in equipos:
if eq["saldo"] > 0:
while True:
try:
apuesta = int(input(f'{eq["nombre"]} ({eq["saldo"]} monedas), ¿cuánto apuestas?: '))
if apuesta <= 0 or apuesta > eq["saldo"]:
print("Apuesta no válida. Debe ser mayor que 0 y no superar tu saldo.")
continue
break
except ValueError:
print("Introduce un número válido.")
while True:
palo_elegido = input(f'{eq["nombre"]}, elige un palo ({", ".join(palos)}): ').lower().strip()
if palo_elegido in palos:
break
print("Palo no válido, elige de nuevo.")
eq["apuesta"] = apuesta
eq["palo"] = palo_elegido
else:
eq["apuesta"] = 0
eq["palo"] = None
# El usuario elige el palo ganador
while True:
palo_ganador = input("\nElige el palo ganador: ").lower().strip()
if palo_ganador in palos:
break
print("Palo no válido, elige de nuevo.")
imprimir_titulo(f"¡EL PALO GANADOR ES {palo_ganador.upper()}!")
# Cálculos de la ronda
total_apuestas_ganadores = sum(eq["apuesta"] for eq in equipos if eq["palo"] == palo_ganador)
total_apuestas_perdedores = sum(eq["apuesta"] for eq in equipos if eq["palo"] != palo_ganador)
for eq in equipos:
eq["saldo"] -= eq["apuesta"]
# Reparto de ganancias
if total_apuestas_ganadores > 0:
for eq in equipos:
if eq["palo"] == palo_ganador:
ganancia = (eq["apuesta"] / total_apuestas_ganadores) * total_apuestas_perdedores
eq["saldo"] += eq["apuesta"] + ganancia
print(f'{eq["nombre"]} ha ganado {ganancia:.2f} monedas. Nuevo saldo: {eq["saldo"]:.2f}')
else:
print("Nadie apostó al palo ganador. Todos pierden sus apuestas.")
# Ver quiénes han sido eliminados
for eq in equipos:
if eq["saldo"] <= 0:
print(f'¡{eq["nombre"]} ha sido eliminado!')
ronda += 1
# Preguntar si seguir
seguir = input("\n¿Quieres jugar otra ronda? (s/n): ").lower().strip()
if seguir != "s":
break
imprimir_titulo("JUEGO TERMINADO")
print("Resultados finales:")
for eq in equipos:
print(f'{eq["nombre"]}: {eq["saldo"]} monedas')
print("\n¡Hasta la próxima, cuchurrufleto!")