def main(): try: name = input("Enter your name: \n").strip() if " " in name: name = name.replace(' ', '_') print(name) while True: command = input( "Enter start, exit, show scores or help\n").strip().lower() if command == 'start': user = Player(name, settings.HP, settings.SCORE, settings.ALLOWED_ATTACK) enemy = Enemy(settings.ENEMY_LEVEL) print(f'Enemy level is {settings.ENEMY_LEVEL}\n') while True: try: if user.allowed_attack: user.attack(enemy) user.allowed_attack = 0 else: user.allowed_attack = 1 user.defense(enemy) except EnemyDown as err: print("Creating new enemy") settings.ENEMY_LEVEL += 1 enemy = Enemy(settings.ENEMY_LEVEL) print(f'Enemy level is {settings.ENEMY_LEVEL}\n') user.allowed_attack = 1 user.score += 5 print(err) elif command == 'show scores': with open('scores.txt', 'r') as file: for line in file: print(line, end='') print('-' * 10) elif command == 'help': for key in settings.COMMS.keys(): print(f'command {key} {settings.COMMS[key]}') elif command == 'exit': raise KeyboardInterrupt else: print(f'unknown commad {command}') except GameOver as err: err.write_score(user) finally: print('goodbye')
def play(): """ Method to start the game""" name = input("Enter your name : ") player = Player(name) start = input("Enter 'start' when you are ready for battle: ") if start == 'start': print('Get ready') else: play() level = 1 enemy = Enemy(1) while True: try: player.attack(enemy) player.defense(enemy) except EnemyDown: level += 1 player.score += 5 enemy = Enemy(level)
def play(): """Start game, input Player, attack and defense """ player_name = input("Lets play!\nPlease enter your name:\n > ") while not player_name.isalpha(): if not player_name.isalpha(): player_name = input("You entered wrong name") return player_name player = Player(player_name) enemy = Enemy(1) print(f'score table {Score.check_scores()}') while True: try: print(player.attack(enemy)) print(player.defense(enemy)) print(f'You have {player.lives} lives') print(f'Enemy has {enemy.lives} lives') except EnemyDown: enemy = Enemy(enemy.level + 1) print( f'!!! ENEMY DOWN !!!\nAnother enemy appears! (level {enemy.level}).' ) player.score += 5