Untitled
unknown
plain_text
10 months ago
3.5 kB
12
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