Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- # 1 ход в бою
- def fight_round(hit, name):
- enemy_def = random.choice(['left', 'up', 'right'])
- print(name, ' защитил: ', enemy_def)
- if hit == enemy_def:
- return True
- else:
- return False
- # бой
- def fight(player, enemy):
- print(enemy.message1) # сообщение о начале боя
- while True:
- print('Выбирите куда ударять [left, up, right]')
- hit = input() # ввод игрока
- # проверка на правильность ввода
- if hit.lower() not in ['left', 'up', 'right']:
- continue
- else:
- # если удары героя и врага совпали
- if fight_round(hit.lower(), enemy.name):
- player.life = player.life - 1
- print('Герой получил по шее, у него осталось {} хитов'.format(player.life))
- # если не совпали
- else:
- enemy.life = enemy.life - 1
- print('Герой ударил {}, {} осталось {} хитов'.format(enemy.name4, enemy.name3, enemy.life))
- # условия завершения боя
- if player.life <= 0:
- print('Бой закончен. Вы умерли.')
- break
- elif enemy.life <= 0:
- print('Бой закончен. Вы победили')
- break
- # класс для героя
- class Player():
- # инвентарь
- inventory = {}
- # инициализация параметров героя (пока только жизнь по умолчанию)
- def __init__(self, life=6):
- self.life = life
- # класс для врагов
- class Enemy():
- # типы врагов и их параметры
- enemy_type = {'rat': (3, 'крыса', 'с крысой', 'у крысы', 'по крысе'),
- 'skelet': (5, 'скелет', 'со скелетом', 'у скелета', 'по скелету'),
- 'zombi': (7, 'зомби', 'с зомби', 'у зомби', 'по зомби')
- }
- def __init__(self, name):
- # инициализация параметров врага в зависимости от его типа
- self.life = self.enemy_type[name][0]
- self.name = self.enemy_type[name][1]
- self.name2 = self.enemy_type[name][2]
- self.name3 = self.enemy_type[name][3]
- self.name4 = self.enemy_type[name][4]
- self.message1 = 'Вы вступайте в бой {}'.format(self.enemy_type[name][2])
- def main():
- player = Player(life=6) # герой
- enemy = Enemy('zombi') # враг
- fight(player, enemy) # бой
- print('После боя у Вас осталось {} хитов'.format(player.life))
- # пример работы с инвентарем
- print('Вы нашли меч')
- player.inventory['меч'] = 1
- print(player.inventory)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement