elif item.type == "elixir": player.hp = player.maxhp player.mp = player.maxmp print(item.name, "fully restored your HP/MP.", "Your HP: ", str(player.hp) + ",", " Your MP:", str(player.mp), "Your HP:", str(player.hp) + "/" + str(player.maxhp)) elif item.type == "attack": enemy.damage_intake(item.property) print(colors.failure + "You attacked the enemy with", item.name, "for:", str(item.property), "HP." + colors.end) enemy_choice = 1 target = random.randrange(0, 2) enemy_dmg = enemy.damage_generator() players[target].damage_intake(enemy_dmg) print("Enemy attacked you for", enemy_dmg, "points of damage.") print("###################") print( "Enemy Health:", colors.failure + str(enemy.get_hp()) + "/" + str(enemy.get_max_hp()) + colors.end) if enemy.get_hp() == 0: print(colors.okgreen + "You win!" + colors.end) res = False elif player.get_hp() == 0: print(colors.failure + "You died! Enemy won!" + colors.end)
player.heal(item.prop) print(bcolors.OKGREEN + "\n" + item.name + " heals for", str(item.prop), "HP" + bcolors.ENDC) elif item.type == "greatpotion": player.heal(item.prop) print(bcolors.OKGREEN + "\n" + item.name + " heals for", str(item.prop), "HP" + bcolors.ENDC) elif item.type == "bomb": enemy.take_damage(item.prop) print(bcolors.FAIL + "\n" + item.name + " takes damage", str(item.prop), "HP" + bcolors.ENDC) enemy_choice = 1 enemy_dmg = enemy.generate_damage() player.take_damage(enemy_dmg) print("Enemy attacks for ", enemy_dmg, "Player HP ", player.get_hp()) print("-------------------") print("ENEMY HP:", bcolors.FAIL + str(enemy.get_hp()) + "/" + str(enemy.get_max_hp()) + bcolors.ENDC) print("YOUR HP", bcolors.OKGREEN + str(player.get_hp()) + "/" + str(player.get_max_hp()) + bcolors.ENDC) print("YOUR MP", bcolors.OKBLUE + str(player.get_mp()) + "/" + str(player.get_max_mp()) + bcolors.ENDC) if enemy.get_hp() == 0: print(bcolors.OKGREEN + "YOU WIN" + bcolors.ENDC) running = False elif player.get_hp() == 0: print(bcolors.FAIL + "YOU LOSE!" + bcolors.ENDC) running = False
player.choose_item() item_choice = int(input("choose item:")) - 1 if item_choice == -1: continue item = player.items[item_choice] if item.type == "potion": player.heal(item.prop) print( Bcolors.OKGREEN + "\n" + item.name + "you have been healed for:", str(item.prop), "hp" + Bcolors.ENDC) enemy_choice = 1 enemy_dmg = enemy.generate_damage() player.take_damage(enemy_dmg) print("enemy attacks for", enemy_dmg) print("-----------------") print( "enemy hp:", Bcolors.FAIL + str(enemy.get_hp()) + "/" + str(enemy.get_max_hp()) + Bcolors.ENDC + "\n") print("your hp:" + Bcolors.OKGREEN + str(player.get_hp()) + "/" + str(player.get_max_hp()) + "/" + Bcolors.ENDC) print("your mp:" + Bcolors.OKBLUE + str(player.get_mp()) + "/" + str(player.get_max_mp()) + "/" + Bcolors.ENDC + "\n") if enemy.get_hp() == 0: print(Bcolors.OKGREEN + "you win!" + Bcolors.ENDC) running = False elif player.get_hp() == 0: print(Bcolors.FAIL + "your enemy has defeated you!" + Bcolors.ENDC) running = False
"item": elixir, "quantity": 1 }] # enemy inventory enemy_bag = [] # instantiating the players player = Person(100, 100, 40, 30, player_magic, player_bag) enemy = Person(200, 200, 20, 50, enemy_magic, enemy_bag) print(bgcolor.BOLD + "NAME HP MP" + bgcolor.ENDC) print(bgcolor.BOLD + "SAM: " + str(player.get_hp()) + "/" + str(player.get_max_hp()) + bgcolor.ENDC + bgcolor.OKLIGHTGREEN + "|█████████████████████████|" + bgcolor.ENDC + " " + bgcolor.BOLD + str(player.get_mp()) + "/" + str(player.get_max_hp()) + bgcolor.OKBLUE + "|█████|" + bgcolor.ENDC) print(bgcolor.BOLD + "NIKHIL: " + str(player.get_hp()) + "/" + str(player.get_max_hp()) + bgcolor.ENDC + bgcolor.OKLIGHTGREEN + "|█████████████████████████|" + bgcolor.ENDC + " " + bgcolor.BOLD + str(player.get_mp()) + "/" + str(player.get_max_hp()) + bgcolor.OKBLUE + "|█████|" + bgcolor.ENDC) print(bgcolor.BOLD + "SID: " + str(player.get_hp()) + "/" + str(player.get_max_hp()) + bgcolor.ENDC + bgcolor.OKLIGHTGREEN + "|█████████████████████████|" + bgcolor.ENDC + " " + bgcolor.BOLD + str(player.get_mp()) + "/" + str(player.get_max_hp()) + bgcolor.OKBLUE + "|█████|" + bgcolor.ENDC) print(bgcolor.FAIL + bgcolor.BOLD + "AN ENEMY IS ABOUT TO ATTACK" +
player1 = Person("Yubei ", 3260, 132, 300, 34, player_spells, player_items) player2 = Person("Hiridrim ", 4160, 188, 311, 34, player_spells, player_items) player3 = Person("Jaina ", 3089, 174, 288, 34, player_spells, player_items) enemy = Person("BIG BOSS ", 11200, 2210, 525, 25, enemy_spells, enemy_items) enemy2 = Person("Imp ", 1250, 130, 560, 325, enemy_spells, enemy_items) enemy3 = Person("Imp ", 1250, 130, 560, 325, enemy_spells, enemy_items) players = [player1, player2, player3] enemies = [enemy, enemy2, enemy3] running = True print(Bcolors.FAIL + Bcolors.BOLD + enemy.name + " ATTACKS!" + Bcolors.ENDC) print("Enemy HP: ", enemy.get_max_hp()) while running: print("===========================") print("\n") for player in players: player.get_stats() print("\n") for enemy in enemies: enemy.get_enemy_stats() for player in players:
spell=player.magic[magic_choice] magic_heal=spell.generate_heal() current_mp= player.get_mp() if spell.cost > current_mp: print("ALERT!!!! Not enough MP") continue player.reduce_mp(spell.cost) player.take_heal(magic_heal) print(spell.name ,"healed you with", str(magic_heal), " making your HP:", player.get_hp()) ##FOR THE HP BAR### E_HP="" Enemy_hp_per=(enemy.get_hp()/enemy.get_max_hp())*100 Enemy_hp_per_bar=int((Enemy_hp_per/100)*26) for i in range(Enemy_hp_per_bar): E_HP+="█" for i in range(26-Enemy_hp_per_bar): E_HP+=" " P_HP="" Player_hp_per=(player.get_hp()/player.get_max_hp())*100 Player_hp_per_bar=int((Player_hp_per/100)*26) for i in range(Player_hp_per_bar): P_HP+="█" for i in range(26-Player_hp_per_bar): P_HP+=" " P_MP=""
if item.type == "potion": player.heal(item.prop) print(bcolors.OKGREEN + "\n" + item.name + " heals for", str(item.prop), "HP" + bcolors.END) enemy_choice = 1 enemy_dmg = enemy.generate_damage() player.take_damage(enemy_dmg) print("Enemy attacks for", enemy_dmg) print("----------------------------") print( "Enemy HP:", bcolors.FAIL + str(enemy.get_hp()) + "/" + str(enemy.get_max_hp()) + bcolors.END + "\n") print( "Your HP:", bcolors.OKBLUE + str(player.get_hp()) + "/" + str(player.get_max_hp()) + bcolors.END + "\n") print( "Your MP:", bcolors.OKBLUE + str(player.get_mp()) + "/" + str(player.get_max_mp()) + bcolors.END) if enemy.get_hp() == 0: print(bcolors.OKGREEN + "You win!!" + bcolors.END) elif player.get_hp() == 0: print(bcolors.FAIL + "Your enemy has defeated you!" + bcolors.END) running = False