Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from random import randint
- from random import choice
- class Characters:
- def set_hp(self,hp):
- self.hp = hp
- class Player(Characters):
- def __init__(self, name, power):
- self.name = name
- self.power = power
- def lower_power(self,power):
- self.power = power
- def set_health(self, hp):
- self.hp = hp
- def attack(self, other):
- s = randint(0,self.power)//10
- other.set_hp(other.hp - s)
- self.power = self.power - s
- class Enemy(Characters):
- def __init__(self, name, hp, lives):
- self.name = name
- self.hp = hp
- self.base_hp = hp
- self.lives = lives
- def get_info(self):
- return self.name , f"i have hp ", self.hp , f"and i have lives ", self.lives
- def is_alive(self):
- if self.lives > 0:
- if self.hp > 0:
- return True
- else:
- self.lives = self.lives - 1
- self.hp = self.base_hp
- return True
- else:
- return False
- class Goblin(Enemy):
- def __init__(self, name, hp , lives):
- super().__init__(name, hp, lives)
- class Dragon(Enemy):
- def __init__(self, name, hp , lives):
- super().__init__(name, hp, lives)
- def recover_hp(self ):
- missing = self.base_hp - self.hp
- x = randint(0, missing)
- if missing > 0 :
- self.set_hp(self.hp + x )
- class Game:
- def __init__(self, player, enemy):
- self.player = player
- self.enemies = []
- self.enemies.append(enemy)
- def moah_enemies(self, enemy):
- self.enemies.append(enemy)
- def play(self, MAX_ROUNDS):
- for i in range(0, MAX_ROUNDS):
- x = choice(self.enemies)
- self.player.attack(x)
- if x.is_alive() == False:
- self.enemies.remove(x)
- for i in self.enemies:
- if type(i) is Dragon:
- i.recover_hp()
- if not self.enemies:
- return f"You have won with power left {self.player.power} "
- if self.player.power <= 0:
- return f"u have lost"
- if i == MAX_ROUNDS:
- print("u have lost, here are the enemies left", self.enemies)
- player = Player("Garry", 100)
- goblin = Goblin("Gawbazz", 3, 2)
- goblin_2 = Goblin("Gawbat", 2, 2)
- dragon = Dragon("Ysera", 17, 1)
- game = Game(player, goblin)
- game.moah_enemies(goblin_2)
- game.moah_enemies(dragon)
- game.play(7)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement