Skip to content

Commit c1af6cd

Browse files
authored
Merge pull request mouredev#7007 from santyjL/main
mouredev#32 - python
2 parents 151024f + e907bee commit c1af6cd

File tree

2 files changed

+217
-0
lines changed

2 files changed

+217
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# #32 BATALLA DEADPOOL Y WOLVERINE
2+
#### Dificultad: Media | Publicación: 05/08/24 | Corrección: 12/08/24
3+
4+
"""
5+
/*
6+
* EJERCICIO:
7+
* ¡Deadpool y Wolverine se enfrentan en una batalla épica!
8+
* Crea un programa que simule la pelea y determine un ganador.
9+
* El programa simula un combate por turnos, donde cada protagonista posee unos
10+
* puntos de vida iniciales, un daño de ataque variable y diferentes cualidades
11+
* de regeneración y evasión de ataques.
12+
* Requisitos:
13+
* 1. El usuario debe determinar la vida inicial de cada protagonista.
14+
* 2. Cada personaje puede impartir un daño aleatorio:
15+
* - Deadpool: Entre 10 y 100.
16+
* - Wolverine: Entre 10 y 120.
17+
* 3. Si el daño es el máximo, el personaje que lo recibe no ataca en el
18+
* siguiente turno, ya que tiene que regenerarse (pero no aumenta vida).
19+
* 4. Cada personaje puede evitar el ataque contrario:
20+
* - Deadpool: 25% de posibilidades.
21+
* - Wolverine: 20% de posibilidades.
22+
* 5. Un personaje pierde si sus puntos de vida llegan a cero o menos.
23+
* Acciones:
24+
* 1. Simula una batalla.
25+
* 2. Muestra el número del turno (pausa de 1 segundo entre turnos).
26+
* 3. Muestra qué pasa en cada turno.
27+
* 4. Muestra la vida en cada turno.
28+
* 5. Muestra el resultado final.
29+
*/
30+
"""
31+
32+
import os
33+
import random
34+
import time
35+
36+
37+
def barra_de_vida(vida : float):
38+
for i in range(int(vida//10)):
39+
print("💗=" , end="")
40+
41+
print("")
42+
43+
def daño(peleador: int) -> int:
44+
valor_daño = 0
45+
46+
if peleador == 1 :
47+
valor_daño = random.randint(10 , 120)
48+
if valor_daño > 30:
49+
valor_daño //= 3
50+
51+
else:
52+
valor_daño = random.randint(10 , 100)
53+
if valor_daño > 30:
54+
valor_daño //= 3
55+
56+
return valor_daño
57+
58+
vida_Wolverine = float(input("Ingresa la vida de Wolverine: "))
59+
vida_Deadpool = float(input(" Ingresa la vida de DeadPool: "))
60+
61+
turno = 0
62+
63+
print(" ¡Deadpool y Wolverine se enfrentan en una batalla épica!, algo indescriptible pero no imposible de crer.\n")
64+
time.sleep(1)
65+
print("Wolverine toma siempre la iniciativa y va con todo contra Deadpool")
66+
67+
while True:
68+
os.system("cls")
69+
turno += 1
70+
71+
if vida_Deadpool <= 0 or vida_Wolverine <= 0:
72+
print("final de la batalla, El ganador a sido ......")
73+
time.sleep(2)
74+
75+
print(f" :========== {" Deadpool🦴" if vida_Deadpool > vida_Wolverine else "Wolverine🐆"} ==========: ")
76+
break
77+
78+
print(f"====== Ronda {turno} ======")
79+
evitar_golpe = random.randint(1 , 100)
80+
81+
print("Vida de Wolverine : " , end="")
82+
barra_de_vida(vida_Wolverine)
83+
print("Vida Deadpool : ", end="")
84+
barra_de_vida(vida_Deadpool)
85+
86+
87+
88+
89+
if turno % 2 == 0 and evitar_golpe > 25:
90+
daño_infligido = daño(2)
91+
print(f"Deadpool le ha dado efectivamente a Wolverine un golpe con un daño de {daño_infligido}")
92+
93+
vida_Wolverine -= daño_infligido
94+
95+
elif turno % 2 == 0 :
96+
print(f"Deadpool fue con todo para darle a Wolverine pero fue equivado.")
97+
98+
99+
if turno % 2 != 0 and evitar_golpe > 20:
100+
daño_infligido = daño(1)
101+
print(f"Wolverine le ha dado efectivamente a Deadpool un golpe con un daño de {daño_infligido}")
102+
103+
vida_Deadpool -= daño_infligido
104+
105+
elif turno % 2 != 0 :
106+
print(f"Wolverine fue tan rapido como una pantera pero fue equivado por Deadpool en el último segundo. ")
107+
108+
time.sleep(4.5)
109+
110+
111+
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
# #33 RESCATANDO A MICKEY
2+
#### Dificultad: Fácil | Publicación: 12/08/24 | Corrección: 19/08/24
3+
4+
"""
5+
/*
6+
* EJERCICIO:
7+
* ¡Disney ha presentado un montón de novedades en su D23!
8+
* Pero... ¿Dónde está Mickey?
9+
* Mickey Mouse ha quedado atrapado en un laberinto mágico
10+
* creado por Maléfica.
11+
* Desarrolla un programa para ayudarlo a escapar.
12+
* Requisitos:
13+
* 1. El laberinto está formado por un cuadrado de 6x6 celdas.
14+
* 2. Los valores de las celdas serán:
15+
* - ⬜️ Vacío
16+
* - ⬛️ Obstáculo
17+
* - 🐭 Mickey
18+
* - 🚪 Salida
19+
* Acciones:
20+
* 1. Crea una matriz que represente el laberinto (no hace falta
21+
* que se genere de manera automática).
22+
* 2. Interactúa con el usuario por consola para preguntarle hacia
23+
* donde se tiene que desplazar (arriba, abajo, izquierda o derecha).
24+
* 3. Muestra la actualización del laberinto tras cada desplazamiento.
25+
* 4. Valida todos los movimientos, teniendo en cuenta los límites
26+
* del laberinto y los obtáculos. Notifica al usuario.
27+
* 5. Finaliza el programa cuando Mickey llegue a la salida.
28+
*/
29+
"""
30+
31+
import os
32+
import time
33+
34+
laberinto= [
35+
["🐭","⬜️","⬜️","⬛️","⬜️","⬛️"],
36+
["⬜️","⬛️","⬛️","⬜️","⬜️","⬛️"],
37+
["⬜️","⬜️","⬛️","⬛️","⬛️","⬜️"],
38+
["⬛️","⬜️","⬜️","⬛️","⬜️","⬜️"],
39+
["⬜️","⬜️","⬜️","⬜️","⬜️","⬜️"],
40+
["⬛️","⬜️","⬛️","⬜️","⬜️","🚪"]
41+
]
42+
43+
def formatear_laberinto():
44+
for linea in laberinto:
45+
print("".join(linea))
46+
47+
print()
48+
49+
print( "Mickey Mouse ha quedado atrapado en un laberinto mágico creado por Maléfica.")
50+
51+
coordenadas_mickey:list = [0,0]
52+
53+
while True:
54+
formatear_laberinto()
55+
56+
print("""
57+
(W)- Arriba,
58+
(S)- Abajo,
59+
(A)- Izquierda,
60+
(D)- Derecha
61+
""")
62+
accion:str = input("Elige el movimiento que hara Mickey Mouse para salir del laberinto: ")
63+
64+
linea_actual, columna_actual = coordenadas_mickey
65+
linea_nueva, columna_nueva = linea_actual, columna_actual
66+
67+
match accion.lower():
68+
case "w":
69+
linea_nueva = linea_actual - 1
70+
case "s":
71+
linea_nueva = linea_actual + 1
72+
73+
case "a":
74+
columna_nueva = columna_actual - 1
75+
76+
case "d":
77+
columna_nueva = columna_actual + 1
78+
case _:
79+
print("Dirección no válida.\n")
80+
continue
81+
82+
if linea_nueva < 0 or columna_nueva < 0 or linea_nueva > 5 or columna_nueva > 5:
83+
print("este movimiento no es posible")
84+
time.sleep(1)
85+
os.system("cls")
86+
continue
87+
88+
elif "⬛️" == laberinto[linea_nueva][columna_nueva]:
89+
print("En este camino hay un obstaculo, no puedes pasar, busca otro camino.")
90+
print("")
91+
time.sleep(1)
92+
os.system("cls")
93+
continue
94+
95+
else:
96+
if "🚪" == laberinto[linea_nueva] [columna_nueva]:
97+
print("Felicidades, has logrado escapar del laberinto")
98+
break
99+
100+
else:
101+
laberinto[linea_actual] [columna_actual] = "⬜"
102+
laberinto[linea_nueva] [columna_nueva] = "🐭"
103+
coordenadas_mickey = [linea_nueva , columna_nueva]
104+
time.sleep(1.5)
105+
os.system("cls")
106+
continue

0 commit comments

Comments
 (0)