import math


def calculate_player_wins_fight(player, boss):
    """Calculate whether player would win a fight against boss

    Returns True if player wins and False if boss wins.

    Player always attacks first.
    """
    player_total_damage = player.damage - boss.armor
    if player_total_damage <= 0:
        player_total_damage = 1

    boss_total_damage = boss.damage - player.armor
    if boss_total_damage <= 0:
        boss_total_damage = 1

    player_rounds = math.ceil(boss.hit_points / player_total_damage)
    boss_rounds = math.ceil(player.hit_points / boss_total_damage)

    # Player wins if it takes the same number or fewer attacks to
    # deplete the boss's hit points (as the player starts)
    return player_rounds <= boss_rounds