You are on page 1of 2

import random

class Character:
def __init__(self, name, health, attack_damage):
self.name = name
self.health = health
self.attack_damage = attack_damage

def attack(self, target):


damage = random.randint(1, self.attack_damage)
target.health -= damage
return damage

class Weapon:
def __init__(self, name, damage):
self.name = name
self.damage = damage

class Map:
def __init__(self, name):
self.name = name

class Player:
def __init__(self, name, character, weapon):
self.name = name
self.character = character
self.weapon = weapon

def main():
print("Welcome to the Multiplayer Game!")
players = []
weapons = [Weapon("Sword", 20), Weapon("Axe", 25), Weapon("Bow", 15)]
characters = [Character("Warrior", 100, 25), Character("Archer", 80, 30),
Character("Mage", 70, 35)]
maps = [Map("Forest"), Map("Castle"), Map("Desert")]

# Create players
num_players = int(input("Enter the number of players: "))
for i in range(num_players):
name = input(f"Enter the name of Player {i+1}: ")
character = random.choice(characters)
weapon = random.choice(weapons)
player = Player(name, character, weapon)
players.append(player)

# Start the game


print("Game started!")
while len(players) > 1:
for player in players:
if len(players) == 1:
break

print(f"{player.name}'s turn:")
target = player
while target == player:
target = random.choice(players)

damage = player.character.attack(target.character)
print(f"{player.name} attacked {target.name} with {player.weapon.name}
for {damage} damage.")
print(f"{target.name} has {target.character.health} health left.\n")

if target.character.health <= 0:
players.remove(target)
print(f"{target.name} has been defeated and eliminated from the
game.\n")

# Game over
print(f"{players[0].name} is the winner! Congratulations!")

if __name__ == "__main__":
main()

You might also like