Untitled
unknown
plain_text
2 months ago
3.5 kB
4
Indexable
import random class Citizen: def __init__(self, name): self.name = name self.level = 1 self.shine_points = 0 self.health = 100 self.defense = 5 self.attack = 10 self.houses = 0 def level_up(self): self.level += 1 self.health += 20 self.defense += 5 self.attack += 5 print(f"{self.name} leveled up to Level {self.level}! Stats improved.") class Enemy: def __init__(self, name, level): self.name = name self.level = level self.health = level * 20 self.attack = level * 5 def generate_enemy(player_level): enemy_types = ["Tangles", "Dandruff", "Split-Ends", "Frizz", "Grease", "Breakage"] name = random.choice(enemy_types) enemy_level = max(1, player_level + random.randint(-1, 2)) return Enemy(name, enemy_level) def combat(player, enemy): print(f"A wild {enemy.name} (Level {enemy.level}) appears!") while enemy.health > 0 and player.health > 0: # Player's turn damage = max(0, player.attack - (enemy.level * 2)) enemy.health -= damage print(f"{player.name} deals {damage} damage to {enemy.name} (HP: {enemy.health})") if enemy.health <= 0: print(f"{enemy.name} defeated!") reward = enemy.level * 10 player.shine_points += reward print(f"Earned {reward} Shine Points! Total: {player.shine_points}") return True # Enemy's turn damage = max(0, enemy.attack - player.defense) player.health -= damage print(f"{enemy.name} deals {damage} damage to {player.name} (HP: {player.health})") if player.health <= 0: print(f"{player.name} was defeated...") return False return False def build_house(player): cost = 50 * player.houses + 50 # Cost increases with each house if player.shine_points >= cost: player.shine_points -= cost player.houses += 1 player.defense += 10 # Houses improve defense print(f"Built a house! Total houses: {player.houses}. Shine Points left: {player.shine_points}") else: print(f"Not enough Shine Points! Need {cost}, have {player.shine_points}") def game(): print("Welcome to Planet AF!") player_name = input("Enter your citizen name: ") player = Citizen(player_name) while player.health > 0: print("\n--- Planet AF Status ---") print(f"Level: {player.level} | Health: {player.health} | Shine Points: {player.shine_points}") print(f"Houses: {player.houses} | Attack: {player.attack} | Defense: {player.defense}") print("1. Fight an enemy") print("2. Build a house") print("3. Rest (heal)") print("4. Quit") choice = input("What would you like to do? ") if choice == "1": enemy = generate_enemy(player.level) if combat(player, enemy) and player.shine_points >= player.level * 100: player.level_up() elif choice == "2": build_house(player) elif choice == "3": player.health = min(100 + (player.level - 1) * 20, player.health + 50) print(f"Rested! Health restored to {player.health}") elif choice == "4": print("Thanks for protecting Planet AF!") break else: print("Invalid choice!") if __name__ == "__main__": game()
Editor is loading...
Leave a Comment