Untitled
unknown
plain_text
a year ago
2.9 kB
4
Indexable
import random class Player: def __init__(self, name): self.name = name self.hp = 100 self.attack = 10 self.defense = 5 def display_stats(self): print(f"Name: {self.name}") print(f"HP: {self.hp}") print(f"Attack: {self.attack}") print(f"Defense: {self.defense}") class Monster: def __init__(self, name, hp, attack, defense): self.name = name self.hp = hp self.attack = attack self.defense = defense class Encounter: def __init__(self, player): self.player = player self.monster = self.generate_monster() def generate_monster(self): monsters = [ Monster("Froggit", 30, 8, 2), Monster("Whimsun", 25, 6, 1), Monster("Napstablook", 40, 10, 3) ] return random.choice(monsters) def fight(self): print(f"You encountered a {self.monster.name}!") print("Fight or Spare?") choice = input("> ").lower() if choice == "fight": print("You attacked the monster!") self.battle() elif choice == "spare": print("You chose to spare the monster!") print("The monster left peacefully.") else: print("Invalid choice. Please try again.") self.fight() def battle(self): while self.player.hp > 0 and self.monster.hp > 0: player_damage = max(0, self.player.attack - self.monster.defense) monster_damage = max(0, self.monster.attack - self.player.defense) print(f"You dealt {player_damage} damage to {self.monster.name}!") self.monster.hp -= player_damage if self.monster.hp <= 0: print(f"You defeated the {self.monster.name}!") break print(f"The {self.monster.name} attacked you!") print(f"You received {monster_damage} damage!") self.player.hp -= monster_damage if self.player.hp <= 0: print("You were defeated by the monster. Game Over!") break def main(): print("Welcome to Undertale-inspired text adventure!") name = input("Enter your name: ") player = Player(name) player.display_stats() print("Navigate through encounters and decide whether to fight or spare.") while True: print("\nYou're walking through the underground...") print("What will you do?") print("1. Continue walking") print("2. Quit") choice = input("> ") if choice == "1": encounter = Encounter(player) encounter.fight() elif choice == "2": print("Goodbye!") break else: print("Invalid choice. Please try again.") if __name__ == "__main__": main()
Editor is loading...
Leave a Comment