Untitled

 avatar
unknown
plain_text
3 months ago
2.2 kB
3
Indexable
import random

class Player:
    def __init__(self, name):
        self.name = name
        self.health = 100
        self.inventory = []

    def take_damage(self, damage):
        self.health -= damage
        if self.health < 0:
            self.health = 0
        print(f"{self.name} took {damage} damage! Health: {self.health}")

    def heal(self, amount):
        self.health += amount
        if self.health > 100:
            self.health = 100
        print(f"{self.name} healed by {amount}. Health: {self.health}")

    def add_item(self, item):
        self.inventory.append(item)
        print(f"{self.name} picked up: {item}")

    def attack(self, other_player):
        damage = random.randint(10, 30)
        print(f"{self.name} attacks {other_player.name} for {damage} damage!")
        other_player.take_damage(damage)

    def is_alive(self):
        return self.health > 0

def main():
    print("Welcome to the Text-Based Battle Royale!")
    print("Survive and be the last player standing!")

    # Create players
    players = [Player("Player1"), Player("Player2"), Player("Player3")]
    alive_players = players.copy()

    # Game loop
    while len(alive_players) > 1:
        print("\n--- New Round ---")
        for player in alive_players:
            if not player.is_alive():
                continue

            print(f"\n{player.name}'s turn (Health: {player.health})")
            action = input("Choose action: [move, attack, heal, search]: ").lower()

            if action == "move":
                print(f"{player.name} moves to a new location.")
            elif action == "attack":
                target = random.choice([p for p in alive_players if p != player and p.is_alive()])
                player.attack(target)
                if not target.is_alive():
                    print(f"{target.name} has been eliminated!")
                    alive_players.remove(target)
            elif action == "heal":
                heal_amount = random.randint(10, 25)
                player.heal(heal_amount)
            elif action == "search":
                items = ["bandage", "ammo", "shield"]
                found_item = random.choice(items)
                player.add
Editor is loading...
Leave a Comment