3

Algoritmo Pokemon

Kenyi Julberht
kenyihq
22523

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:

screenshot_01.pngscreenshot_02.pngscreenshot_03.png

El mismo programa (Pseint) construye el Diagrama de Flujo

screenshot_04.png
screenshot_05.png

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
screenshot_06.png

Resultado 2
screenshot_07.png

Resultado 3
screenshot_08.png

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.

Escribe tu comentario
+ 2