Advertisement
Guest User

Untitled

a guest
Nov 26th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.58 KB | None | 0 0
  1. from random import randint
  2. from random import choice
  3.  
  4. class Characters:
  5.    
  6.     def set_hp(self,hp):
  7.         self.hp = hp
  8.  
  9. class Player(Characters):
  10.    
  11.     def __init__(self, name, power):
  12.         self.name = name
  13.         self.power = power
  14.    
  15.     def lower_power(self,power):
  16.         self.power = power
  17.    
  18.     def set_health(self, hp):
  19.         self.hp = hp
  20.    
  21.     def attack(self, other):
  22.         s = randint(0,self.power)//10
  23.         other.set_hp(other.hp - s)
  24.         self.power = self.power - s
  25.  
  26. class Enemy(Characters):
  27.     def __init__(self, name, hp, lives):
  28.         self.name = name
  29.         self.hp = hp
  30.         self.base_hp = hp
  31.         self.lives = lives
  32.    
  33.     def get_info(self):
  34.         return self.name , f"i have hp ", self.hp , f"and i have lives ", self.lives
  35.    
  36.     def is_alive(self):
  37.         if self.lives > 0:
  38.             if self.hp > 0:
  39.                 return True
  40.             else:
  41.                 self.lives = self.lives - 1
  42.                 self.hp = self.base_hp
  43.                 return True
  44.         else:
  45.             return False
  46.  
  47.  
  48.        
  49.  
  50. class Goblin(Enemy):
  51.    
  52.     def __init__(self, name, hp , lives):
  53.         super().__init__(name, hp, lives)
  54.  
  55. class Dragon(Enemy):
  56.    
  57.     def __init__(self, name, hp , lives):
  58.         super().__init__(name, hp, lives)
  59.    
  60.     def recover_hp(self ):
  61.         missing = self.base_hp - self.hp
  62.         x = randint(0, missing)
  63.         if missing > 0 :
  64.             self.set_hp(self.hp + x )
  65.  
  66.  
  67. class Game:
  68.    
  69.     def __init__(self, player, enemy):
  70.         self.player = player
  71.         self.enemies = []
  72.         self.enemies.append(enemy)
  73.     def moah_enemies(self, enemy):
  74.         self.enemies.append(enemy)
  75.     def play(self, MAX_ROUNDS):
  76.         for i in range(0, MAX_ROUNDS):
  77.             x = choice(self.enemies)
  78.             self.player.attack(x)
  79.             if x.is_alive() == False:
  80.                 self.enemies.remove(x)
  81.             for i in self.enemies:
  82.                 if type(i) is Dragon:
  83.                     i.recover_hp()
  84.             if not self.enemies:
  85.                 return f"You have won with power left {self.player.power} "
  86.             if self.player.power <= 0:
  87.                 return f"u have lost"
  88.             if i == MAX_ROUNDS:
  89.                 print("u have lost, here are the enemies left", self.enemies)
  90.  
  91.  
  92. player = Player("Garry", 100)
  93. goblin = Goblin("Gawbazz", 3, 2)
  94. goblin_2 = Goblin("Gawbat", 2, 2)
  95. dragon = Dragon("Ysera", 17, 1)
  96.  
  97.  
  98. game = Game(player, goblin)
  99. game.moah_enemies(goblin_2)
  100. game.moah_enemies(dragon)
  101. game.play(7)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement