Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- class Player:
- def __init__(self, name):
- self.name = name
- self.hp = 100
- self.skills = {
- 'punch': (18, 25),
- 'kick': (15, 35),
- 'healing': (18, 25)
- }
- def choice_skill(self):
- name = random.choice(list(self.skills.keys()))
- return name
- def healing_skill(self, skill_name, damage):
- self.hp = self.hp + damage
- if self.hp > 100:
- self.hp = 100
- return "Player {} used the '{}', healing {} hp".format(self.name, skill_name, damage)
- def attack(self, target):
- skill_name = self.choice_skill()
- print(skill_name)
- damage = random.randint(*self.skills.get(skill_name))
- if skill_name == 'healing':
- self.healing_skill(skill_name, damage)
- else:
- target.hp = target.hp - damage
- if target.hp < 0:
- target.hp = 0
- return "Player {} used the '{}', damage {} hp".format(self.name, skill_name, damage)
- class Computer(Player):
- def choice_skill(self):
- if self.hp <= 35:
- name_dict = random.choices(list(self.skills.keys()), [0.1, 0.1, 0.8])
- name = name_dict[0]
- print(type(name))
- return name
- name = random.choice(list(self.skills.keys()))
- return name
- class Battle:
- def __init__(self, player, computer):
- self.obj_player = player
- self.obj_computer = computer
- def battle_start(self):
- while self.obj_player.hp > 0 and self.obj_computer.hp > 0:
- random_choice = random.choice((self.obj_player, self.obj_computer))
- if random_choice == self.obj_player:
- print(random_choice.attack(self.obj_computer))
- else:
- print(random_choice.attack(self.obj_player))
- print("------------------")
- print("{} Health: {} hp".format(self.obj_player.name, self.obj_player.hp))
- print("{} Health: {} hp".format(self.obj_computer.name, self.obj_computer.hp))
- print("------------------")
- return "Game Over"
- def game_over(self):
- if self.obj_player.hp == 0:
- return "{} - WIN! {} - LOSE! ".format(self.obj_computer.name, self.obj_player.name)
- else:
- return "{} - WIN! {} - LOSE! ".format(self.obj_player.name, self.obj_computer.name)
- class Game:
- player = Player('Jon')
- computer = Computer('Vasya')
- battle = Battle(player, computer)
- print(battle.battle_start())
- print(battle.game_over())
- Game()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement