Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- # класс игрока
- class Player:
- # конструктор класса, где задаются все характеристики главного героя
- def __init__(self, name, hp, damage):
- self.name = name
- self.hp = hp
- self.damage = damage
- self.lvl = 1
- self.exp = 0
- # функция создания героя
- # Выводим объект класса Player
- # Функция атаки игрока на монстра
- def attack(self, victim):
- victim.hp -= self.damage
- if victim.hp <= 0:
- print(victim.name, 'Повержен!')
- return False
- else:
- print(victim.name, 'теперь иметт', victim.hp, 'очков здоровья')
- return True
- class Enemy:
- def __init__(self, name, hp, damage):
- self.name = name
- self.hp = hp
- self.damage = damage
- def attack(self, victim):
- victim.hp -= self.damage
- if victim.hp <= 0:
- print('Ты повержен! Игра окончена!')
- quit()
- else:
- print(f'{victim.name}, оставшееся здоровье: {victim.hp}')
- def fight_choice():
- answer = input(f'Готов сразиться с {enemy.name}? (ответ "да" или "нет")').lower()
- if answer == "да":
- result = hero.attack(enemy)
- if result:
- enemy.attack(hero)
- fight_choice()
- elif answer == "нет":
- print(f'Вы сбежали от {enemy.name}')
- else:
- print('Будь внимательнее, ибо у меня нет такого варианта действий')
- fight_choice()
- # игровые списки
- def create_enemy():
- rnd_name = random.choice(enemy_name)
- rnd_hp = random.randint(10, 50)
- rnd_damage = random.randint(30, 70)
- return Enemy(rnd_name, rnd_hp, rnd_damage)
- def create_hero(name, species, prof):
- # создаем временные переменные для вывода в return
- hp = 0
- damage = 0
- name = name
- if species == species_list[0]:
- hp += 100
- damage += 50
- elif species == species_list[1]:
- hp += 50
- damage += 100
- else:
- print('Я не знаю кто ты...')
- if prof == prof_list[0]:
- hp += 100
- damage += 50
- elif prof == prof_list[1]:
- hp += 50
- damage += 100
- else:
- print('Я не знаю, какой ты професии...')
- return Player(name, hp, damage)
- species_list = ['эльф', 'гном']
- prof_list = ['лучник', 'воин']
- enemy_name = ['Баба Яга', 'Кощей', 'Волк']
- # настройка главного героя
- my_name = input('Введите имя для своего героя: ')
- print(f'Доступные расы:{species_list}')
- my_species = input('Выберите расу:').lower()
- print(f'Доступные профессии: {prof_list}')
- my_prof = input('Выберите профессию:').lower()
- hero = create_hero(my_name, my_species, my_prof)
- print(hero.name, hero.hp, hero.damage, hero.lvl, hero.exp)
- # главный цикл-движок
- enemy = create_enemy()
- print(enemy.name, enemy.hp, enemy.damage)
- fight_choice()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement