Es la primera vez que escribo aquí, no se que tan comprensible pueda llegar a ser, pero ahí vamos 💪
En este vídeo de algoritmos explicado por Freddy, dónde explica de forma muy clara (hasta con diagrama de flujo) el algoritmo del juego.
Así que se me ocurrió la genial idea de llevarlo a código en con Python (apenas voy iniciando en programación, así que lo hice con todos los conocimientos que tengo hasta ahora).
Primero escribí el código en pseudocódigo y use Pseint para este propósito:
El mismo programa (Pseint) construye el Diagrama de Flujo
Ahora el mismo código en Python:
import random
defpokemon_game():
# Definimos la vida de los pokemones
hp_pikachu = 100
hp_jiggypuff = 100# Definimos el turno, el cual será aleatorio# 0 Para Pikachu# 1 Para Jigglipuff
turn = random.randint(0, 1)
print('Pikachu HP : ' + str(hp_pikachu))
print('Jigglypuff HP : ' + str(hp_jiggypuff) )
# Entramos en combatewhile hp_pikachu > 0and hp_jiggypuff > 0:
# Esta partida esta arreglada (al menos le estamos dando ventaja a Pikachu)xD
attack_pikachu = random.randint(0, 55)
attack_jigglypuff = random.randint(0, 45)
if turn == 1:
print('\nTurn: Jigglypuff')
print('Pikachu HP : ' + str(hp_pikachu) + ' HP')
hp_pikachu -= attack_jigglypuff
print('Jigglypuff attack : -' + str(attack_jigglypuff))
print('Pikachu HP : ' + str(hp_pikachu))
turn = 0else:
print('\nTurn: Pikachu')
print('Jigglypuuf HP : ' + str(hp_jiggypuff) + ' HP')
hp_jiggypuff -= attack_pikachu
print('Pikachu attack : -' + str(attack_pikachu))
print('Jigglypuff HP : ' + str(hp_jiggypuff))
turn = 1# Salimos del ciclo cuando la vida de uno de los 2 sea menor o igual a 0if hp_pikachu <= 0:
win = '\nJigglipuuf is the winner'else:
win = '\nPikachu is the winner'print(win)
pokemon_game()
Mi ingles es muy básico lo sé 😄, pero mientras voy escribiendo código voy practicando un poco de ingles (al menos para nombrar las variables), el resultado variara en cada ejecución, porque los turnos y el ataque de los Pokemon se da de manera aleatoria:
Resultado 1
Resultado 2
Resultado 3
Espero este pequeño post le sirva alguien que también éste empezando, sé que se le puede agregar y mejorar mucho, pero por ahora esto es lo que puedo hacer, alguien más experimentado que pueda mejorar esta idea, se que no se puede reinventar la rueda, pero en casos de aprendizaje sirve bastante.