Загрузка...

Мини-игра на Python, как избавиться от if ?!

Тема в разделе Python создана пользователем WhiteRose404 9 ноя 2019. 313 просмотров

  1. WhiteRose404
    WhiteRose404 Автор темы 9 ноя 2019 Изменить статус 217 21 дек 2018
    Время: 5:53 и мне скучно.

    Вот написал мини-игру, что бы развеселить себя.

    Можно как-то избавиться от этих мозолящих глаза IF IF IF IF IF !
    Код

    import random

    print('\n\n\n')
    person = {'name' : input('Введие имя вашего персонажа: '), 'hp' : 100}
    enemy = {'name' : input('Введите имя противника: '), 'hp' : 100}

    def game_battle(person1, person2):
    player_action = input('\n\n\nМеню: \n-> \'Удар\' - нанести урон противнику (урон от 10 до 25 хп)\n-> \'Аптечка\' - воспользоваться аптечкой (востановит от 5 до 30 хп) с начала игры у всех по 100хп\n')
    while person1['hp'] > 0 and person2['hp'] > 0:
    if person1['hp'] != 100 or person2['hp'] != 100:
    player_action = input('\n\nМеню: \n-> \'Удар\' - нанести урон противнику (урон от 10 до 25 хп)\n-> \'Аптечка\' - воспользоваться аптечкой (востановит от 5 до 30 хп)\n-> \'ХП\' - узнать кол-во здоровья персонажей\n')
    if player_action == 'Удар':
    person1['damage'] = random.randint(10,25)
    enemy_action = random.randint(0,1)
    if enemy_action == 0: #0 удар 1 аптечка
    person2['damage'] = random.randint(10,25)
    person2['hp'] -= person1['damage']
    person1['hp'] -= person2['damage']
    print('\n{} нанес -> {} и у противника осталось: {} ХП\n {} нанес -> {} и у Вас осталось: {} ХП\n'.format(person1['name'], person1['damage'], person2['hp'], person2['name'], person2['damage'], person1['hp']))
    elif enemy_action == 1:
    heal_person2 = random.randint(5, 30)
    person2['hp'] -= person1['damage']
    person2['hp'] += heal_person2
    print('\n{}воспользовался аптечкой и получил: {} ХП\n{}нанес -> {} и у противника осталось: {} ХП\n'.format(person2['name'], heal_person2, person1['name'], person1['damage'], person2['hp']))
    elif player_action == 'Аптечка':
    heal_person1 = random.randint(5, 30)
    person1['hp'] += heal_person1
    enemy_action = random.randint(0,1)
    if enemy_action == 0: #0 удар 1 аптечка
    person2['damage'] = random.randint(10,25)
    person1['hp'] -= person2['damage']
    print('\n {} воспользовался аптечкой и получил: {} ХП\n {} нанес -> {} и у Вас осталось: {} ХП\n'.format(person1['name'], heal_person1, person2['name'], person1['damage'], person1['hp']))
    elif enemy_action == 1:
    heal_person2 = random.randint(5, 30)
    person2['hp'] -= person1['damage']
    person2['hp'] += heal_person2
    print('\n', person2['name'], 'воспользовался аптечкой и получил:', heal_person2, 'ХП\n',person1['name'], 'воспользовался аптечкой и получил:', heal_person1, 'ХП\n')
    elif player_action == 'ХП':
    print('\n{} - {} хп\n{} - {} хп\n'.format(person1['name'], person1['hp'], person2['name'], person1['hp']))
    else:
    print('\nВы ввели дейстивие неправильно !!!\nИз-за этого у вашего персона убавлено 1 ХП')
    person1['hp'] -= 1

    if person1['hp'] <= person2['hp']:
    return person2['name']
    elif person2['hp'] <= person1['hp']:
    return person1['name']

    print('\n\n Победил: ', game_battle(person, enemy), ' !!!')


     
  2. Quali_inactive2763538
    Держи
    Код

    import random

    print('\n\n\n')
    person = {'name' : input('Введие имя вашего персонажа: '), 'hp' : 100}
    enemy = {'name' : input('Введите имя противника: '), 'hp' : 100}


    def hit(person1, person2):
    person1['damage'] = random.randint(10,25)

    def action_hit():
    person2['damage'] = random.randint(10,25)
    person2['hp'] -= person1['damage']
    person1['hp'] -= person2['damage']
    print('\n{} нанес -> {} и у противника осталось: {} ХП\n {} нанес -> {} и у Вас осталось: {} ХП\n'.format(person1['name'], person1['damage'], person2['hp'], person2['name'], person2['damage'], person1['hp']))

    def action_heal():
    heal_person2 = random.randint(5, 30)
    person2['hp'] -= person1['damage']
    person2['hp'] += heal_person2
    print('\n{}воспользовался аптечкой и получил: {} ХП\n{}нанес -> {} и у противника осталось: {} ХП\n'.format(person2['name'], heal_person2, person1['name'], person1['damage'], person2['hp']))

    enemy_action = random.choice([action_hit, action_heal])
    enemy_action()


    def heal(person1, person2):
    heal_person1 = random.randint(5, 30)
    person1['hp'] += heal_person1

    def action_hit():
    person2['damage'] = random.randint(10,25)
    person1['hp'] -= person2['damage']
    print('\n {} воспользовался аптечкой и получил: {} ХП\n {} нанес -> {} и у Вас осталось: {} ХП\n'.format(person1['name'], heal_person1, person2['name'], person1['damage'], person1['hp']))

    def action_heal():
    heal_person2 = random.randint(5, 30)
    person2['hp'] -= person1['damage']
    person2['hp'] += heal_person2
    print('\n', person2['name'], 'воспользовался аптечкой и получил:', heal_person2, 'ХП\n',person1['name'], 'воспользовался аптечкой и получил:', heal_person1, 'ХП\n')

    enemy_action = random.choice([action_hit, action_heal])
    enemy_action()


    def hp(person1, person2):
    print('\n{} - {} хп\n{} - {} хп\n'.format(person1['name'], person1['hp'], person2['name'], person1['hp']))


    actions = {
    'Удар': hit,
    'Аптечка': heal,
    'ХП': hp,
    }

    def game_battle(person1, person2):

    player_action = input('\n\n\nМеню: \n-> \'Удар\' - нанести урон противнику (урон от 10 до 25 хп)\n-> \'Аптечка\' - воспользоваться аптечкой (востановит от 5 до 30 хп) с начала игры у всех по 100хп\n')

    while person1['hp'] > 0 and person2['hp'] > 0:
    if person1['hp'] != 100 or person2['hp'] != 100:
    player_action = input('\n\nМеню: \n-> \'Удар\' - нанести урон противнику (урон от 10 до 25 хп)\n-> \'Аптечка\' - воспользоваться аптечкой (востановит от 5 до 30 хп)\n-> \'ХП\' - узнать кол-во здоровья персонажей\n')

    try:
    action = actions[player_action]
    action(person1, person2)
    except KeyError:
    print('\nВы ввели дейстивие неправильно !!!\nИз-за этого у вашего персона убавлено 1 ХП')
    person1['hp'] -= 1

    if person1['hp'] <= person2['hp']:
    return person2['name']

    return person1['name']

    print('\n\n Победил: ', game_battle(person, enemy), ' !!!')

     
  3. Cchecker
    Cchecker 9 ноя 2019 скидки билайн в лс 98 22 ноя 2018
    пушкин с дантессом на минималках
     
Загрузка...
Top